"use client"; import React from "react"; import { DATENSATZ } from "../data/seed"; import { wendeFilterAn, wirksameFilter, type SeitenId } from "../data/filtering"; import { useFilter } from "../context/FilterContext"; import type { Datensatz, FilterState } from "../data/types"; /** * Liefert den auf die aktive Filterauswahl zugeschnittenen Datensatz. * * `daten`: gefiltert nach den auf dieser Seite wirksamen Dimensionen * `filter`, die tatsächlich wirksamen Filter (irrelevante sind neutralisiert) * * Der Zeitraum steckt bewusst nur im Filter, nicht im Datensatz: Manche * Kennzahlen sind zeitraumbezogen (Umsatz), andere stichtagsbezogen * (offene Posten). Die Berechnungen entscheiden das jeweils selbst. */ export function useAnalyseDaten(seite: SeitenId): { daten: Datensatz; filter: FilterState; gesamt: Datensatz; } { const { filter } = useFilter(); const wirksam = React.useMemo(() => wirksameFilter(filter, seite), [filter, seite]); const daten = React.useMemo(() => wendeFilterAn(DATENSATZ, wirksam), [wirksam]); return { daten, filter: wirksam, gesamt: DATENSATZ }; }