[Copy] Correct Zero-State Pluralization in Daily Cadence Widget
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 7
- Avg merge
- 39m
- Merged PRs (30d)
- 39
Description
- Labels:
good first issue,ui,difficulty:beginner,area:dashboard - Target File:
src/features/dashboard/components/daily-cadence-widget.tsx - Estimated Time: 5–10 minutes
- Difficulty: Level 1 (Beginner)
Why This Matters
When a user completes all daily tasks, the widget summary text should read grammatically clean copy ("0 tasks remaining today") rather than awkward singular/plural edge cases.
Current Behavior
The cadence widget displays ${count} tasks remaining even when count is 1.
Requested Change
Update the text string to use clean singular/plural formatting:
const taskLabel = count === 1 ? 'task' : 'tasks';
Acceptance Criteria
- Pluralization logic updated in
src/features/dashboard/components/daily-cadence-widget.tsx. - Displays "1 task remaining" when count is 1, and "X tasks remaining" otherwise.
Verification
npm run lint
npx tsc --noEmit
Contributor Notes
Simple 1-line string format adjustment.
🎨 Level 2: Core Refinements (10–15 Minutes) — UI, a11y, JSDoc
Contributor 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.
Research direction
Open src/features/dashboard/components/daily-cadence-widget.tsx and find the cadence summary text. Check the count-based label against the two acceptance cases, then run npm run lint and npx tsc --noEmit. Done means the widget displays “1 task remaining” for one and “X tasks remaining” for other counts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 92/100