import { isToolPreset, type ToolPreset } from "./tool-presets"; const STORAGE_KEY = "pi-tool-preset"; interface StorageLike { getItem(key: string): string | null; setItem(key: string, value: string): void; } function getBrowserStorage(): StorageLike | null { if (typeof window === "undefined") return null; try { return window.localStorage; } catch { return null; } } export function getPreferredToolPreset( storage: StorageLike | null = getBrowserStorage(), ): ToolPreset { if (!storage) return "default"; try { const value = storage.getItem(STORAGE_KEY); return isToolPreset(value) ? value : "default"; } catch { return "default"; } } export function setPreferredToolPreset( preset: ToolPreset, storage: StorageLike | null = getBrowserStorage(), ): void { if (!storage) return; try { storage.setItem(STORAGE_KEY, preset); } catch { // Browser storage is best-effort. } }