import { z } from 'zod'; // Force cache refresh import { Briefcase, Car, Church, Coffee, Fuel, Heart, Home, ShoppingCart, Stethoscope, Waves, Wrench, } from 'lucide-react'; import { Building2, Factory } from 'lucide-react'; import { Handshake, User, UserSearch } from 'lucide-react'; import { businessFocusOptionsSchema } from '@/schemas/businessFocus.ts'; import { howItWorksStepSchema } from '@/schemas/howItWorks.ts'; import { liveActivitySchema } from '@/schemas/liveActivity.ts'; import { sectorSchema } from '@/schemas/sector.ts'; // Sector display mapping - maps normalized backend sector names to display properties const sectorDisplayMap: Record< string, { nameKey: string; icon: React.ReactElement; colorKey: string } > = { retail: { nameKey: 'sectors.retail', icon: , colorKey: 'retail', }, healthcare: { nameKey: 'sectors.healthcare', icon: , colorKey: 'healthcare', }, services: { nameKey: 'sectors.services', icon: , colorKey: 'services', }, education: { nameKey: 'sectors.education', icon: , colorKey: 'education', }, automotive: { nameKey: 'sectors.automotive', icon: , colorKey: 'automotive', }, food_beverage: { nameKey: 'sectors.food_beverage', icon: , colorKey: 'food_beverage', }, religious: { nameKey: 'sectors.religious', icon: , colorKey: 'religious', }, beauty_wellness: { nameKey: 'sectors.beauty_wellness', icon: , colorKey: 'beauty_wellness', }, energy: { nameKey: 'sectors.energy', icon: , colorKey: 'energy', }, financial: { nameKey: 'sectors.financial', icon: , colorKey: 'financial', }, construction: { nameKey: 'sectors.construction', icon: , colorKey: 'construction', }, manufacturing: { nameKey: 'sectors.manufacturing', icon: , colorKey: 'manufacturing', }, hospitality: { nameKey: 'sectors.hospitality', icon: , colorKey: 'hospitality', }, entertainment: { nameKey: 'sectors.entertainment', icon: , colorKey: 'entertainment', }, agriculture: { nameKey: 'sectors.agriculture', icon: , colorKey: 'agriculture', }, furniture: { nameKey: 'sectors.furniture', icon: , colorKey: 'furniture', }, sports: { nameKey: 'sectors.sports', icon: , colorKey: 'sports', }, government: { nameKey: 'sectors.government', icon: , colorKey: 'government', }, technology: { nameKey: 'sectors.technology', icon: , colorKey: 'technology', }, other: { nameKey: 'sectors.other', icon: , colorKey: 'other', }, }; // Default fallback for unknown sectors const defaultSectorDisplay = { nameKey: 'sectors.other', icon: , colorKey: 'other', }; export const getSectorDisplay = (sectorName: string) => { return ( sectorDisplayMap[sectorName] || { ...defaultSectorDisplay, nameKey: `sectors.${sectorName}` } ); }; // Legacy SECTORS export for backward compatibility // TODO: Gradually migrate all components to use useDynamicSectors hook const legacySectorsData = [ { nameKey: 'sectors.construction', icon: , colorKey: 'construction', }, { nameKey: 'sectors.manufacturing', icon: , colorKey: 'manufacturing', }, { nameKey: 'sectors.services', icon: , colorKey: 'services', }, { nameKey: 'sectors.retail', icon: , colorKey: 'retail', }, ]; export const SECTORS = z.array(sectorSchema).parse(legacySectorsData); // Infer options from the schema to maintain a single source of truth export const BUSINESS_FOCUS_OPTIONS = businessFocusOptionsSchema.options; const liveActivitiesData = [ { orgId: '1', icon: , actionKey: 'liveActivity.actions.newOffer', subjectKey: 'liveActivity.subjects.confectionery', timeKey: 'liveActivity.timeAgo', timeValue: 2, }, { orgId: '2', icon: , actionKey: 'liveActivity.actions.newNeed', subjectKey: 'liveActivity.subjects.buildingMaterials', timeKey: 'liveActivity.timeAgoHour', timeValue: 1, }, { orgId: '3', icon: , actionKey: 'liveActivity.actions.profileUpdate', timeKey: 'liveActivity.timeAgoHour', timeValue: 3, }, ]; export const LIVE_ACTIVITIES_DATA = z.array(liveActivitySchema).parse(liveActivitiesData); const howItWorksStepsData = [ { icon: , titleKey: 'howItWorks.step1.title', textKey: 'howItWorks.step1.text', }, { icon: , titleKey: 'howItWorks.step2.title', textKey: 'howItWorks.step2.text', }, { icon: , titleKey: 'howItWorks.step3.title', textKey: 'howItWorks.step3.text', }, ]; export const HOW_IT_WORKS_STEPS = z.array(howItWorksStepSchema).parse(howItWorksStepsData);