"use client";

import {
  ArrowLeftRight,
  BarChart3,
  Banknote,
  Bitcoin,
  Building,
  Coins,
  Gem,
  Landmark,
  Layers,
  LineChart,
  Package,
  Percent,
  Phone,
  Repeat2,
  TrendingUp,
  type LucideIcon,
} from "lucide-react";

import type { ModuleIconKey } from "./types";

const moduleIcons = {
  "line-chart": LineChart,
  banknote: Banknote,
  "repeat-2": Repeat2,
  "arrow-left-right": ArrowLeftRight,
  "trending-up": TrendingUp,
  layers: Layers,
  landmark: Landmark,
  "bar-chart": BarChart3,
  gem: Gem,
  package: Package,
  coins: Coins,
  bitcoin: Bitcoin,
  building: Building,
  phone: Phone,
  percent: Percent,
} as const satisfies Record<ModuleIconKey, LucideIcon>;

export function getModuleIcon(key: ModuleIconKey): LucideIcon {
  return moduleIcons[key];
}
