Admin Dashboard weiter reduziert: Statistik-Karten entfernt, nur noch Header und Benutzerverwaltung
This commit is contained in:
@@ -1,37 +1,7 @@
|
||||
import { useEffect, useState } from "react";
|
||||
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() {
|
||||
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 = [
|
||||
{
|
||||
@@ -56,28 +26,6 @@ export default function AdminDashboardPage() {
|
||||
</div>
|
||||
</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 */}
|
||||
<section className="admin-modules-section">
|
||||
<div className="section-card__header">
|
||||
|
||||
Reference in New Issue
Block a user