docs: Rangfolge beim Einbau festhalten — HiveGrid gewinnt
Klarstellung, damit beim Port keine globalen Regeln aus diesem Repo in die Software wandern. Verbindlich ist aus diesem Repo nur das Analytics-Eigene und das Fachliche: Kennzahl-Definitionen, Diagrammregeln, Verhalten — und die Navigationsstruktur als Verabredung (zwei Einträge in der Seitenleiste, Analytics mit innerer Leiste). Nicht verbindlich ist alles Globale: Schrift, Schriftgrößen, Abstände, Farben, Radien, Control-Höhen, App-Shell, Kopfzeile, i18n, Formatierung. Das kommt ausschließlich aus HiveGrid. Dass dieser Prototyp dieselbe Schrift, dieselbe Seitenleisten-Komponente und dieselben Token benutzt, dient allein der Lesbarkeit neben der Software — es ist keine Vorlage, an der sich die Software auszurichten hätte. Weicht ein Wert hier von HiveGrid ab, ist der Wert hier falsch. Ebenso festgehalten, was Gerüst ist und wegfällt: AppShell, unsere Kopie der Seitenleiste, PageHeader, die Kopfzeile, die Routen unter app/ und die Dashboard-Platzhalterseite. Der Nachbau der inneren Leiste wird nicht portiert; in HiveGrid entsteht sie über das dortige SidebarIconsLayout. Vermerkt in ZIELSYSTEM.md (neuer Abschnitt 0 mit Zuständigkeitstabelle), im Kopf von HANDOVER.md und README.md, bei der Struktur in NAVIGATION.md, als Vorbemerkung zu den bewussten Abweichungen in LEITPLANKEN.md — und als Kommentarblock in AppShell.tsx und AnalyticsInnerNav.tsx, weil beim Port oft zuerst der Code gelesen wird. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QPeZNwSeU7qG3RRCwaxEZX
This commit is contained in:
1 parent
9eec855f57
commit
b3d71c1f19
7 files changed
+109
-2
No files matched your search
@@ -20,6 +20,16 @@ import type { SeitenId } from "../../data/filtering";
|
||||
* Tastaturfokus auf Beschriftungen aufklappt — verzögert, damit sie beim
|
||||
* bloßen Überstreichen nicht aufspringt. Unterhalb `sm` tritt an ihre Stelle
|
||||
* eine Reiterleiste; auch das ist aus dem Original übernommen.
|
||||
*
|
||||
* ────────────────────────────────────────────────────────────────────────────
|
||||
* BEIM EINBAU: Dieser Nachbau wird NICHT portiert.
|
||||
*
|
||||
* Verbindlich ist die Verabredung — Analytics bekommt eine innere Leiste mit
|
||||
* den fünf Analyse-Seiten. Gebaut wird sie in HiveGrid mit dem dortigen
|
||||
* `SidebarIconsLayout`, das genau diesen Zweck hat (Leads, Termine, HR,
|
||||
* Einstellungen nutzen es bereits). Diese Datei beschreibt das Ziel, sie ist
|
||||
* nicht das Bauteil. Rangfolge: docs/ZIELSYSTEM.md Abschnitt 0.
|
||||
* ────────────────────────────────────────────────────────────────────────────
|
||||
*/
|
||||
|
||||
const OEFFNEN_MS = 300;
|
||||
|
||||
@@ -23,6 +23,20 @@ import { HEUTE } from "../../utils/dateUtils";
|
||||
* Platzhalterseite, weil es ein eigenes Feature ist und hier nicht gestaltet
|
||||
* wird — aber ein Menüpunkt, der nur einen Hinweis auslöst, lässt offen, ob
|
||||
* etwas fehlt oder etwas kaputt ist.
|
||||
*
|
||||
* ────────────────────────────────────────────────────────────────────────────
|
||||
* BEIM EINBAU: Diese Datei wird NICHT portiert.
|
||||
*
|
||||
* Sie existiert, damit der Prototyp alleine lauffähig ist. In HiveGrid Cloud
|
||||
* übernehmen `SubframeAppShell` und `AppSidebar`. Verbindlich ist aus dieser
|
||||
* Datei allein die **Struktur**: zwei Einträge in der Seitenleiste, Dashboard
|
||||
* und Analytics — mehr nicht, weil alles Übrige dort schon steht.
|
||||
*
|
||||
* Globale Regeln (Schrift, Größen, Abstände, Farben, Control-Höhen) kommen
|
||||
* ausschließlich aus HiveGrid und werden von hier aus nicht überschrieben.
|
||||
* Weicht ein Wert hier von dort ab, ist der Wert hier falsch.
|
||||
* Rangfolge: docs/ZIELSYSTEM.md Abschnitt 0.
|
||||
* ────────────────────────────────────────────────────────────────────────────
|
||||
*/
|
||||
export function AppShell({ children }: { children: React.ReactNode }) {
|
||||
const pathname = usePathname();
|
||||
|
||||
Reference in new issue
Block a user