"use client"; import React from "react"; import { FeatherAlertTriangle, FeatherInbox } from "@subframe/core"; import { STATUS_FARBEN } from "../../utils/chartTheme"; import { PageContainer } from "./PageContainer"; import type { VMState } from "../../view-models"; /** * Nicht-fertige Zustände einer Seite: idle · loading · empty · error. * * Der Prototyp lief bisher nur im Zustand „Daten da". Die Cloud verlangt alle * fünf (`VMState`), und die Zustände sind dort Pflicht in der Definition of * Done. Sie hier zu haben kostet wenig und erspart beim Einbau, sie nachträglich * in jede Seite einzuweben. * * Gestaltung bewusst zurückhaltend: Das sind Übergänge, keine Inhalte. */ export function SeitenZustand({ vm }: { vm: VMState }) { if (vm.status === "ready") return null; return (
{vm.status === "loading" || vm.status === "idle" ? ( <> Kennzahlen werden berechnet … {/* Skelett statt Sprung: die Karten stehen später an derselben Stelle. */}
{[0, 1, 2, 3].map((i) => ( ))}
) : vm.status === "empty" ? ( <> Keine Daten für diese Auswahl Die gesetzten Filter schneiden alles weg. Zeitraum erweitern oder einzelne Einschränkungen in der Filterleiste entfernen. ) : ( <> Kennzahlen konnten nicht geladen werden {vm.error?.messageKey ?? "Unbekannter Fehler"} )}
); }