import {
  AlarmClock,
  ArrowDownToDot,
  ArrowDownToLine,
  Ban,
  Bell,
  Box,
  CalendarDays,
  ChartLine,
  Check,
  ChevronLeft,
  CircleArrowUp,
  CircleMinus,
  CirclePlus,
  CircleQuestionMark,
  Clapperboard,
  CloudCog,
  Component,
  Container,
  Cpu,
  Database,
  Diamond,
  DiamondPlus,
  Download,
  Edit,
  ExternalLink,
  Factory,
  FileDown,
  FileText,
  FlaskConical,
  FolderCode,
  FolderGit,
  FolderSync,
  GitBranch,
  Globe,
  Hammer,
  HardDrive,
  History,
  Info,
  KeyRound,
  KeySquare,
  Layers,
  Layers2,
  LayoutDashboard,
  Link,
  ListTodo,
  MemoryStick,
  Milestone,
  Network,
  NotebookPen,
  Package,
  Pause,
  Play,
  Plus,
  RefreshCcw,
  Rocket,
  RotateCcwKey,
  Route,
  Save,
  Scissors,
  Search,
  SearchX,
  Server,
  Settings,
  Square,
  SquarePlay,
  SquareStack,
  Table,
  Tag,
  Tags,
  Terminal,
  Trash,
  Trash2,
  TriangleAlert,
  Unlink,
  User,
  Users,
  Variable,
  X,
  Zap,
} from "lucide-react";

export const ICONS = {
  // RESOURCES
  Resources: LayoutDashboard,
  Action: Clapperboard,
  Alerter: AlarmClock,
  Build: Hammer,
  Builder: Factory,
  Deployment: Rocket,
  Procedure: Route,
  Repo: FolderGit,
  Server,
  Stack: Layers,
  Swarm: Component,
  ResourceSync: FolderSync,
  ExportToml: FileDown,
  Variable,
  Provider: CloudCog,
  // PAGES
  Dashboard: LayoutDashboard,
  Terminal: Terminal,
  Schedule: CalendarDays,
  // DOCKER
  Docker: Container,
  Container: Box,
  Network,
  Image: HardDrive,
  Volume: Database,
  Service: Layers2,
  Log: FileText,
  Inspect: Search,
  // SWARM
  SwarmNode: Diamond,
  SwarmStack: SquareStack,
  SwarmService: FolderCode,
  SwarmTask: ListTodo,
  SwarmConfig: Settings,
  SwarmSecret: KeyRound,
  JoinSwarm: DiamondPlus,
  // Device
  IP: Globe,
  Cpu,
  LoadAvg: ChartLine,
  Memory: MemoryStick,
  Disk: Database,
  Stats: ChartLine,
  Process: Package,
  OnboardingKey: KeySquare,
  // EXECUTIONS
  Deploy: Rocket,
  Destroy: Trash,
  Start: Play,
  Stop: Square,
  Restart: RefreshCcw,
  Pull: Download,
  Pause,
  Prune: Scissors,
  Refresh: RefreshCcw,
  Run: SquarePlay,
  Test: FlaskConical,
  Cancel: Ban,
  CloneRepo: ArrowDownToLine,
  PullRepo: ArrowDownToDot,
  Commit: NotebookPen,
  // MISC
  User,
  Users,
  UserGroup: Users,
  Key: KeyRound,
  RotateKey: RotateCcwKey,
  Settings,
  Config: Settings,
  System: Settings,
  Tag,
  Tags,
  Link,
  Unlink,
  ExternalLink,
  Table,
  Alert: TriangleAlert,
  Update: Bell,
  Branch: GitBranch,
  Check: Check,
  Execution: Zap,
  History,
  Version: Milestone,
  UpdateAvailable: CircleArrowUp,
  Back: ChevronLeft,
  Calendar: CalendarDays,
  Search,
  Create: Plus,
  Delete: Trash2,
  Add: CirclePlus,
  Remove: CircleMinus,
  Clear: X,
  Save,
  Download,
  Info,
  Edit,
  NotFound: SearchX,
  Unknown: CircleQuestionMark,
};
