import { MenuItem } from "@/src/types/components";
import { BookImage, BookKey, BotMessageSquare, Cable, Clock, Columns, Contact, Form, HatGlasses, Image, Import, LayoutDashboard, LayoutTemplate, List, ListOrdered, MailCheck, MapPin, Megaphone, MessageCircle, MousePointer2, Phone, PhoneCall, Plug, Receipt, Settings, Tags, Type, Users, Webhook, Workflow, Wrench, Zap } from "lucide-react";

export const MENUITEMS: MenuItem[] = [
  {
    icon: <LayoutDashboard size={20} />,
    label: "sidebar.dashboard",
    path: "/dashboard",
    order: 1,
    permission: "view.dashboard",
  },
  {
    icon: <MessageCircle size={20} />,
    label: "sidebar.chat",
    path: "/chat",
    order: 2,
    permission: "manage.conversations",
  },
  {
    icon: <Image size={20} />,
    label: "sidebar.chat_theme",
    path: "/chat_theme",
    order: 3,
    permission: "manage.conversations",
  },
  {
    icon: <Plug size={20} />,
    label: "sidebar.connect_waba",
    path: "/connect_waba",
    section: "sidebar.integrations",
    order: 4,
    permission: "view.waba_configuration",
  },
  {
    icon: <Phone size={20} />,
    label: "sidebar.waba_phone_numbers",
    path: "/manage_waba",
    section: "sidebar.integrations",
    order: 5,
    permission: "view.waba_configuration",
  },
  {
    icon: <LayoutTemplate size={20} />,
    label: "sidebar.templates",
    path: "/templates",
    section: "sidebar.integrations",
    order: 6,
    permission: "view.template",
  },
  {
    icon: <Wrench size={20} />,
    label: "sidebar.tools",
    path: "/tools",
    section: "sidebar.integrations",
    order: 6,
    permission: "view.short_links",
  },
  {
    icon: <Tags size={20} />,
    label: "sidebar.tags",
    path: "/tags",
    section: "sidebar.integrations",
    order: 6,
    permission: "view.tags",
  },
  {
    icon: <Image size={20} />,
    label: "sidebar.media",
    path: "/media",
    section: "sidebar.integrations",
    order: 8,
    permission: "view.attachment",
  },
  {
    icon: <Users size={20} />,
    label: "sidebar.teams",
    path: "/teams",
    section: "sidebar.integrations",
    order: 8,
    permission: "view.teams",
  },
  {
    icon: <HatGlasses size={20} />,
    label: "sidebar.agent",
    path: "/agents",
    section: "sidebar.integrations",
    order: 8,
    permission: "view.agents",
  },
  {
    icon: <HatGlasses size={20} />,
    label: "sidebar.tasks",
    path: "/tasks",
    section: "sidebar.integrations",
    order: 8,
    permission: "view.agent-task",
  },
  {
    icon: <Workflow size={20} />,
    label: "sidebar.bot_flow",
    path: "/flow_builder",
    section: "sidebar.auto_responses",
    order: 8,
    permission: "view.automation_flows",
  },
  {
    icon: <MailCheck size={20} />,
    label: "sidebar.default_action",
    path: "/default_action",
    section: "sidebar.auto_responses",
    order: 8,
    permission: "view.message_bots",
  },
  {
    icon: <BotMessageSquare size={20} />,
    label: "sidebar.reply_material",
    path: "/reply_materials",
    section: "sidebar.auto_responses",
    order: 8,
    permission: "view.reply_materials",
  },
  {
    icon: <BookKey size={20} />,
    label: "sidebar.keyword_action",
    path: "/keyword_action",
    section: "sidebar.auto_responses",
    order: 8,
    permission: "view.message_bots",
  },
  {
    icon: <PhoneCall size={20} />,
    label: "sidebar.ai_calling",
    path: "/whatsapp_calling/agents",
    section: "sidebar.auto_responses",
    order: 8,
    permission: "view.whatsapp_calling",
  },
  {
    icon: <Form size={20} />,
    label: "sidebar.form_builder",
    path: "/form_builder",
    section: "sidebar.auto_responses",
    order: 8,
    permission: "view.form_builder",
  },
  {
    icon: <Receipt size={20} />,
    label: "sidebar.subscription",
    path: "/subscriptions",
    section: "sidebar.my_subscription",
    order: 9,
    permission: "view.subscriptions",
  },
  // {
  //   icon: <FileText size={20} />,
  //   label: "sidebar.invoices",
  //   path: "/invoices",
  //   section: "sidebar.my_subscription",
  //   order: 10,
  // },
  {
    icon: <Megaphone size={20} />,
    label: "sidebar.campaign",
    path: "/campaigns",
    section: "sidebar.marketing",
    order: 12,
    permission: "view.campaigns",
  },
  {
    icon: <ListOrdered size={20} />,
    label: "sidebar.order",
    path: "/orders",
    section: "sidebar.marketing",
    order: 13,
    permission: "view.ecommerce_orders",
  },
  {
    icon: <BookImage size={20} />,
    label: "sidebar.catalogue",
    path: "/catalogues",
    section: "sidebar.marketing",
    order: 13,
    permission: "view.ecommerce_catalogs",
  },
  {
    icon: <Webhook size={20} />,
    label: "sidebar.webhook",
    path: "/webhooks",
    section: "sidebar.marketing",
    order: 13,
    permission: "view.ecommerce_webhooks",
  },
  {
    icon: <Contact size={20} />,
    label: "sidebar.contact",
    path: "/contacts",
    order: 16,
    permission: "view.contacts",
  },
  {
    icon: <Columns size={20} />,
    label: "sidebar.columns",
    path: "/columns",
    order: 16,
    permission: "view.custom_fields",
  },
  {
    icon: <Import size={20} />,
    label: "sidebar.import_job",
    path: "/import_jobs",
    order: 16,
    permission: "view.import_jobs",
  },
  { icon: <Settings size={20} />, label: "sidebar.setup", path: "/ai_config", order: 17, permission: "view.user_settings" },
  {
    icon: <Cable size={20} />,
    label: "sidebar.api_doc",
    path: "/developer",
    order: 18,
    permission: "view.api_key",
  },
];

