export const API_URL = import.meta.env.VITE_API_URL || '/api'; export const CACHE_TIME_SHORT = 2 * 60 * 1000; export const CACHE_TIME_MEDIUM = 5 * 60 * 1000; export const CACHE_TIME_LONG = 10 * 60 * 1000; export const STALE_TIME_SHORT = 1 * 60 * 1000; export const STALE_TIME_MEDIUM = 5 * 60 * 1000; export const STALE_TIME_LONG = 10 * 60 * 1000; export const DEFAULT_PAGE_SIZE = 12; export const DEFAULT_PAGE = 1; export const DEBOUNCE_SEARCH = 600; export const STORAGE_KEY_TOKEN = 'proposal_system_token'; export const STORAGE_KEY_SIDEBAR = 'sidebarOpen'; export const PROPOSAL_STATUSES = ['Draft', 'InReview', 'Approved', 'Sent', 'Revised'] as const; export const SERVICE_CATEGORIES = ['HVAC', 'Plumbing', 'Electrical', 'General', 'Renovation', 'Other'] as const; export const PRIORITIES = ['Standard', 'Urgent', 'Emergency'] as const; export const STATUS_LABELS: Record = { Draft: 'Draft', InReview: 'In Review', Approved: 'Approved', Sent: 'Sent', Revised: 'Revised', }; export const STATUS_CHIP_STYLES: Record = { Draft: { bgcolor: '#F1F5F9', color: '#334155', border: '1px solid #CBD5E1' }, InReview: { bgcolor: '#E0F2FE', color: '#075985', border: '1px solid #7DD3FC' }, Approved: { bgcolor: '#DCFCE7', color: '#166534', border: '1px solid #86EFAC' }, Sent: { bgcolor: '#DBEAFE', color: '#1E40AF', border: '1px solid #93C5FD' }, Revised: { bgcolor: '#F3E8FF', color: '#6B21A8', border: '1px solid #C084FC' }, Rejected: { bgcolor: '#FEE2E2', color: '#991B1B', border: '1px solid #FCA5A5' }, }; export const DRAWER_WIDTH = 216; export const PRIORITY_LABELS: Record = { Standard: 'Standard', Urgent: 'Urgent', Emergency: 'Emergency Dispatch', }; export const PRIORITY_CHIP_STYLES: Record = { Standard: { bgcolor: '#E2E8F0', color: '#334155', border: '1px solid #CBD5E1' }, Urgent: { bgcolor: '#FFEDD5', color: '#9A3412', border: '1px solid #FDBA74' }, Emergency: { bgcolor: '#FEE2E2', color: '#991B1B', border: '1px solid #F87171' }, }; export const PRIORITY_ROW_SX: Record = { Urgent: { backgroundColor: '#FFF7ED', }, Emergency: { borderLeft: '4px solid', borderLeftColor: 'error.main', backgroundColor: '#FEF2F2', }, };