refactor: Wortwahl im Einladungsdialog und am Logo-Knopf

"Höchstens einlösbar" war kein Satz und kein Begriff, sondern beides
halb. Aus den Feldern wird "Gültigkeit in Tagen" und "Anzahl der
Einlösungen", aus den Hinweisen darunter ganze Saetze statt
Gleichungen ("0 = beliebig oft").

Auch der Hinweis an jedem Link liest sich jetzt wie Sprache: "unbegrenzt
gueltig" statt "ohne Ablauf", "noch nicht eingeloest" statt "0x
genutzt".

Und der Knopf "Logo" sagt jetzt, was er tut.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P32KoesVtABd6xWsqMKzhr
This commit is contained in:
Daniel Michelberger 2026-09-07 22:41:40 +02:00
parent ea4e0bd80a
commit ed3d261a2d

View file

@ -338,10 +338,14 @@
if (!invites.isValid(invite)) parts.push('abgelaufen')
else if (invite.expires) {
parts.push(`gültig bis ${new Date(invite.expires).toLocaleDateString('de-DE')}`)
} else parts.push('ohne Ablauf')
} else parts.push('unbegrenzt gültig')
const max = invite.max_uses ?? 0
parts.push(max > 0 ? `${invite.uses ?? 0} von ${max} genutzt` : `${invite.uses ?? 0}× genutzt`)
const used = invite.uses ?? 0
if (max > 0) parts.push(`${used} von ${max} Einlösungen`)
else if (used === 0) parts.push('noch nicht eingelöst')
else if (used === 1) parts.push('einmal eingelöst')
else parts.push(`${used}-mal eingelöst`)
return parts.join(' · ')
}
@ -449,7 +453,7 @@
</Button>
<Button variant="outline" size="sm" onclick={() => openLogo(team)}>
<Image class="size-4 mr-1" />
Logo
Logo festlegen
</Button>
<Button variant="outline" size="sm" onclick={() => (inviteDialog = true)}>
<Link2 class="size-4 mr-1" />
@ -866,14 +870,16 @@
{/if}
<div class="space-y-2">
<Label for="i-days">Gültig für (Tage)</Label>
<Label for="i-days">Gültigkeit in Tagen</Label>
<Input id="i-days" type="number" min="0" bind:value={inviteForm.days} />
<p class="text-xs text-muted-foreground">0 = läuft nicht ab.</p>
<p class="text-xs text-muted-foreground">Bei 0 läuft der Link nicht ab.</p>
</div>
<div class="space-y-2">
<Label for="i-max">Höchstens einlösbar</Label>
<Label for="i-max">Anzahl der Einlösungen</Label>
<Input id="i-max" type="number" min="0" bind:value={inviteForm.maxUses} />
<p class="text-xs text-muted-foreground">0 = beliebig oft.</p>
<p class="text-xs text-muted-foreground">
Bei 0 lässt er sich beliebig oft einlösen.
</p>
</div>
{#if inviteError}