Repository navigation
Conversation
…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
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
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 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 |
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
−1is the special value for wedding-day tasks, or that0represents 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
text-muted-foreground text-xshelper paragraph below the number input explaining the field's range and the special−1sentinel value.🧪 Testing
🧪 How to test as a user
🎨 Style and code quality
biome checkon the changed file — no errors.📦 Dependencies
Recommendations Reviewed
Area:
src/components/checklist/task-dialog.tsxIssue: "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.tsxIssue:
ChecklistEmptyStaterenders a raw<a>with hand-coded Tailwind classes whenaction.hrefis 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.tsxIssue: 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
deleteExpenseIdfromcategory.expensesand 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 adddisabled={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
<p className='text-muted-foreground text-xs'>…</p>below the "Months before wedding"<Input>explaining the field range and the−1sentinel.Files Changed
src/components/checklist/task-dialog.tsxVerification
npx biome check src/components/checklist/task-dialog.tsx— no errors.npx tsc --noEmit— only the pre-existingbaseUrldeprecation warning; no new errors.Future Recommendations
Recommendation: Refactor
ChecklistEmptyStatelink 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