Refactor root admin dashboards and settings

This commit is contained in:
MOH
2026-03-10 16:43:43 +01:00
parent db6c5392bb
commit 5b51a2a063
26 changed files with 1121 additions and 781 deletions
+18 -29
View File
@@ -1,5 +1,4 @@
import { AppCard } from "@/components/ui/app-card";
import { CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
import { Label } from "@/components/ui/label";
import { Textarea } from "@/components/ui/textarea";
import type { MarqueeSettings } from "@/lib/marquee-settings";
@@ -21,35 +20,25 @@ export function MarqueeSettingsForm({
initialSettings,
}: MarqueeSettingsFormProps) {
return (
<form id="marquee-settings-form" action={action} className="space-y-6">
<AppCard>
<CardHeader>
<CardTitle>Marquee Rows</CardTitle>
<CardDescription>Nur Deutsch bearbeiten. Die Werte werden fuer alle Sprachen uebernommen.</CardDescription>
</CardHeader>
<CardContent>
<div className="space-y-4 rounded-nested border border-border/70 bg-background/70 p-4">
<div>
<h3 className="text-sm font-semibold text-foreground">Deutsch</h3>
<p className="text-xs text-muted-foreground">Vier Marquee Zeilen. Diese Werte gelten fuer alle Sprachen.</p>
</div>
<form id="marquee-settings-form" action={action} className="space-y-5">
<div className="space-y-2">
<h2 className="text-lg font-semibold text-foreground">Marquee Rows</h2>
<p className="text-sm text-muted-foreground">Nur Deutsch bearbeiten. Die Werte werden fuer alle Sprachen uebernommen.</p>
</div>
<div className="space-y-4">
{rowMeta.map((row) => (
<div key={`de-${row.key}`} className="space-y-2">
<Label htmlFor={`${row.key}-de`}>{row.label}</Label>
<Textarea
id={`${row.key}-de`}
name={`${row.key}-de`}
defaultValue={initialSettings.locales.de[row.key]}
className="min-h-[180px] resize-y"
/>
</div>
))}
</div>
</div>
</CardContent>
</AppCard>
<div className="grid gap-4 xl:grid-cols-4">
{rowMeta.map((row) => (
<AppCard key={`de-${row.key}`} level={2} padding="sm" className="space-y-2">
<Label htmlFor={`${row.key}-de`} className="text-sm font-semibold text-foreground">{row.label}</Label>
<Textarea
id={`${row.key}-de`}
name={`${row.key}-de`}
defaultValue={initialSettings.locales.de[row.key]}
className="min-h-[220px] resize-y"
/>
</AppCard>
))}
</div>
</form>
);
}