Commit Graph

21 Commits

Author SHA1 Message Date
TopherMayor
3ee4fb7914 fix: keep option cards in stable order 2026-04-30 11:23:49 -07:00
TopherMayor
bdc0a5d8e6 feat: track prices by source 2026-04-30 11:21:06 -07:00
TopherMayor
81c82949f0 feat: add date-matched hotel listings 2026-04-30 11:16:39 -07:00
TopherMayor
c17e97b46f fix: deploy tracked price history 2026-04-30 11:12:03 -07:00
TopherMayor
09982c2d9c fix: alias source-prefixed price history keys 2026-04-30 11:10:21 -07:00
TopherMayor
b7a4386e00 feat: surface automation option details 2026-04-30 11:07:26 -07:00
TopherMayor
899c9cb30b feat: add price history support 2026-04-30 10:52:21 -07:00
TopherMayor
516bcd0a44 feat: support external runtime state for hosting 2026-04-29 22:19:10 -07:00
TopherMayor
8f31b80647 feat: add cabo package planning and price watch assets 2026-04-29 21:29:20 -07:00
Hermes Agent
88ee723981 [cabo-voting-app] Multi-provider map search: Yelp/OSM/All tabs + quick-book aggregators + legend update 2026-04-29 11:05:16 -07:00
47acadc88c Add Yelp Fusion API proxy endpoint for dynamic map search 2026-04-29 15:43:40 +00:00
0d01b83af6 Map: independent category toggles + Yelp dynamic search with dashed markers 2026-04-29 15:43:32 +00:00
e7fa88567a Add unified Map tab with Leaflet, CARTO dark tiles, live vote counts, and venue search 2026-04-29 14:57:04 +00:00
f47dac1e41 Add Cabo map tab with Leaflet integration and lat/lng seed data 2026-04-29 14:56:57 +00:00
39b9277236 [ice] session persistence: skip name modal when voter already stored in localStorage 2026-04-28 21:51:56 -07:00
bc18555432 [#11] WebSocket reconnection with exponential backoff + offline vote queue
- Exponential backoff: 1s → 2s → 4s → … → 30s max
- Full-screen overlay when disconnected (spinner + message)
- Votes cast offline are queued and replayed on reconnect
- Deduplicated queue: same voter+option only queued once
- ✓ Reconnected toast on successful reconnect
2026-04-28 21:43:58 -07:00
a6e07258c6 [#6] Add admin panel at /admin
- Password-protected (cabo2026) admin page
- View/approve/reject pending options
- Delete any option
- Toggle polls open/closed
- Live stats: voters, options, votes, pending count
- Add DELETE /api/options/:id endpoint
- Add option_deleted WebSocket broadcast
2026-04-28 21:42:41 -07:00
6f4167e7ab [#5] Add results leaderboard tab
- 6th tab (🏆 Results) shows ranked results across all categories
- Medal icons 🥇🥈🥉 for top 3 per category
- Percentage bars with category colors
- Accessible without voter name via ?view=results URL
- Shareable link: no modal, shows live results
2026-04-28 21:40:54 -07:00
3a3ff55893 [#1+#7] Mobile-first redesign + accessibility
- Bottom tab bar on mobile (≤640px), top tabs on desktop
- Name modal → bottom sheet on mobile with drag handle
- Larger tap targets (72px cards, 44px touch areas)
- Arrow hint (›) on clickable option cards
- Touch feedback with :active scale animation
- ARIA roles: tablist/tab/tabpanel, aria-selected, aria-live=polite
- Keyboard: Arrow keys navigate tabs, 1-5 number keys switch tabs
- Skip-to-content link for screen readers
- Visible :focus-visible ring
- Desktop body padding reset for bottom tabs
2026-04-28 21:37:46 -07:00
ee1f4d93ce Add README with quick start and roadmap link 2026-04-29 03:56:16 +00:00
6ed5f360ac Initial commit: Cabo Bachelor Party voting app
- Node.js/Express + WebSocket real-time voting
- Hotel, Golf, Nightlife, Excursion, Itinerary categories
- Seed data with 20+ Cabo venues and 3 itineraries
- Gitea issues: #1-16 for UI/UX improvements
2026-04-28 20:55:42 -07:00