Load tagged-events from plausible.elpatron.me on all pages, allow it in CSP, and track successful save uploads with import status.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pass the viewer id via a body data attribute instead of a blocked inline script so personal links still load saved data after restart.
Co-authored-by: Cursor <cursoragent@cursor.com>
Build public links from host_url netloc behind reverse proxies so generated viewer URLs do not include the internal upstream port.
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>