Ein Namensfeld für alles, oben rechts

Bisher fragten Vorschlag und Wertung getrennt nach dem Namen — einmal in der
Filmansicht, einmal über der Liste. Jetzt steht er einmal in der
Reiterleiste und gilt für beides. Wer keinen einträgt, bleibt anonym.

Dazu: make stream geht jetzt an den Server und beendet vorher ein laufendes
OBS. Der lokale Weg heißt make stream-local.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013XVnRop5c3or3B8xE2hpgZ
This commit is contained in:
team3
2026-08-31 13:48:40 +02:00
parent 56c3f10026
commit bbd1270fd9
5 changed files with 46 additions and 56 deletions

View File

@@ -224,6 +224,13 @@ const gesehenZahl = computed(
// Wer den Abend leitet, darf drehen und die Runde leeren. Kein Login —
// die Tastenkombination reicht, die Seite steht ohnehin nur Freunden offen.
// Ein Name für alles: Vorschläge und Wertungen. Ohne Namen läuft es
// anonym, das ist ausdrücklich erlaubt.
const NAME_SCHLUESSEL = 'filmabend_name'
const name = ref(localStorage.getItem(NAME_SCHLUESSEL) || '')
watch(name, (wert) => localStorage.setItem(NAME_SCHLUESSEL, wert))
const HOST_SCHLUESSEL = 'filmabend_host'
const host = ref(localStorage.getItem(HOST_SCHLUESSEL) === '1')
@@ -389,6 +396,13 @@ onUnmounted(() => window.removeEventListener('keydown', tastatur))
{{ tab.label }}
<span v-if="tab.count !== null" class="count">{{ tab.count }}</span>
</button>
<input
v-model.trim="name"
type="text"
class="name"
placeholder="Dein Name"
maxlength="40"
/>
<span v-if="host" class="host">Host</span>
</nav>
@@ -405,6 +419,7 @@ onUnmounted(() => window.removeEventListener('keydown', tastatur))
<WatchedTab
v-else-if="activeTab === 'watched'"
:host="host"
:name="name"
@open="selected = $event"
@changed="ladeGesehen"
/>
@@ -466,6 +481,7 @@ onUnmounted(() => window.removeEventListener('keydown', tastatur))
@open="selected = $event"
:mein-vorschlag="meinVorschlag"
:host="host"
:name="name"
:gesehen="gesehen.some((e) => e.movie_id === selected.id)"
@suggested="nachVorschlag"
@watched="ladeGesehen"
@@ -512,9 +528,15 @@ onUnmounted(() => window.removeEventListener('keydown', tastatur))
border-bottom-color: var(--accent);
}
.tabs .name {
width: 11rem;
margin: 0 0 0.35rem auto;
padding: 0.35rem 0.6rem;
font-size: 0.82rem;
}
.host {
align-self: center;
margin-left: auto;
padding: 0.15rem 0.5rem;
color: var(--accent);
font-size: 0.7rem;