export const NODETEMPLATES = [
  {
    id: "trigger",
    label: "Start Trigger",
    description: "Entry point for the automation flow",
    icon: <Zap />,
    color: "#f97316",
    category: "Trigger",
  },
  {
    id: "text_message",
    label: "Text Message",
    description: "Send a simple text message",
    icon: <Type />,
    color: "#10b981",
    category: "BASIC MESSAGES",
  },
  {
    id: "button_message",
    label: "Button Message",
    description: "Message with interactive buttons",
    icon: <MousePointer2 />,
    color: "#10b981",
    category: "BASIC MESSAGES",
  },
  // {
  //   id: "call_to_action",
  //   label: "Call To Action",
  //   description: "Message with a CTA link button",
  //   icon: <Zap />,
  //   color: "#10b981",
  //   category: "BASIC MESSAGES",
  // },
  {
    id: "list_message",
    label: "List Message",
    description: "Message with a list of options",
    icon: <List />,
    color: "#8b5cf6",
    category: "INTERACTIVE CONTENT",
  },
  {
    id: "media_message",
    label: "Media Message",
    description: "Send images, videos, or documents",
    icon: <Image />,
    color: "#8b5cf6",
    category: "INTERACTIVE CONTENT",
  },
  {
    id: "location",
    label: "Location",
    description: "Share a location with coordinates",
    icon: <MapPin />,
    color: "#8b5cf6",
    category: "INTERACTIVE CONTENT",
  },
  {
    id: "delay",
    label: "Wait / Delay",
    description: "Wait for a specified time before continuing",
    icon: <Clock />,
    color: "#f59e0b",
    category: "ADVANCED FEATURES",
  },
];
