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 = { 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);