Fix: "Zähler ohne Verträge anzeigen" filtert auf orphans, nicht additiv

Die Checkbox war falsch implementiert (additiv: zeigt auch Orphans).
Soll laut User filternd wirken: gecheckt = nur Zähler ohne Vertrag.

Logik:
- beide aus: alle aktiven Zähler (Default)
- 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)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-30 15:00:21 +02:00
parent 95b7261227
commit b0e45c0ea0
@@ -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) => {