Files
dejanandClaude Opus 5 6a0b36ddcc Geviertstriche aus Text, Kommentaren und Doku entfernen
467 Stellen. Nicht durch einen anderen Strich ersetzt, sondern durch das
Satzzeichen, das an der jeweiligen Stelle richtig ist: Doppelpunkt, wo eine
Erlaeuterung folgt; Komma, wo der Satz weiterlaeuft; Punkt, wo zwei
Hauptsaetze aneinanderstiessen. Ein Halbgeviertstrich waere nur derselbe
Griff mit kuerzerem Strich gewesen.

Regelbasiert ersetzt und danach nachgeprueft, weil eine Regel allein nicht
reicht. Gefunden und einzeln korrigiert:

- Eingeschobene Saetze mit Strichpaar. Nur der oeffnende Strich passte ins
  Muster, der schliessende blieb als "—," stehen. Drei Stellen, jetzt mit
  Klammern oder als eigener Satz.

- Doppelte Doppelpunkte, wo beide Striche eines Paars zu Doppelpunkten wurden
  ("Globale Regeln: Schrift, Groessen, Abstaende: kommen aus HiveGrid").
  Sieben Stellen in Doku und Oberflaeche, jetzt in Klammern.

- Pfade, denen ein Komma statt eines Doppelpunkts folgte.

- Ausgerichtete Kommentartabellen, in denen der Strich eine Spalte war.

Nicht angefasst: drei Geviertstriche, die keine Prosa sind, sondern
Tabellenplatzhalter fuer "kein Wert" (Trichter, Auftraege, Kunden). Dort ist
der Strich die Angabe selbst; ihn zu entfernen liesse leere Zellen zurueck.

tsc, lint, build, verify:carbon und verify:layout laufen sauber.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QPeZNwSeU7qG3RRCwaxEZX
2026-08-31 20:51:19 +02:00

47 lines
1.7 KiB
TypeScript

"use client";
import React from "react";
import { PageHeader } from "./PageHeader";
import { AnalyticsInnerNav } from "./AnalyticsInnerNav";
import { AnalyticsToolbar } from "../filters/AnalyticsToolbar";
import { ANALYSE_SEITEN } from "./navigation";
import type { SeitenId } from "../../data/filtering";
import type { FilterOptionen } from "../../view-models/filter-optionen";
/**
* Rahmen des Analytics-Bereichs.
*
* „Analytics" ist in der Seitenleiste **ein** Menüpunkt. Die fünf Analyse-Seiten
* sind darin über Reiter erreichbar und tauchen nicht als Unterpunkte in der
* Navigation auf, sonst konkurrieren zwei Navigationsebenen um dieselbe Sache.
*
* Die Unter-Navigation ist eine **innere Leiste**, kein Reiterband: Das
* Zielsystem benutzt für Arbeitsbereiche mit Geschwisterseiten durchgängig
* `SidebarIconsLayout` (Leads, Termine, HR, Einstellungen). Reiter sind dort
* für Abschnitte *innerhalb einer Seite* reserviert, und sind zugleich der
* Rückfall der inneren Leiste auf schmalen Fenstern. Begründung ausführlich
* in docs/NAVIGATION.md.
*
* Kopfzeile und Filterleiste liegen hier und nicht in den Seiten: Sie sind für
* alle fünf gleich, und der Filterzustand gilt bereichsweit.
*/
export function AnalyticsShell({
aktiv,
optionen,
children,
}: {
aktiv: SeitenId;
optionen: FilterOptionen;
children: React.ReactNode;
}) {
const seite = ANALYSE_SEITEN.find((s) => s.id === aktiv) ?? ANALYSE_SEITEN[0];
return (
<AnalyticsInnerNav aktiv={aktiv}>
<PageHeader titel={seite.label} beschreibung={seite.beschreibung} />
<AnalyticsToolbar seite={aktiv} optionen={optionen} />
{children}
</AnalyticsInnerNav>
);
}