diff --git a/frontend/src/pages/customers/CustomerDetail.tsx b/frontend/src/pages/customers/CustomerDetail.tsx index 6059c9c3..384c34f4 100644 --- a/frontend/src/pages/customers/CustomerDetail.tsx +++ b/frontend/src/pages/customers/CustomerDetail.tsx @@ -1304,9 +1304,15 @@ function MetersTab({ (m.energyDetails?.some((ed) => ed.contract) ?? false) || (m.contractMeters?.some((cm) => cm.energyContractDetails?.contract) ?? false); + // Aktiv-Filter (Default: nur aktive) und "Nur Zähler ohne Verträge"-Filter + // wirken unabhängig: erst Aktiv, dann optional auf orphans einschränken. + // - beide aus: alle aktiven Zähler + // - nur "Inaktive": alle Zähler (aktiv + inaktiv) + // - nur "ohne Verträge": aktive Zähler OHNE Vertrag + // - beide an: alle Zähler ohne Vertrag (aktiv + inaktiv) const filtered = meters .filter((m) => showInactive ? true : m.isActive) - .filter((m) => showWithoutContracts ? true : hasAnyContract(m)); + .filter((m) => showWithoutContracts ? !hasAnyContract(m) : true); // Sort readings by date (newest first) const getSortedReadings = (readings: any[] | undefined) => {