| | import { UserAccount, LeadData, AdminConfig } from '../types'; |
| |
|
| | const KEYS = { |
| | USERS: 'rl_users', |
| | LEADS: 'rl_leads', |
| | CONFIG: 'rl_config', |
| | SESSION: 'rl_session' |
| | }; |
| |
|
| | export const storageService = { |
| | |
| | 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)); |
| | }, |
| |
|
| | |
| | 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)); |
| | }, |
| |
|
| | |
| | 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)); |
| | }, |
| |
|
| | |
| | getSessionUserId: (): string | null => { |
| | return localStorage.getItem(KEYS.SESSION); |
| | }, |
| | setSessionUserId: (id: string) => { |
| | localStorage.setItem(KEYS.SESSION, id); |
| | }, |
| | clearSession: () => { |
| | localStorage.removeItem(KEYS.SESSION); |
| | } |
| | }; |