Skip to content

fix(events): surface RSVP Questions as icon button in EventCard footer - #289

Draft
dccakes wants to merge 2 commits into
mainfrom
claude/sharp-feynman-37zyft
Draft

dccakes wants to merge 2 commits into
mainfrom
claude/sharp-feynman-37zyft

Conversation

@dccakes

@dccakes dccakes commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Daily Product Improvement

Summary

Surfaces the "RSVP Questions" action as a dedicated ClipboardList icon button in the EventCard footer, next to "Manage Guests". The 3-dot dropdown now only contains Edit and Delete, so destructive and editing actions are cleanly separated from primary navigation.

Recommendations Reviewed

Area: src/app/(authenicated)/events/_components/event-card.tsx
Issue: "RSVP Questions" is only accessible through a 3-dot dropdown, making it easy to miss for users who need to configure meal choices, dietary restrictions, or guest notes per event.
Recommendation: Surface RSVP Questions as an icon button in the card footer.
Type: UX/UI | Priority: Medium | Effort: Small


Area: src/components/guest-list/guest-search-filter.tsx
Issue: Three filter dropdowns (RSVP, Tag, Country) each use a hand-rolled useState + useOuterClick pattern with absolute-positioned divs instead of the existing Radix Popover component.
Recommendation: Replace with Popover for consistency, accessibility, and reduced duplication.
Type: Frontend cleanup | Priority: Medium | Effort: Medium


Area: src/app/(authenicated)/events/_components/event-card.tsx
Issue: The "RSVPs" badge in the card header only appears when collectRsvp is true — the same state already communicated by the adjacent toggle — creating redundant visual noise.
Recommendation: Remove the badge; the label + toggle already communicate this clearly.
Type: UX/UI | Priority: Low | Effort: Small


Area: src/components/budget/category-card.tsx
Issue: The category delete AlertDialogAction button is disabled while pending but shows no spinner or "Deleting…" text, leaving users uncertain whether their click registered.
Recommendation: Add Loader2 spinner and "Deleting…" text during deleteCategory.isPending.
Type: UX/UI | Priority: Medium | Effort: Small


Area: src/components/guest-list/guest-search-filter.tsx
Issue: A single useEffect carries 5 consecutive // eslint-disable-next-line react-hooks/set-state-in-effect suppression comments to reset filter state when selectedEventId changes.
Recommendation: Unify filter state into a single object so one setState call resets everything, eliminating the suppressions.
Type: Frontend cleanup | Priority: Low | Effort: Medium

Selected Improvement

Surface "RSVP Questions" as a ghost icon button (ClipboardList) in the EventCard card footer, positioned between "Manage Guests" and the 3-dot menu. Remove "RSVP Questions" from the dropdown so it only contains Edit and Delete.

Why This Was Selected

Configuring per-event RSVP questions (meal choices, dietary needs, notes to the couple) is a task users return to repeatedly during setup. Hiding it behind a secondary menu made it easy to miss and required an extra click every time. The fix is contained to a single component, zero-risk to data, and immediately visible to users.

Changes Made

  • Wrapped the dropdown trigger in a flex items-center gap-1 container alongside the new icon button.
  • Added a Button variant='ghost' size='sm' h-8 w-8 p-0 with ClipboardList icon and a descriptive aria-label that includes the event name.
  • Removed the DropdownMenuItem for "RSVP Questions" from the 3-dot menu; the dropdown now contains only Edit and Delete.

Files Changed

  • src/app/(authenicated)/events/_components/event-card.tsx

Verification

  • biome check — no errors
  • tsc --noEmit --skipLibCheck — no errors
  • 2080 unit tests pass

Future Recommendations

Recommendation: Replace hand-rolled filter dropdowns in GuestSearchFilter with Radix Popover
Priority: Medium | Effort: Medium
Reason not included: Touches three separate dropdown implementations; better addressed in a focused refactor PR.
Should become GitHub issue: No (contained to one file, no cross-system coordination needed)


Recommendation: Remove redundant "RSVPs" badge from EventCard header
Priority: Low | Effort: Small
Reason not included: Low impact visual polish; not selected today in favour of the more meaningful discoverability fix.
Should become GitHub issue: No


Recommendation: Add loading indicator to budget category delete dialog
Priority: Medium | Effort: Small
Reason not included: May overlap with open PR #252 which adds loading states to budget expense dialogs.
Should become GitHub issue: No


Recommendation: Unify GuestSearchFilter reset state into one object to remove 5 eslint-disable comments
Priority: Low | Effort: Medium
Reason not included: Architectural refactor; low user impact.
Should become GitHub issue: No

GitHub Issues Created or Proposed

No issues created. All unimplemented recommendations are either low priority, low impact, or narrow enough to be tracked in a future PR rather than a standalone issue.


🤖 Generated with Claude Code

https://claude.ai/code/session_01UzQyNbchv8PVgbH54xzhrz


Generated by Claude Code

Move the RSVP Questions action from the hidden 3-dot dropdown into a
dedicated ClipboardList icon button in the card footer, next to the
Manage Guests button. The dropdown now only contains Edit and Delete,
making destructive and editing actions distinct from primary navigation.

This makes the per-event RSVP question configuration immediately
discoverable without requiring users to open a secondary menu.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UzQyNbchv8PVgbH54xzhrz
@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 10:25am UTC

@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% (36271/43636) 82.14% (3813/4642) 69.49% (1073/1544)

The rsvp-question-other-toggle spec was opening the 3-dot "Event actions"
dropdown and selecting the "RSVP Questions" menu item. After surfacing
RSVP Questions as a direct icon button in the card footer, the menu item
no longer exists in the dropdown.

Update the test to click the new aria-labelled button directly.

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

This branch had an error being deployed

1 failed deployment
Preview — 7d71fa20 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