Pairs export with validated .db restore, documents the difference from game
save imports, and renames the JSON upload button to Import game backup.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keeps the README aligned with the new viewer features so setup and API
usage stay discoverable without reading the source.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the fixed /v/local/ default with a reused secret viewer id so local runs get a bookmarkable personal URL like production.
Co-authored-by: Cursor <cursoragent@cursor.com>
Map the container to the host so NPM can reach http://<host>:5000 and document the docker-network alternative in the README.
Co-authored-by: Cursor <cursoragent@cursor.com>
Read get_data_dir from the environment on each request so CLI and server always use the same viewer database path.
Co-authored-by: Cursor <cursoragent@cursor.com>
Each player gets an isolated SQLite viewer via a unique URL without login, with landing page warnings to save the link and compose-based hosting for sharing with others.
Co-authored-by: Cursor <cursoragent@cursor.com>
Prepare the UI for English (default/fallback) and German with auto or manual locale selection, and report import issues with client-translated warnings instead of failing on minor save format changes.
Co-authored-by: Cursor <cursoragent@cursor.com>