Conversation
When users allocate more across budget sections than their target, the overview now shows a contextual warning below the stat tiles. Previously the discrepancy was only visible as a faint hint under the Target Budget tile, which was easy to miss. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5TV64uuKMoVyqDR4C6Yps
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5TV64uuKMoVyqDR4C6Yps
Contributor
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Daily Product Improvement
📝 TLDR
Add a contextual warning banner in the Budget Overview when the sum of section budgets exceeds the overall target budget.
📝 Description
When users set a target budget and then allocate section budgets (venue, catering, etc.) that cumulatively exceed that target, the app previously showed no warning. The only indication was a faint hint line under the "Target Budget" stat tile reading "Planned across sections: $X" — easy to miss, and carrying no visual urgency.
This means a couple could believe they are planning within budget while their sections already commit them to overspending, discovering the problem only after actual spend is recorded.
This Change
overPlannedwhentotalPlanned > targetTotaland a target exists🧪 Testing
totalPlanned ≤ targetTotal🧪 How to test as a user
📚 Documentation
N/A — UI-only change, no API or data model changes.
📦 Dependencies
None.
Recommendations Reviewed
Area:
src/components/budget/budget-summary.tsxIssue: When planned section totals exceed the target, no visible warning is shown — only a faint hint text
Recommendation: Add contextual warning banner below stat tiles ✅ Selected
Type: UX/UI
Priority: High
Effort: Small
Area:
src/components/guest-list/guest-search-filter.tsxIssue: Three nearly-identical custom dropdown implementations (RSVP, Tag, Country) each manage open/close state, outer-click refs, and positioning manually instead of using the existing
DropdownMenuUI componentRecommendation: Refactor Tag and Country filter dropdowns to use
DropdownMenuType: Frontend cleanup
Priority: Medium
Effort: Medium
Area:
src/components/vendor/vendor-card.tsxIssue: Ratings breakdown panel uses a
hidden/blockclass toggle — no keyboard support, no focus trap, no escape-to-close, can clip off-screenRecommendation: Replace with
Popovercomponent from the UI libraryType: UX/UI + Frontend cleanup
Priority: Medium
Effort: Small
Area:
src/components/guest-list/guest-search-filter.tsxIssue:
useEffectthat resets filters onselectedEventIdchange contains fiveeslint-disable-next-line react/hooks/set-state-in-effectsuppressions — fragile pattern that can cause stale resetsRecommendation: Use a
keyprop to remount the component on event change, or lift filter state to a URL paramType: Frontend cleanup
Priority: Low
Effort: Medium
Selected Improvement
Added a
overPlannedcomputed value and a destructive-toned banner inBudgetSummarythat renders when section budgets collectively exceed the target.Why This Was Selected
Changes Made
const overPlanned = targetTotal > 0 && totalPlanned > targetTotalderived valueoverPlannedis trueFiles Changed
src/components/budget/budget-summary.tsxVerification
npm run typecheck— no new errorsFuture Recommendations
Recommendation: Refactor guest filter dropdowns to use
DropdownMenuUI componentPriority: Medium
Effort: Medium
Reason not included: Functional change covering 3 dropdowns; higher risk and scope than today's targeted run
Should become GitHub issue: No — can be picked up in a future daily run
Recommendation: Replace vendor card ratings panel toggle with
PopovercomponentPriority: Medium
Effort: Small
Reason not included: Separate area, separate PR; today's run focused on budget
Should become GitHub issue: No — small enough to pick up in a future daily run
Recommendation: Remove
eslint-disablesuppressions in guest filteruseEffectvia key-reset or URL statePriority: Low
Effort: Medium
Reason not included: Requires understanding of filter state lifecycle; not trivially safe
Should become GitHub issue: No — low priority
GitHub Issues Created or Proposed
None created. All unimplemented recommendations are small enough to track in future daily runs without separate issue overhead.
🤖 Generated with Claude Code
https://claude.ai/code/session_01M5TV64uuKMoVyqDR4C6Yps
Generated by Claude Code