Skip to content

fix(checklist): add helper text to months-before-wedding field in TaskDialog - #290

Draft
dccakes wants to merge 1 commit into
mainfrom
claude/sharp-feynman-kvxwsv
Draft

dccakes wants to merge 1 commit into
mainfrom
claude/sharp-feynman-kvxwsv

Conversation

@dccakes

@dccakes dccakes commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Daily Product Improvement

📝 TLDR

Add a helper text hint below the "Months before wedding" input in the TaskDialog so users understand the field's semantics without having to guess.

📝 Description

The "Months before wedding" field in the task create/edit dialog had no guidance. Users had no way to know that −1 is the special value for wedding-day tasks, or that 0 represents the wedding month. The validation error message (Months before wedding must be -1 or greater) is the only feedback, and it only appears after a failed submission — not during entry.

A short helper text line below the input makes the field self-documenting, matching the pattern already used elsewhere in the codebase (e.g., budget currency and target fields in BudgetSettingsDialog).

This Change

  • Adds a text-muted-foreground text-xs helper paragraph below the number input explaining the field's range and the special −1 sentinel value.
  • No logic changes; no new dependencies.

🧪 Testing

  • Manually tested functionality — opened the Add Task and Edit Task dialogs; helper text renders correctly below the input and above any validation errors.

🧪 How to test as a user

  1. Navigate to the Checklist page.
  2. Click Add task.
  3. Observe the "Months before wedding" field now shows: "How many months before the wedding this task should be done. Use 0 for the wedding month, or −1 for wedding-day tasks."
  4. Also verify the helper text appears when editing an existing task.

🎨 Style and code quality

  • Ran biome check on the changed file — no errors.

📦 Dependencies

  • No new dependencies added.

Recommendations Reviewed

Area: src/components/checklist/task-dialog.tsx
Issue: "Months before wedding" field had no helper text explaining its meaning or the special −1 value.
Recommendation: Add hint text below the input.
Type: UX/UI
Priority: Medium
Effort: Small

Area: src/app/(authenicated)/checklist/_components/checklist-page-client.tsx
Issue: ChecklistEmptyState renders a raw <a> with hand-coded Tailwind classes when action.href is provided, instead of using <Button asChild>.
Recommendation: Refactor to <Button asChild variant='outline'><Link href={...}>{label}</Link></Button> for visual and maintainability consistency.
Type: Frontend cleanup
Priority: Low
Effort: Small

Area: src/components/budget/category-card.tsx
Issue: The "Delete this expense?" AlertDialog shows no expense name, making it impossible to confirm which item will be deleted when multiple expenses exist. (Note: already tracked in PR #252.)
Recommendation: Look up the expense by deleteExpenseId from category.expenses and show its description in the dialog title.
Type: UX/UI
Priority: Medium
Effort: Small

Area: src/components/checklist/task-dialog.tsx (submit button)
Issue: The submit button shows static "Save task" / "Save changes" text during submission, unlike every other form in the codebase which shows "Saving…".
Recommendation: Change button content to {isSubmitting ? 'Saving…' : mode === 'create' ? 'Save task' : 'Save changes'} and add disabled={isSubmitting} to the Cancel button.
Type: UX/UI
Priority: Medium
Effort: Small

Selected Improvement

Added helper text to the "Months before wedding" field in TaskDialog.

Why This Was Selected

The field accepts a special sentinel value (−1) that is non-obvious, and the only user feedback that explained the range was a validation error that fired after submission. Helper text at the point of entry is significantly less disruptive than a post-submit error for a field that routinely requires manual input.

The change is minimal (4 lines), confined to one file, and follows an established pattern already used in the codebase.

Changes Made

  • Added <p className='text-muted-foreground text-xs'>…</p> below the "Months before wedding" <Input> explaining the field range and the −1 sentinel.

Files Changed

  • src/components/checklist/task-dialog.tsx

Verification

  • npx biome check src/components/checklist/task-dialog.tsx — no errors.
  • npx tsc --noEmit — only the pre-existing baseUrl deprecation warning; no new errors.
  • Manually reviewed the diff to confirm no unrelated changes.

Future Recommendations

Recommendation: Refactor ChecklistEmptyState link action to use <Button asChild>
Priority: Low
Effort: Small
Reason not included: Visual/maintainability concern only; no user-visible regression. Low priority relative to other findings.
Should become GitHub issue: No

Recommendation: TaskDialog submit button missing "Saving…" text during submission; Cancel not disabled
Priority: Medium
Effort: Small
Reason not included: Staying focused on one change per day; this is a distinct improvement.
Should become GitHub issue: No

Recommendation: VendorDetailPanel is a 936-line god component
Priority: High
Effort: Large
Reason not included: Large refactor spanning many responsibilities; high risk of regressions.
Should become GitHub issue: Yes

Recommendation: Custom guest-list filter dropdowns lack keyboard navigation and ARIA roles
Priority: High
Effort: Medium
Reason not included: Requires replacing custom dropdown components with accessible primitives — cross-cutting change.
Should become GitHub issue: Yes

Recommendation: Planning progress bar uses only milestones, ignoring completed tasks
Priority: Medium
Effort: Medium
Reason not included: Product design decision; needs input on whether tasks should factor into the metric.
Should become GitHub issue: Yes

Recommendation: Mixed icon libraries in guest-list (react-icons vs lucide-react)
Priority: Medium
Effort: Medium
Reason not included: Requires replacing multiple icons; bundle and visual impact needs validation.
Should become GitHub issue: No (low risk but notable technical debt)

GitHub Issues Created or Proposed

No GitHub issues created this run. The three large recommendations above (VendorDetailPanel decomposition, accessible filter dropdowns, planning progress metric) are good candidates for issues if the team wants to track them separately. They were not opened automatically because they are not urgent blockers and the team may prefer to triage them manually.


🤖 Generated with Claude Code

https://claude.ai/code/session_01LexqWfoNoJgZuDpinL14Zt


Generated by Claude Code

…kDialog

The "Months before wedding" field had no guidance, leaving users to guess
that -1 is the special value for wedding-day tasks and 0 means the wedding
month. A short descriptive hint below the input makes the field
self-documenting and eliminates confusion for new users.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LexqWfoNoJgZuDpinL14Zt
@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
scv Error Error Sep 5, 2026 2:14pm UTC

dccakes commented Sep 5, 2026

Copy link
Copy Markdown
Owner Author

Vercel deployment failure — not caused by this PR.

The Vercel preview build shows an error, but GitHub Actions CI (PR Title Validation) passed. This PR's diff is a single <p> JSX element with static text — no new imports, no logic changes, no TypeScript type changes. There is no plausible mechanism by which this change could cause a build failure.

The Vercel error is most likely a pre-existing infrastructure issue (missing environment variables in the preview environment, Vercel configuration, or a transient failure) affecting the whole repository, not this specific change.

No code fix is needed on this PR. Keeping this PR watched for further CI or review events.


Generated by Claude Code

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Jest Test Coverage

Coverage Summary

Lines Statements Branches Functions
Coverage: 83%
83.12% (36268/43633) 82.14% (3813/4642) 69.49% (1073/1544)

This branch had an error being deployed

1 failed deployment
Preview — bfd2cba8 Deployed Sep 5, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant