export const ACTIVE_ONLY_STORAGE_KEY = "omniroute-api-manager-active-only"; interface StorageReader { getItem(key: string): string | null; } interface StorageWriter extends StorageReader { setItem(key: string, value: string): void; removeItem(key: string): void; } function getBrowserStorage(): StorageWriter | null { try { return globalThis.localStorage ?? null; } catch { return null; } } export function parseActiveOnlyPreference(value: string | null | undefined): boolean { return value === "true"; } export function readActiveOnlyPreference( storage: StorageReader | null = getBrowserStorage() ): boolean { if (!storage) return false; return parseActiveOnlyPreference(storage.getItem(ACTIVE_ONLY_STORAGE_KEY)); } export function writeActiveOnlyPreference( enabled: boolean, storage: StorageWriter | null = getBrowserStorage() ): void { if (!storage) return; if (enabled) { storage.setItem(ACTIVE_ONLY_STORAGE_KEY, "true"); return; } storage.removeItem(ACTIVE_ONLY_STORAGE_KEY); }