import {
  BadgeCheck,
  BarChart3,
  Bell,
  CalendarClock,
  CalendarDays,
  Camera,
  Cog,
  CreditCard,
  Droplets,
  FileText,
  Headset,
  History,
  House,
  KeyRound,
  LayoutDashboard,
  ListChecks,
  LocateFixed,
  MapPin,
  MapPinned,
  MousePointerClick,
  Navigation,
  Plus,
  ReceiptText,
  ShieldCheck,
  Sofa,
  Sparkles,
  SprayCan,
  Star,
  TrendingUp,
  Users,
  Wand2,
} from "lucide-react";
import type { LucideIcon } from "lucide-react";

/**
 * Landing-page content lists. Each entry pairs an icon with the suffix of its
 * i18n key — the section component resolves the copy through `t()`, so nothing
 * here is hardcoded user-facing text (keeps the source of truth in the
 * dictionaries and RTL-safe).
 */
export interface HomeEntry {
  /** Key suffix under the section's dictionary namespace */
  key: string;
  icon: LucideIcon;
}

export const SERVICES: HomeEntry[] = [
  { key: "exteriorWash", icon: Droplets },
  { key: "interiorCleaning", icon: Sofa },
  { key: "fullDetailing", icon: Sparkles },
  { key: "premiumWash", icon: SprayCan },
  { key: "ceramicCoating", icon: ShieldCheck },
  { key: "engineCleaning", icon: Cog },
  { key: "waxPolish", icon: Wand2 },
  { key: "addOn", icon: Plus },
];

export const WHY_FEATURES: HomeEntry[] = [
  { key: "verifiedPros", icon: BadgeCheck },
  { key: "doorstep", icon: House },
  { key: "gpsTracking", icon: MapPin },
  { key: "securePayments", icon: ShieldCheck },
  { key: "beforeAfter", icon: Camera },
  { key: "instantScheduled", icon: CalendarClock },
  { key: "digitalInvoice", icon: FileText },
  { key: "ratings", icon: Star },
  { key: "support247", icon: Headset },
];

export const STEPS: { key: string; icon: LucideIcon }[] = [
  { key: "detectLocation", icon: LocateFixed },
  { key: "selectService", icon: ListChecks },
  { key: "chooseProvider", icon: Users },
  { key: "bookDateTime", icon: CalendarDays },
  { key: "trackEnjoy", icon: Navigation },
];

export const APP_FEATURES: HomeEntry[] = [
  { key: "otpLogin", icon: KeyRound },
  { key: "gpsDetection", icon: LocateFixed },
  { key: "smartSelection", icon: MousePointerClick },
  { key: "nearbyProviders", icon: MapPinned },
  { key: "liveTracking", icon: Navigation },
  { key: "onlinePayments", icon: CreditCard },
  { key: "bookingHistory", icon: History },
  { key: "pushNotifications", icon: Bell },
  { key: "digitalInvoices", icon: ReceiptText },
  { key: "ratingsReviews", icon: Star },
];

export const PARTNER_BENEFITS: HomeEntry[] = [
  { key: "moreBookings", icon: TrendingUp },
  { key: "dashboard", icon: LayoutDashboard },
  { key: "securePayments", icon: ShieldCheck },
  { key: "scheduleMgmt", icon: CalendarClock },
  { key: "ratingsReviews", icon: Star },
  { key: "analytics", icon: BarChart3 },
];

export const STATS = ["services", "providers", "cities", "rating"] as const;

export const TESTIMONIALS = ["one", "two", "three", "four"] as const;

/** Section ids used both as scroll anchors and by the nav links */
export const SECTION_IDS = {
  home: "home",
  services: "services",
  how: "how-it-works",
  partner: "become-a-provider",
  app: "download-app",
  contact: "contact",
} as const;

/** Top-nav / mobile-drawer links → in-page section anchors (key = i18n suffix) */
export const NAV_LINKS = [
  { key: "home", href: `#${SECTION_IDS.home}` },
  { key: "services", href: `#${SECTION_IDS.services}` },
  { key: "howItWorks", href: `#${SECTION_IDS.how}` },
  { key: "becomeProvider", href: `#${SECTION_IDS.partner}` },
  { key: "downloadApp", href: `#${SECTION_IDS.app}` },
  { key: "contact", href: `#${SECTION_IDS.contact}` },
] as const;
