Startseite: „Beliebt" ersetzt durch „nur dynamisch"

Das Abzeichen stammte aus Version 1, als genau ein Typ nutzbar war. Seit alle
15 gebaut sind, stand es an jeder Kachel und sagte damit nichts.

An seiner Stelle steht jetzt nur noch dort etwas, wo es die Wahl beeinflusst:
sechs Typen brauchen zwingend eine Kurz-URL und funktionieren deshalb nicht
ohne diesen Server. Die uebrigen neun Kacheln bleiben unbeschriftet.

Die Badge-Variante hiess "popular" und wird an drei weiteren Stellen als
Hervorhebung benutzt — sie heisst jetzt "accent", weil sie mit Beliebtheit
nichts zu tun hat.

Dazu die Roadmap neu geordnet: Typen je Gruppe, Statistik, Papierkorb, Logo
im Code, Ablaufdatum — in dieser Reihenfolge, jeweils mit dem, was dabei zu
entscheiden ist.
This commit is contained in:
Florian Wilde
2026-08-15 07:39:20 +02:00
parent 7fcdcba694
commit 1064915d37
6 changed files with 106 additions and 50 deletions
+1 -1
View File
@@ -87,7 +87,7 @@ export default async function AccountPage() {
<dt className="text-slate-500">Rolle:</dt>
<dd>
{user.isInstanceAdmin ? (
<Badge tone="popular">Administrator der Installation</Badge>
<Badge tone="accent">Administrator der Installation</Badge>
) : (
<span className="text-slate-900">Benutzer</span>
)}
+9 -4
View File
@@ -67,11 +67,16 @@ export default async function HomePage() {
>
{qrType.title}
</span>
{usable ? (
<Badge tone="popular">Beliebt</Badge>
) : (
{/* Kein Abzeichen „Beliebt“ mehr: Es stand an jedem
nutzbaren Typ und sagte damit nichts. Hier steht nur
noch, was die Wahl beeinflusst — nämlich wenn ein Typ
zwingend eine Kurz-URL braucht und deshalb nicht ohne
diesen Server funktioniert. */}
{!usable ? (
<Badge tone="soon">Bald verfügbar</Badge>
)}
) : !qrType.supportsStatic ? (
<Badge tone="neutral">nur dynamisch</Badge>
) : null}
</span>
<span
className={
+1 -1
View File
@@ -152,7 +152,7 @@ export function DomainAdmin({ baseUrlHostname }: { baseUrlHostname: string }) {
{domain.hostname}
</h2>
{domain.hostname === baseUrlHostname ? (
<Badge tone="popular">aus BASE_URL</Badge>
<Badge tone="accent">aus BASE_URL</Badge>
) : null}
{!domain.isActive ? (
<Badge tone="soon">abgeschaltet</Badge>
+4 -2
View File
@@ -236,12 +236,14 @@ export function Badge({
tone = "neutral",
children,
}: {
tone?: "neutral" | "popular" | "soon" | "success";
tone?: "neutral" | "accent" | "soon" | "success";
children: ReactNode;
}) {
const tones: Record<string, string> = {
neutral: "bg-slate-100 text-slate-600",
popular: "bg-indigo-100 text-indigo-700",
// Hervorhebung — hieß früher "popular", als sie nur für das Abzeichen
// „Beliebt" auf der Startseite gedacht war.
accent: "bg-indigo-100 text-indigo-700",
soon: "bg-slate-100 text-slate-500",
success: "bg-emerald-100 text-emerald-700",
};
+1 -1
View File
@@ -167,7 +167,7 @@ export function UserAdmin({
{user.name?.trim() || user.email}
</span>
{user.isInstanceAdmin ? (
<Badge tone="popular">Administrator</Badge>
<Badge tone="accent">Administrator</Badge>
) : null}
{!user.isActive ? <Badge tone="soon">deaktiviert</Badge> : null}
{user.isLocked ? (