Admin Dashboard weiter reduziert: Statistik-Karten entfernt, nur noch Header und Benutzerverwaltung

This commit is contained in:
2026-03-16 16:58:56 +01:00
parent 89d6651af2
commit 2f9b12250f

View File

@@ -1,37 +1,7 @@
import { useEffect, useState } from "react";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import { apiGet } from "../lib/api";
import type { DashboardOverview } from "../lib/types";
interface AdminStats {
totalSamples: number;
openSamples: number;
completedToday: number;
nextSampleNumber: number;
}
export default function AdminDashboardPage() { export default function AdminDashboardPage() {
const navigate = useNavigate(); const navigate = useNavigate();
const [stats, setStats] = useState<AdminStats | null>(null);
const [loading, setLoading] = useState(true);
useEffect(() => {
async function loadStats() {
try {
const dashboard = await apiGet<DashboardOverview>("/dashboard");
setStats({
totalSamples: dashboard.nextSampleNumber - 1,
openSamples: dashboard.openSamples,
completedToday: dashboard.completedToday,
nextSampleNumber: dashboard.nextSampleNumber,
});
} finally {
setLoading(false);
}
}
void loadStats();
}, []);
const adminModules = [ const adminModules = [
{ {
@@ -56,28 +26,6 @@ export default function AdminDashboardPage() {
</div> </div>
</section> </section>
{/* Statistik-Karten */}
<section className="metrics-grid admin-metrics">
<article className="metric-card metric-card--primary">
<span className="metric-card__label">Nächste Probennummer</span>
<strong className="metric-card__value--large">
{loading ? "..." : stats?.nextSampleNumber}
</strong>
</article>
<article className="metric-card">
<span className="metric-card__label">Offene Proben</span>
<strong>{loading ? "..." : stats?.openSamples}</strong>
</article>
<article className="metric-card">
<span className="metric-card__label">Heute abgeschlossen</span>
<strong>{loading ? "..." : stats?.completedToday}</strong>
</article>
<article className="metric-card">
<span className="metric-card__label">Gesamtproben</span>
<strong>{loading ? "..." : stats?.totalSamples}</strong>
</article>
</section>
{/* Admin Module Grid */} {/* Admin Module Grid */}
<section className="admin-modules-section"> <section className="admin-modules-section">
<div className="section-card__header"> <div className="section-card__header">