Mobile: every page earns its phone layout, and --lan serves the network
Verified page by page in a 390px viewport against live data. The rail collapses to a brand line plus one horizontally scrollable nav row (was: two wrapped rows). The Titles table becomes stacked line-cards — title, chips, match, photos, finger-sized actions — with empty cells dropped (the templates now emit them tight so :empty applies); the editor stacks full-width inputs. Queue/library ledgers scroll inside their card and photo lists wrap at commas instead of clipping. The review done-card stats wrap, keyboard hints hide on touch widths, reshoot stencils go horizontal, buttons get touch-sized padding. Also: post-rename copy on the remove button. bggpipe web --lan binds 0.0.0.0 and extends the mutation guard's host allowlist with this machine's names and addresses (never a wildcard — DNS-rebinding arrives under the attacker's hostname, which an allowlist rejects), prints every reachable URL, and warns loudly that the app has no login. Default stays localhost-only. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g
This commit is contained in:
co-authored by
Claude Fable 5
parent
429c519237
commit
2936d21f0a
@@ -90,6 +90,8 @@ Non-secret knobs (`photos_dir`, `data_dir`, the vision model, the rate limit) li
|
||||
uv run bggpipe web # opens http://127.0.0.1:8377/ — the whole app in the browser
|
||||
```
|
||||
|
||||
The app is localhost-only by default. `--lan` also serves it to your local network — handy for proofreading from the couch or snapping shelf photos on your phone and uploading them straight into the Photos page — but mind the trade: there is no login, so anyone on the network can operate the pipeline. Use it on networks you trust (or use a device VPN like Tailscale against the localhost default instead).
|
||||
|
||||
Six pages in one local app: **Pipeline** (run stages, watch live output), **Photos** (drag-and-drop upload, gallery, reshoot tickets), **Review** (keyboard-first match and edition decisions), **Titles** (every read off your shelves, alphabetized — and where you proofread them: fix misreads, add cues, split multi-copy lines, remove non-games), **Queue** (exactly what upload will do, plus its full log), and **Library** (your enriched collection, browsable once real BGG data lands). The real upload sits behind a confirmation and behind the stub-data lock. Prefer the terminal? Every stage is also a command, and the two interfaces share all state:
|
||||
|
||||
```sh
|
||||
|
||||
Reference in New Issue
Block a user