Extract hardcoded UI strings in the landing hero and header into lib/copy
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- nextjs, typescript
- Domain
- frontend
Research direction
Start with components/landing/hero.tsx, then read lib/copy/dashboard.ts and lib/copy/streams.ts to see how existing copy modules are shaped. Create lib/copy/landing.ts and move each user-visible string over unchanged, including labels, aria-labels, toasts and placeholders. The issue names the header but gives no file for it, so confirm where its strings live before you start. Done means no string literals remain in the component, existing tests pass, and the rendered UI is unchanged.
Written by the indexing model from the issue text.
Description
Description
Most pages now keep user-facing text in lib/copy/* modules, but the landing hero and header still hardcodes its labels, aria-labels, toasts and placeholders inline.
Location
components/landing/hero.tsx. Existing examples: lib/copy/dashboard.ts, lib/copy/streams.ts.
Task
Move every user-visible string into lib/copy/landing.ts and import it in the component. Keep wording identical.
Acceptance criteria
- No user-visible string literals remain in the component
- Existing tests still pass (update string imports in tests if needed)
- UI is unchanged
Good for contributors because
Mechanical refactor following an established pattern.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 144
- Avg merge
- 13h 50m
- Merged PRs (30d)
- 41
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from FlowwStar/FlowStar
-
Add a Storybook section to CONTRIBUTING.mdPossibly taken @ChanakyaG2004 claimed this 1 day ago. Opendocumentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
FlowwStar/FlowStar#995 · 2 comments ·
Maintainers usually reply within 1 day
-
documentation good first issue testing
Difficulty 1/5 1-3 hours Newbie friendliness 80/100
FlowwStar/FlowStar#994 · 2 comments ·
Maintainers usually reply within 1 day
-
Document how Playwright visual baselines are generatedPossibly taken @minutechreview claimed this today. Opendocumentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
FlowwStar/FlowStar#993 · 2 comments ·
Maintainers usually reply within 1 day
-
devops good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
devops documentation good first issue
Difficulty 1/5 Under an hour Newbie friendliness 82/100
FlowwStar/FlowStar#991 · 2 comments ·
Maintainers usually reply within 1 day
All issues in FlowwStar/FlowStar
Similar issues
-
documentation good first issue
Difficulty 2/5 Half a day Newbie friendliness 72/100
sujithputta02/Esapay#13 ·
-
Share dialog: the address book's contact count reads "1 contacts" (no singular form in any language)Possibly taken @chibenwa claimed this today. Openai-driven-qa bug claude Cosmetic
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
linagora/twake-contacts-frontend#271 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Koenkk/zigbee2mqtt#33402 ·
Maintainers usually reply within 1 day
-
dx P2 platform Stellar Wave Wave 10
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
winsznx/routedock#579 · 1 comment ·
Maintainers usually reply within 1 day
-
area:ui effort:S enhancement priority:P2
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day