✅ Sprint 1 → bold name
✅ Sprint 2 → optional title
✅ Sprint 3 → role tag
✅ Sprint 4 → uppercase badge
😱 Suddenly → 5 props, messy ternaries!
💥 Solution → functional composition:
- joinName → withBold → withTitle → withRole → withShouting
⚙ Tip:
- One concern per function
- Compose, don’t mutate
- Test composables/hooks as micro-modules 👉 Takeaway: composition tames growing UIs, saves your team later! 🙌 Found this useful? Like + follow! https://javascript.plainenglish.io/when-simple-widgets-turn-wild-caring-for-front-end-codebases-in-2025-d1458b1f026f