import React from "react";
import {
  DashboardIcon,
  DashboardIconActive,
} from "../assets/adminSvg/dashboardIcon";
import { TokenIcon, TokenIconActive } from "../assets/adminSvg/tokenIcon";
import { PenIcon, PenIconActive } from "../assets/adminSvg/penIcon";
import { PlayIcon, PlayIconActive } from "../assets/adminSvg/playIcon";
import { ListIcon, ListIconActive } from "../assets/adminSvg/listIcon";
import { CopyIcon, CopyIconActive } from "../assets/adminSvg/copyIcon";
import { FlagIcon, FlagIconActive } from "../assets/adminSvg/flagIcon";
import { UserIcon, UserIconActive } from "../assets/adminSvg/userIcon";
import { AdminsIcon, AdminsIconActive } from "../assets/adminSvg/adminsIcon";
import { AlertIcon, AlertIconActive } from "../assets/adminSvg/alertIcon";
import { GradingIcon, GradingIconActive } from "../assets/adminSvg/gradingIcon";
import {
  SecurityIcon,
  SecurityIconActive,
} from "../assets/adminSvg/securityIcon";
import {
  DocumentIcon,
  DocumentIconActive,
} from "../assets/adminSvg/documentIcon";
import { TicketsIcon, TicketsIconActive } from "../assets/adminSvg/ticketsIcon";
import { ChatIcon, ChatIconActive } from "../assets/adminSvg/chatIcon";
import { FlaggedIcon, FlaggedIconActive } from "../assets/adminSvg/flaggedIcon";
import { UsersIcon, UsersIconActive } from "../assets/adminSvg/usersIcon";
import {
  SettingsIcon,
  SettingsIconActive,
} from "../assets/adminSvg/settingsIcon";
import { UserBoxIcon, UserBoxIconActive } from "../assets/adminSvg/userBoxIcon";
import {
  AnalyticsIcon,
  AnalyticsIconActive,
} from "../assets/adminSvg/analyticsIcon";
import { RevenueIcon, RevenueIconActive } from "../assets/adminSvg/revenueIcon";

const settings = {
  path: null,
  icon: <SettingsIcon />,
  iconActive: <SettingsIconActive />,
  text: "Settings",
  hasNotification: false,
  hasDropdown: true,
  dropdownItems: [
    {
      path: "/profile",
      text: "Profile",
      hasNotification: false,
    },
    {
      path: "/admins",
      text: "Admins",
      hasNotification: false,
    },
    {
      path: "/notification",
      text: "Notification",
      hasNotification: false,
    },
    {
      path: "/roles-and-permissions",
      text: "Roles & Permissions",
      hasNotification: false,
    },
    {
      path: "/security",
      hasNotification: false,
      text: "Security",
    },
  ],
};

export const adminAnalyticsItem = [
  {
    optionType: "MENU",
    hasBorder: true,
    routes: [
      {
        path: "/dashboard",
        icon: <DashboardIcon />,
        iconActive: <DashboardIconActive />,
        text: "Dashboard",
        hasNotification: false,
        hasDropdown: false,
      },
    ],
  },
  {
    optionType: "STATISTICS",
    hasBorder: true,
    routes: [
      {
        path: null,
        icon: <AnalyticsIcon />,
        iconActive: <AnalyticsIconActive />,
        text: "Analytics",
        hasNotification: false,
        hasDropdown: true,
        dropdownItems: [
          {
            path: "/general-review",
            hasNotification: false,
            text: "General Review",
          },
          {
            path: "/personal-account",
            hasNotification: false,
            text: "Personal Account",
          },
          {
            path: "/instructor-account",
            hasNotification: false,
            text: "Instructor Account",
          },
          {
            path: "/enterprise-account",
            hasNotification: false,
            text: "Enterprise Account",
          },
          {
            path: "/developer-account",
            hasNotification: false,
            text: "Developer Account",
          },
        ],
      },
      {
        path: "/revenue",
        icon: <RevenueIcon />,
        iconActive: <RevenueIconActive />,
        text: "Revenue",
        hasNotification: false,
        hasDropdown: false,
      },
    ],
  },
  {
    optionType: null,
    routes: [
      {
        ...settings,
        dropdownItems: [
          {
            path: "/admins",
            text: "Admins",
            hasNotification: false,
          },
          {
            path: "/notification",
            text: "Notification",
            hasNotification: false,
          },
          {
            path: "/roles-and-permissions",
            text: "Roles & Permissions",
            hasNotification: false,
          },
          {
            path: "/security",
            text: "Security",
            hasNotification: false,
          },
        ],
      },
    ],
  },
];

