import { UserAccount, LeadData, AdminConfig } from '../types'; const KEYS = { USERS: 'rl_users', LEADS: 'rl_leads', CONFIG: 'rl_config', SESSION: 'rl_session' // Stores the ID of the currently logged-in user }; export const storageService = { // --- Users --- getUsers: (): UserAccount[] => { try { const data = localStorage.getItem(KEYS.USERS); return data ? JSON.parse(data) : []; } catch (e) { return []; } }, saveUsers: (users: UserAccount[]) => { localStorage.setItem(KEYS.USERS, JSON.stringify(users)); }, // --- Leads --- getLeads: (): LeadData[] => { try { const data = localStorage.getItem(KEYS.LEADS); return data ? JSON.parse(data) : []; } catch (e) { return []; } }, saveLeads: (leads: LeadData[]) => { localStorage.setItem(KEYS.LEADS, JSON.stringify(leads)); }, // --- Admin Config --- getAdminConfig: (): AdminConfig | null => { try { const data = localStorage.getItem(KEYS.CONFIG); return data ? JSON.parse(data) : null; } catch (e) { return null; } }, saveAdminConfig: (config: AdminConfig) => { localStorage.setItem(KEYS.CONFIG, JSON.stringify(config)); }, // --- Session (Auto Login) --- getSessionUserId: (): string | null => { return localStorage.getItem(KEYS.SESSION); }, setSessionUserId: (id: string) => { localStorage.setItem(KEYS.SESSION, id); }, clearSession: () => { localStorage.removeItem(KEYS.SESSION); } };