import React from "react";
import {
  FeaturedPlayListIcon,
  AddShoppingCartIcon,
  AssignmentIcon,
  LocalOfferIcon,
  ShoppingCartIcon,
  FlightIcon,
  BusinessIcon,
  LanIcon,
  AssignmentTurnedInIcon,
  AutoFixHighIcon,
  DraftsIcon,
  CompareArrowsIcon,
  EggIcon,
  AttachMoneyIcon,
  PieChart,
  NoteAltIcon,
  SupportIcon,
  SettingsSuggestIcon,
  SettingsInputCompositeIcon,
  AccountTreeIcon,
  LocalShippingIcon,
  CorporateFareIcon,
  PersonAddAltIcon,
  DirectionsCarIcon,
  FactoryIcon,
  InventoryIcon,
  MailOutlineIcon,
  CoPresentIcon,
  WarehouseIcon,
  SummarizeIcon,
  EqualizerIcon,
  ReportIcon,
  PaymentIcon,
  TaskAltIcon,
  NewReleasesIcon,
  ArchiveIcon,
  WarningIcon,
  FolderOpenIcon,
  MeetingRoomIcon,
  AttachFileIcon,
  AssignmentLateIcon,
  PendingActionsIcon,
  MonetizationOnIcon,
  AccountBalanceWalletIcon,
  SwapHorizontalCircleIcon,
  ReceiptIcon,
  PaidIcon,
  FactCheckIcon,
  LoopIcon,
  CreditScoreIcon,
  ToggleOnIcon,
  DocumentScanner,
  AcUnitIcon,
  KitchenIcon,
  ReceiptLongIcon,
} from "@mui/icons-material";
import {
  Folder,
  AttachMoney,
  FileCopy,
  Archive,
  Warning,
  AddBox,
} from "@mui/icons-material";
import { FaFile } from "react-icons/fa";

// Helper to create menu items with consistent structure
export const createMenuItem = (route, icon, text) => ({
  route,
  icon: React.createElement(icon),
  text,
});

// Common icons as components
export const Icons = {
  FeaturedPlayList: FeaturedPlayListIcon,
  AddShoppingCart: AddShoppingCartIcon,
  Assignment: AssignmentIcon,
  LocalOffer: LocalOfferIcon,
  ShoppingCart: ShoppingCartIcon,
  Flight: FlightIcon,
  Business: BusinessIcon,
  Lan: LanIcon,
  AssignmentTurnedIn: AssignmentTurnedInIcon,
  AutoFixHigh: AutoFixHighIcon,
  Drafts: DraftsIcon,
  CompareArrows: CompareArrowsIcon,
  Egg: EggIcon,
  AttachMoney: AttachMoneyIcon,
  PieChart,
  NoteAlt: NoteAltIcon,
  Support: SupportIcon,
  SettingsSuggest: SettingsSuggestIcon,
  SettingsInputComposite: SettingsInputCompositeIcon,
  AccountTree: AccountTreeIcon,
  LocalShipping: LocalShippingIcon,
  CorporateFare: CorporateFareIcon,
  PersonAddAlt: PersonAddAltIcon,
  DirectionsCar: DirectionsCarIcon,
  Factory: FactoryIcon,
  Inventory: InventoryIcon,
  MailOutline: MailOutlineIcon,
  CoPresent: CoPresentIcon,
  Warehouse: WarehouseIcon,
  Summarize: SummarizeIcon,
  Equalizer: EqualizerIcon,
  Report: ReportIcon,
  Payment: PaymentIcon,
  TaskAlt: TaskAltIcon,
  NewReleases: NewReleasesIcon,
  Archive: ArchiveIcon,
  Warning: WarningIcon,
  FolderOpen: FolderOpenIcon,
  MeetingRoom: MeetingRoomIcon,
  AttachFile: AttachFileIcon,
  AssignmentLate: AssignmentLateIcon,
  PendingActions: PendingActionsIcon,
  MonetizationOn: MonetizationOnIcon,
  AccountBalanceWallet: AccountBalanceWalletIcon,
  SwapHorizontalCircle: SwapHorizontalCircleIcon,
  Receipt: ReceiptIcon,
  Paid: PaidIcon,
  FactCheck: FactCheckIcon,
  Loop: LoopIcon,
  CreditScore: CreditScoreIcon,
  ToggleOn: ToggleOnIcon,
  DocumentScanner,
  AcUnit: AcUnitIcon,
  Kitchen: KitchenIcon,
  ReceiptLong: ReceiptLongIcon,
  Folder,
  AttachMoneyIcon: AttachMoney,
  FileCopy,
  ArchiveIcon: Archive,
  WarningIcon: Warning,
  AddBox,
  FaFile,
};
