Commit graph

7 commits

Author SHA1 Message Date
59badcbfe8 feat(01-14): implement More tab with templates, blind editor, wizard, settings, audit
- TemplateManager with LEGO-style building block composition (5 block types)
- BlindStructureEditor with full level fields, mixed game, reorder, add/delete
- StructureWizard generates structures from player count, chips, duration params
- More page with navigable menu to all sub-pages (admin-gated operators section)
- Templates page with DataTable list, create/edit/duplicate/delete actions
- Structures page with DataTable list, wizard integration, and editor
- Settings page with venue config, currency, receipts, theme toggle (Mocha/Latte)
- Audit log page with filterable DataTable, detail panel, and undo capability

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 08:26:12 +01:00
5e18bbe3ed feat(01-11): implement Financials tab with prize pool, bubble prize, and chop/deal
- PrizePoolCard: collapsible breakdown (entries, rebuys, add-ons,
  re-entries, rake, season reserve, net prize pool), guarantee indicator
- TransactionList: DataTable-based with type filter chips, search,
  swipe-to-undo action, row click for receipt view
- BubblePrize: prominent button, amount input pre-filled with buy-in,
  preview redistribution for top positions, confirm flow
- DealFlow: 5 deal types (ICM, chip chop, even chop, custom, partial),
  multi-step wizard (select type > input > review proposal > confirm),
  info message about prize/league independence
- Financials page: assembles prize pool card, payout preview table,
  bubble prize button, deal/chop button, transaction list
- Fixed Svelte template unicode escapes (use HTML entities in templates)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 08:23:27 +01:00
44b555db10 feat(01-12): implement Players tab with buy-in, bust-out, rebuy, add-on flows
- PlayerSearch: typeahead with 200ms debounce, 48px touch targets, recently active when empty
- BuyInFlow: 3-step wizard (search -> auto-seat preview -> confirm) with mini table diagram
- BustOutFlow: minimal-tap flow (table grid -> seat tap -> verify -> hitman select)
- PlayerDetail: full per-player tracking (status, chips, financials, history, undo buttons)
- RebuyFlow: quick 2-tap flow with pre-selected player support
- AddOnFlow: quick flow with mass add-on all option
- Players page: Active/Busted/All tabs, DataTable with search, swipe actions, overlay flows
- Layout: FAB actions wired to actual flows, clock pause/resume via API

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 08:23:09 +01:00
e7da206d32 feat(01-11): implement Overview tab with clock display and activity feed
- ClockDisplay: large countdown timer with MM:SS, break/pause overlays,
  hand-for-hand badge, urgent pulse in final 10s, next level preview,
  chip-up indicator, BB ante support
- BlindInfo: time-to-break countdown, break-ends-in when on break
- ActivityFeed: recent actions with type icons/colors, relative timestamps,
  slide-in animation, view-all link
- Overview page: assembles all components in CONTEXT.md priority order
  (clock > break > players > balance > financials > activity)
- Extended ClockSnapshot type with bb_ante, game_type, hand_for_hand,
  next level info, chip_up_denomination
- Extended FinancialSummary with detailed breakdown fields
- Added Transaction, DealProposal, DealPlayerEntry types
- Added derived properties: bustedPlayers, averageStack, totalChips
- Added transaction WS message handling

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 08:18:46 +01:00
7f91301efa feat(01-13): layout shell with header, tabs, FAB, toast, data table
- Persistent header: clock countdown, level, blinds, player count (red pulse <10s, PAUSED/BREAK badges)
- Bottom tab bar (mobile): Overview, Players, Tables, Financials, More with 48px touch targets
- Desktop sidebar (>=768px): vertical nav replacing bottom tabs
- FAB: expandable quick actions (Bust, Buy In, Rebuy, Add-On, Pause/Resume) with backdrop
- Toast notification system: success/info/warning/error with auto-dismiss and stacking
- DataTable: sortable columns, sticky header, search/filter, mobile swipe actions, skeleton loading
- Multi-tournament tabs: horizontal scrollable selector when 2+ tournaments active
- Loading components: spinner (sm/md/lg), skeleton rows, full-page overlay
- Root layout: auth guard, responsive shell (mobile bottom tabs / desktop sidebar)
- Route pages: overview, players, tables, financials, more with placeholder content

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 04:13:17 +01:00
47e1f19edd feat(01-10): SvelteKit frontend scaffold with Catppuccin theme and clients
- SvelteKit SPA with adapter-static, prerender, SSR disabled
- Catppuccin Mocha/Latte theme CSS with semantic color tokens
- WebSocket client with auto-reconnect and exponential backoff
- HTTP API client with JWT auth and 401 handling
- Auth state store with localStorage persistence (Svelte 5 runes)
- Tournament state store handling all WS message types (Svelte 5 runes)
- PIN login page with numpad, 48px touch targets
- Updated Makefile frontend target for real SvelteKit build

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 03:54:29 +01:00
af13732b2b feat(01-01): initialize Go module, dependency tree, and project scaffold
- Go module at github.com/felt-app/felt with go-libsql pinned to commit hash
- Full directory structure per research recommendations (cmd/leaf, internal/*, frontend/)
- Makefile with build, run, run-dev, test, frontend, all, clean targets
- LibSQL database with WAL mode, foreign keys, and embedded migration runner
- SvelteKit SPA stub served via go:embed
- Package stubs for all internal packages (server, nats, store, auth, clock, etc.)
- go build and go vet pass cleanly

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 03:34:44 +01:00