From b58ece65cf4c5edc8c7b223d35fbfc59713ba0bd Mon Sep 17 00:00:00 2001 From: DigiLive Date: Wed, 14 May 2025 06:41:51 +0200 Subject: [PATCH] Fix hiding areas Closes #205. --- src/utilities/RegistryFilter.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/utilities/RegistryFilter.ts b/src/utilities/RegistryFilter.ts index e95e01a..0041a51 100644 --- a/src/utilities/RegistryFilter.ts +++ b/src/utilities/RegistryFilter.ts @@ -16,7 +16,7 @@ import { logMessage, lvlWarn } from './debug'; class RegistryFilter { private readonly entries: T[]; private filters: (((entry: T) => boolean) | ((entry: T, index: number) => boolean))[] = []; - private readonly entryIdentifier: ('entity_id' | 'floor_id' | 'id') & K; + private readonly entryIdentifier: ('entity_id' | 'area_id' | 'id') & K; private invertNext: boolean = false; /** @@ -27,8 +27,8 @@ class RegistryFilter { constructor(entries: T[]) { this.entries = entries; this.entryIdentifier = ( - entries.length === 0 || 'entity_id' in entries[0] ? 'entity_id' : 'floor_id' in entries[0] ? 'floor_id' : 'id' - ) as ('entity_id' | 'floor_id' | 'id') & K; + entries.length === 0 || 'entity_id' in entries[0] ? 'entity_id' : 'floor_id' in entries[0] ? 'area_id' : 'id' + ) as ('entity_id' | 'area_id' | 'id') & K; } /** @@ -261,7 +261,12 @@ class RegistryFilter { } const id = entry[this.entryIdentifier] as keyof StrategyConfig['card_options']; - const isHiddenByConfig = Registry.strategyOptions?.card_options?.[id]?.hidden === true; + const options = + this.entryIdentifier === 'area_id' + ? { ...Registry.strategyOptions.areas['_'], ...Registry.strategyOptions.areas[id] } + : Registry.strategyOptions.card_options?.[id]; + + const isHiddenByConfig = options?.hidden === true; return !isHiddenByProperty && !isHiddenByConfig; };