import type { ShoppingListItem, PriceAlert, PriceSnapshot } from "./types"; const KEYS = { list: "pc_list", alerts: "pc_alerts", priceSnapshot: "pc_price_snapshot", lastVisit: "pc_lastVisit", } as const; function safeGet(key: string, fallback: T): T { try { const raw = localStorage.getItem(key); if (!raw) return fallback; return JSON.parse(raw) as T; } catch { return fallback; } } export function getShoppingList(): ShoppingListItem[] { return safeGet(KEYS.list, []); } export function saveShoppingList(list: ShoppingListItem[]): void { localStorage.setItem(KEYS.list, JSON.stringify(list)); } export function getAlerts(): PriceAlert[] { return safeGet(KEYS.alerts, []); } export function saveAlerts(alerts: PriceAlert[]): void { localStorage.setItem(KEYS.alerts, JSON.stringify(alerts)); } export function getPriceSnapshot(): PriceSnapshot { return safeGet(KEYS.priceSnapshot, {}); } export function savePriceSnapshot(snapshot: PriceSnapshot): void { localStorage.setItem(KEYS.priceSnapshot, JSON.stringify(snapshot)); } export function getLastVisit(): number | null { const raw = localStorage.getItem(KEYS.lastVisit); return raw ? parseInt(raw, 10) : null; } export function setLastVisit(): void { localStorage.setItem(KEYS.lastVisit, Date.now().toString()); }