export const adminSupportItems = [
  {
    optionType: "MENU",
    hasBorder: true,
    routes: [
      {
        path: "/dashboard",
        icon: <DashboardIcon />,
        iconActive: <DashboardIconActive />,
        text: "Dashboard",
        hasNotification: false,
        hasDropdown: false,
      },
      {
        path: null,
        icon: <AlertIcon />,
        iconActive: <AlertIconActive />,
        text: "Alert",
        hasNotification: false,
        hasDropdown: true,
        dropdownItems: [
          {
            path: "/push-notifications",
            hasNotification: false,
            notifications: null,
            text: "Push Notifications",
          },
          {
            path: "/newsletters",
            hasNotification: false,
            notifications: null,
            text: "Newsletters",
          },
        ],
      },
      {
        path: null,
        icon: <DocumentIcon />,
        iconActive: <DocumentIconActive />,
        text: "Requests",
        hasNotification: true,
        hasDropdown: true,
        notifications: 5,
        dropdownItems: [
          {
            path: "/general",
            hasNotification: true,
            notifications: 3,
            text: "General",
          },
          {
            path: "/IT-issues",
            hasNotification: true,
            notifications: 2,
            text: "IT Issues",
          },
        ],
      },
      {
        path: "/tickets",
        icon: <TicketsIcon />,
        iconActive: <TicketsIconActive />,
        text: "Tickets",
        hasNotification: true,
        notifications: 5,
        hasDropdown: false,
      },
      {
        path: "/live-chat",
        icon: <ChatIcon />,
        iconActive: <ChatIconActive />,
        text: "Live Chat",
        hasNotification: true,
        notifications: 5,
        hasDropdown: false,
      },
      {
        path: "/issues-and-reports",
        icon: <FlaggedIcon />,
        iconActive: <FlaggedIconActive />,
        text: "Issues & Reports",
        hasNotification: true,
        notifications: 5,
        hasDropdown: false,
      },
      {
        path: "/all-users",
        icon: <UsersIcon />,
        iconActive: <UsersIconActive />,
        text: "All Users",
        hasNotification: false,
        hasDropdown: false,
      },
    ],
  },
  {
    optionType: "DEV. MANAGEMENT",
    hasBorder: true,
    routes: [
      {
        path: "/accounts",
        icon: <UserIcon />,
        iconActive: <UserIconActive />,
        text: "Accounts",
        hasNotification: true,
        hasDropdown: false,
        notifications: 5,
      },
      {
        path: "/manager",
        icon: <UserBoxIcon />,
        iconActive: <UserBoxIconActive />,
        text: "Manager",
        hasNotification: true,
        hasDropdown: false,
        notifications: 5,
      },
      {
        path: "/api-request",
        icon: <DocumentIcon />,
        iconActive: <DocumentIconActive />,
        text: "API Request",
        hasNotification: true,
        hasDropdown: false,
        notifications: 5,
      },
    ],
  },
  {
    optionType: null,
    routes: [settings],
  },
];

export const adminCMSItems = [
  {
    optionType: "MENU",
    routes: [
      {
        path: "/dashboard",
        icon: <DashboardIcon />,
        iconActive: <DashboardIconActive />,
        text: "Dashboard",
        hasNotification: false,
        hasDropdown: false,
      },
      {
        path: "/token-management",
        icon: <TokenIcon />,
        iconActive: <TokenIconActive />,
        text: "Token management",
        hasNotification: false,
        hasDropdown: false,
      },
    ],
  },
  {
    optionType: "CMS",
    routes: [
      {
        path: "/skill-test",
        icon: <PenIcon />,
        iconActive: <PenIconActive />,
        text: "Skill Test",
        hasNotification: true,
        hasDropdown: false,
        notifications: 4,
      },
      {
        path: "/Lessons",
        icon: <PlayIcon />,
        iconActive: <PlayIconActive />,
        text: "Lessons",
        hasNotification: true,
        hasDropdown: false,
        notifications: 8,
      },
      {
        path: "/manage-content",
        icon: <ListIcon />,
        iconActive: <ListIconActive />,
        text: "Manage Content",
        hasNotification: false,
        hasDropdown: false,
      },
      {
        path: "/draft",
        icon: <CopyIcon />,
        iconActive: <CopyIconActive />,
        text: "Draft",
        hasNotification: true,
        hasDropdown: false,
        notifications: 1,
      },
      {
        path: "/flagged-content",
        icon: <FlagIcon />,
        iconActive: <FlagIconActive />,
        text: "Flagged Content",
        hasNotification: true,
        hasDropdown: false,
        notifications: 2,
      },
    ],
  },
  {
    optionType: "SETTINGS",
    hasBorder: true,
    routes: [
      {
        path: "/profile",
        icon: <UserIcon />,
        iconActive: <UserIconActive />,
        text: "Profile",
        hasNotification: false,
        hasDropdown: false,
      },
      {
        path: "/admins",
        icon: <AdminsIcon />,
        iconActive: <AdminsIconActive />,
        text: "Admins",
        hasNotification: false,
        hasDropdown: false,
      },
      {
        path: "/notification",
        icon: <AlertIcon />,
        iconActive: <AlertIconActive />,
        text: "Notification",
        hasNotification: false,
        hasDropdown: false,
      },
      {
        path: "/roles-and-permissions",
        icon: <GradingIcon />,
        iconActive: <GradingIconActive />,
        text: "Roles & Permissions",
        hasNotification: false,
        hasDropdown: false,
      },
      {
        path: "/security",
        icon: <SecurityIcon />,
        iconActive: <SecurityIconActive />,
        text: "Security",
        hasNotification: false,
        hasDropdown: false,
      },
    ],
  },
];
