UI/UX-Prototyp der Analytics-Dashboards in HiveGrid, fachlich auf einen SHK-/Handwerksbetrieb zugeschnitten. Ziel ist die Übergabe an die Entwicklung, nicht der Produktivbetrieb. Inhalt: sechs Seiten (Übersicht, Finanzen, Aufträge, Kunden, Team, Komponenten), 26 KPIs, neun Chart-Bausteine, Filtersystem mit seitenabhängiger Relevanz und ein deterministischer Demo-Datensatz (420 Kunden, 1.900 Aufträge, Stichtag 30.07.2026). Drei Quellen sind zusammengeführt: die fachliche Planung mit dem Branchenpartner (Januar 2026), die Subframe-Komponentenbibliothek aus dem HiveGrid-Pitch und IBM Carbon Data Visualization für die Diagrammregeln. Herkunft und bewusste Abweichungen stehen in docs/HERKUNFT.md. Dokumentation: README, HANDOVER (was echte Logik braucht), docs/DESIGN-SYSTEM, KPI-KATALOG, DATENMODELL, NAVIGATION, HERKUNFT, ZIELSYSTEM (Einbauort in HiveGrid Cloud) und LEITPLANKEN (welche Cloud-Screens als Vorbild taugen). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QPeZNwSeU7qG3RRCwaxEZX
76 lines
1.9 KiB
TypeScript
76 lines
1.9 KiB
TypeScript
import type { SeitenId } from "../../data/filtering";
|
|
|
|
export interface NavEintrag {
|
|
id: SeitenId | "komponenten";
|
|
href: string;
|
|
label: string;
|
|
/** Icon-Name aus @subframe/core (Feather-Set). */
|
|
icon: string;
|
|
beschreibung: string;
|
|
}
|
|
|
|
/**
|
|
* Navigationsstruktur.
|
|
*
|
|
* Vier Analyse-Seiten kommen direkt aus REQUIREMENTS-analytics.md
|
|
* (Übersicht, Finanzen, Aufträge, Kunden). "Team" war dort als v2 markiert,
|
|
* ist hier aber enthalten, weil Auslastung im Handwerk die Kennzahl ist,
|
|
* nach der Betriebe steuern. "Komponenten" ist reine Entwickler-Doku.
|
|
*/
|
|
export const NAV_GRUPPEN: { titel: string; eintraege: NavEintrag[] }[] = [
|
|
{
|
|
titel: "Analyse",
|
|
eintraege: [
|
|
{
|
|
id: "uebersicht",
|
|
href: "/",
|
|
label: "Übersicht",
|
|
icon: "LayoutDashboard",
|
|
beschreibung: "Alle Kernkennzahlen auf einen Blick",
|
|
},
|
|
{
|
|
id: "finanzen",
|
|
href: "/finanzen",
|
|
label: "Finanzen",
|
|
icon: "Euro",
|
|
beschreibung: "Umsatz, Rechnungen, Zahlungseingang",
|
|
},
|
|
{
|
|
id: "auftraege",
|
|
href: "/auftraege",
|
|
label: "Aufträge",
|
|
icon: "ClipboardList",
|
|
beschreibung: "Pipeline, Status, Termine",
|
|
},
|
|
{
|
|
id: "kunden",
|
|
href: "/kunden",
|
|
label: "Kunden",
|
|
icon: "Users",
|
|
beschreibung: "Akquise, Quellen, Bestand",
|
|
},
|
|
{
|
|
id: "team",
|
|
href: "/team",
|
|
label: "Team",
|
|
icon: "HardHat",
|
|
beschreibung: "Auslastung und Produktivität der Monteure",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
titel: "Entwicklung",
|
|
eintraege: [
|
|
{
|
|
id: "komponenten",
|
|
href: "/komponenten",
|
|
label: "Komponenten",
|
|
icon: "Component",
|
|
beschreibung: "Bausteine, Regeln und Übergabehinweise",
|
|
},
|
|
],
|
|
},
|
|
];
|
|
|
|
export const ALLE_SEITEN = NAV_GRUPPEN.flatMap((g) => g.eintraege);
|