A single Go binary with SQLite that serves a public page of the owner's ranked lists (movies, TV, albums, songs, video games, theater) and a login-gated editor. - Lists of 1–65,535 entries (100 recommended), several per category - Search-to-add via TMDB, TheTVDB, IGDB, Deezer/MusicBrainz, Wikipedia; manual entry as a fallback - Theater entries carry a production (Broadway, tour, …), venue and cast - Artwork cached locally; URL override and uploads - Drag, arrow and type-a-rank reordering; paginated for long lists - 12 theme presets plus custom CSS - First-run setup code or env-provided admin; bcrypt, rate-limited login, CSRF-guarded JSON API - Dockerfile and docker-compose.yml Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
888 B
HTML
25 lines
888 B
HTML
{{define "bodyclass"}}page-admin{{end}}
|
|
{{define "content"}}
|
|
<div class="container admin">
|
|
<header class="admin-head">
|
|
<div>
|
|
<h1>Settings</h1>
|
|
<p class="muted">Changes apply to your public page right away.</p>
|
|
</div>
|
|
</header>
|
|
<div class="settings">
|
|
<nav class="settings-nav" aria-label="Settings sections">
|
|
<a href="#profile">{{icon "user"}}Profile</a>
|
|
<a href="#appearance">{{icon "palette"}}Appearance</a>
|
|
<a href="#integrations">{{icon "plug"}}Integrations</a>
|
|
<a href="#account">{{icon "lock"}}Account</a>
|
|
</nav>
|
|
<div class="settings-body" id="settings" aria-busy="true">
|
|
<p class="muted">Loading…</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="application/json" id="boot">{{.Data.Boot}}</script>
|
|
{{end}}
|
|
{{define "scripts"}}<script type="module" src="/static/js/admin-settings.js?v={{.AssetVer}}"></script>{{end}}
|