Commit Graph

87 Commits

Author SHA1 Message Date
5ad9c9db07 Multiple admins
Adds Player.is_admin (creator starts with it; backfilled by migration).
Admin-key-authenticated POST /admin/set-admin grants/revokes it from the
admin panel; the creator's privileges can't be revoked. Admin-gated
backend routes (dev mode, skip character creation) and frontend controls
(corner menu, lobby start, scene start, end story) now check is_admin
instead of is_creator, and admins get the admin_key in their state blob
so granted players can open the admin panel.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 16:03:14 -07:00
e24e6d3b46 Add rules button to join page 2026-06-12 12:18:41 -07:00
3395b127b4 Dev mode revamp 2026-06-12 11:50:34 -07:00
f61201144f Dead Pi-Rat reroll rework 2026-06-12 11:32:15 -07:00
df7a0cc83f Add Discord link to rules 2026-06-12 10:03:16 -07:00
4e262a5345 Update TODOs 2026-06-12 09:58:54 -07:00
5f647d1940 Commit .claude/launch.json, gitignore local Claude settings
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 07:17:25 -07:00
96eeb442fd Database migrations 2026-06-12 07:14:50 -07:00
0535c68647 Fix flake with new hash 2026-06-12 07:01:55 -07:00
0744893e7b Re-theme the app: token-based CSS and a full face lift
CSS refactor: every color, font, radius, and shadow is now defined once
in theme.css; all other styles derive translucent variants with
color-mix(), so re-theming means editing one file. Removed the
duplicate core.css/style.css import chains, dead styles, and the
Bootstrap/Tailwind orphan classes that were silently unstyled
(the main reason the splash page looked broken).

New "Lantern & Brine" look: brass and parchment on a lantern-lit
ink-navy night, Pirata One wordmark with Alegreya SC/Sans body fonts
(self-hosted via fontsource — they were previously referenced but
never loaded), parchment-faced playing cards, and a rebuilt splash
page. Inline color styles in components were replaced with semantic
classes (prompt-box, notice-banner, status chips, etc.), the rulebook's
embedded palette was updated to match, and the leftover Vite favicon
and "frontend" page title were replaced.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 06:50:00 -07:00
ba6bf35579 Websockets instead of polling 2026-06-12 06:19:22 -07:00
b72aea9747 Combine Rules and Admin corner links into one upper-right menu
Replace the fixed Rules link (upper-left) and the creator-only Admin
link (upper-right) with a single collapsible ☰ Menu in the upper right,
leaving the event log alone in its corner. CornerMenu always lists the
Rules link; pages can contribute context-specific entries through the
extraMenuLinks store, which Dashboard uses for the creator-only Admin
link. This gives future misc sub-pages a home without eating more
screen corners.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 01:47:56 -07:00
4fcd2b693c Make the rulebook's obstacle reference section collapsible
The Obstacle List & Type Charts section is long reference material the
app already implements, so wrap it in a <details> element. A small
script expands it when the TOC link or a deep link targets #obstacles.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 01:42:15 -07:00
683c60fff9 Serve the rulebook as a static HTML page from FastAPI
Replace the SPA Rules route with a self-contained src/pirats/rules.html
served at GET /rules (registered before the SPA mount, included in
package data for the Nix build). Plain anchor links replace the
scrollIntoView workaround since there's no hash router to fight. The
corner Rules link and splash-page link now point at /rules, and the
Vite dev server proxies /rules to the backend like /api.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 01:35:04 -07:00
69e7d24e10 Add HTML rulebook page with always-available Rules link
New /#/rules route renders the full rulebook transcribed from
"Rats with Gats beta.pdf" (intro, character creation, gameplay,
obstacle charts, challenge resolution, example of play, and setting
info), with an in-page table of contents. A fixed corner link in
App.svelte opens it in a new tab from every page, and the splash
page's previously broken /rules link now points at the new route.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 01:30:00 -07:00
ed7900656d Replace copy-link alert() with inline button feedback
The lobby Copy buttons now flip to a transient "✓ Copied" label instead
of popping a modal alert, matching the admin page's copy buttons.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 01:18:48 -07:00
bc867c95a1 Add player re-join links to admin page
Each player row now has Open/Copy actions for their dashboard link, so
the creator can recover access for players who lose their URL.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 01:17:30 -07:00
3a00774b50 Fable will fix it! Pt 3 2026-06-12 01:13:11 -07:00
6dcb2a9ae9 Commit todo file 2026-06-11 22:46:28 -07:00
a074ff77b1 Fable will fix it! Pt 2 2026-06-11 21:32:00 -07:00
a7cab7bcb6 Better technique suggestions 2026-06-11 15:59:52 -07:00
443acd8400 Fable will fix it! 2026-06-11 15:57:08 -07:00
2af98a3eeb Add rulebook/docs 2026-06-11 14:40:33 -07:00
58a7e4d4f1 Switch to Svelte 2026-06-11 14:39:41 -07:00
29860061c4 Add event log 2026-06-11 10:20:14 -07:00
1b8452bf56 Add AGENTS file 2026-06-10 15:57:22 -07:00
d7f8483a41 Objectives & Milestones Update 2026-06-10 15:56:32 -07:00
2ddcb86cc0 Refactor for smaller context 2026-06-10 15:29:03 -07:00
2d57973cd8 Fixes and updates 2026-06-09 23:29:05 -07:00
41731459a7 More responsive drag and drop for card plays 2026-06-09 19:45:59 -07:00
e312d8efc1 Add httpx dependency 2026-06-09 19:15:20 -07:00
8650ebe5b2 Bug fixes 2026-06-09 19:12:19 -07:00
274ae3fb07 Remove flake-utils dependency 2026-06-09 16:41:23 -07:00
a5d8ba6709 Fix bug in test 2026-06-09 16:22:40 -07:00
66777ab1bc Add gitignore 2026-06-09 16:22:32 -07:00
af9133258c Add README 2026-06-09 16:21:48 -07:00
82ece0de10 Initial checkin 2026-06-09 16:06:44 -07:00