Skip to content

feat(ui): demo-polish round — leave/delete, event dates, vibe presets, micro-interactions#19

Merged
saisri27 merged 2 commits into
mainfrom
sai
May 20, 2026
Merged

feat(ui): demo-polish round — leave/delete, event dates, vibe presets, micro-interactions#19
saisri27 merged 2 commits into
mainfrom
sai

Conversation

@saisri27

Copy link
Copy Markdown
Owner

Brings main in sync with the live UI. 7 files, +775/-71. Adds leave/delete group endpoints, event_date on groups (with applied Supabase migration), vibe presets, camera toggle, group avatars, confetti, haptic feedback, toasts, coin shower, warmer empty states.

saisri27 and others added 2 commits May 20, 2026 14:41
…presets, micro-interactions

Backend:
- /groups/{id}/leave  — removes the calling user from group_members
- /groups/{id}/delete — creator-only hard delete (CASCADE clears members + votes);
  returns 403 for non-creators, 404 if group missing
- Groups now carry an optional event_date column (DATE, nullable);
  ALTER TABLE applied to live Supabase; CREATE_TABLES_SQL updated for new envs

UI features:
- "When's the hangout?" date picker on Create Group; date chip on Plans cards
- 4 vibe presets on Set Prefs (Date / Brunch / Solo / Night) — one tap fills
  categories + budget + distance + sample vibe text
- Front/back camera toggle on Memories
- Generated group avatars on Plans cards (hash → consistent brand color +
  2-letter initials); replaces old member-dot strip
- Always-visible card action button: 🗑 (Delete) for creators,
  ↗ (Leave) for joined members
- Warmer empty-state copy (Plans + Memories)
- Viewport: dvh + safe-area-inset for iOS Safari address-bar issue

Micro-interactions (all best-effort, silently no-op where unsupported):
- Confetti burst on "We went →" (mounted at app root so it survives the
  screen transition); also fires haptic + toast
- Count-up animation on venue/event tab labels (RAF, ease-out cubic)
- Haptic feedback on Yay (double-pulse) and Nahh (short tap)
- Toast notifications (global plotToast event, mounted ToastHost at root) —
  wired into create / leave / delete / photo-saved flows
- Gold "coin shower" on BudgetChip taps — lightweight CSS radial-gradient
  circles, GPU-composited via translate3d + will-change

All four interactive hosts (ToastHost, ConfettiHost, CoinShowerHost,
Count) live in components.jsx and mount once at app root via window
custom events; any code anywhere can fire them without React context.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Caught by GitHub Actions lint job on the previous commit. Auto-formatted
by ruff; no logic changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@saisri27 saisri27 merged commit d6f5cde into main May 20, 2026
4 checks passed
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