Web: Anteils-Ringe – Ring bleibt stehen, nur Legende scrollt; Ohne-MHD-Schalter in die Konfig

Bei vielen Kategorien scrollte die ganze Karte (Ring wanderte weg). Jetzt fuellt
die Legende die Hoehe des Ring-Bereichs und scrollt in sich; der Ring bleibt
mittig fixiert.

Ablauf-Anteile: der Ohne-MHD-Schalter sass als Checkbox auf der Karte (localStorage).
Jetzt als boolean-Konfig im Zahnrad-Dialog (Vorgabe an), wie die anderen Optionen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-30 17:47:46 +02:00
parent 9b0771ae0e
commit 2f6c88ce08
2 changed files with 9 additions and 26 deletions

View File

@@ -428,16 +428,10 @@ function KarteBewegungen() {
}
// ---------------------------------------------------------------- Diagramme
function KarteAblaufRing() {
function KarteAblaufRing({ props: karteProps }) {
const { daten, fehler } = useDaten(() => api.dashboardExpirySplit());
// Ob „Ohne MHD" (Gegenstände/undatierte Chargen) mitgezählt wird gemerkt.
const [mitOhneMhd, setMitOhneMhd] = useState(
() => localStorage.getItem("ablauf_mit_ohne_mhd") !== "0",
);
function umschalten(on) {
setMitOhneMhd(on);
localStorage.setItem("ablauf_mit_ohne_mhd", on ? "1" : "0");
}
// Ob „Ohne MHD" (Gegenstände/undatierte Chargen) mitgezählt wird Karten-Einstellung.
const mitOhneMhd = karteProps?.mit_ohne_mhd ?? true;
if (fehler) return <div className="alert error"><Icon name="alert" size={16} />{fehler}</div>;
if (!daten) return <div className="empty">Lädt</div>;
@@ -450,16 +444,7 @@ function KarteAblaufRing() {
if (mitOhneMhd) {
segmente.push({ name: "Ohne MHD", value: daten.no_date, color: tokenFarbe("--muted", "#6b7480") });
}
return (
<div className="ring-mit-schalter">
<label className="check-inline ring-schalter">
<input type="checkbox" checked={mitOhneMhd}
onChange={(e) => umschalten(e.target.checked)} />
<span>Ohne MHD" einbeziehen</span>
</label>
<Donut segmente={segmente} gesamtLabel="Einheiten" />
</div>
);
return <Donut segmente={segmente} gesamtLabel="Einheiten" />;
}
function KarteKategorienRing({ props: karteProps }) {
@@ -685,6 +670,7 @@ export const KARTEN = {
titel: "Ablauf-Anteile", icon: "clock", vorschau: "ring",
beschreibung: "Ring: in Ordnung, bald ablaufend, abgelaufen",
standard: { w: 4, h: 6 }, min: { w: 3, h: 5 },
config: [{ key: "mit_ohne_mhd", type: "boolean", label: "„Ohne MHD“ einbeziehen", default: true }],
komponente: KarteAblaufRing,
},
"category-donut": {