import { ReactNode } from "react";

// Icons Import 
import {  FaCartArrowDown, FaHome, FaProductHunt, FaRegImages, FaUser } from "react-icons/fa"
import { BiSolidCategory } from "react-icons/bi";
import { BiSolidCoupon } from "react-icons/bi";


// Pages Import
import HomePage from "./Pages/Home/HomePage";

import CategoriesPage from "./Pages/Categories/Page";
import AddCategoriesPage from "./Pages/Categories/View/AddPage";
import EditCategories  from "./Pages/Categories/View/EditPage";


import ProductsPage from "./Pages/Products/ProductsPage";
import AddProductPage from "./Pages/Products/View/AddPage";
import EditProduct from "./Pages/Products/View/EditPage";
import OrderPage from "./Pages/order/OrderPage";
import EditOrder  from "./Pages/order/EditPage";


import CouponPage from "./Pages/Coupon/Page";
import AddCouponPage from "./Pages/Coupon/View/AddPage";
import EditCoupon  from "./Pages/Coupon/View/EditPage";

import SliderPage from "./Pages/Slider/Page";
import AddSliderPage from "./Pages/Slider/View/AddPage";
import EditSlider  from "./Pages/Slider/View/EditPage";



import SupportMessagesPage from "./Pages/SupportMessages/Page";
import AddSupportMessagesPage from "./Pages/SupportMessages/View/AddPage";
// import EditSupportMessages  from "./Pages/SupportMessages/View/EditPage";

import UsersPage from "./Pages/Users/Page";
import EditUsersPage from "./Pages/Users/View/EditPage";

import AddUsersNotifactionPage from "./Pages/Users/SendNotifcation/View/AddPage";

// import NotificationPage from "./Pages/Notifcation/Page";
import AddNotificationPage from "./Pages/Notifcation/View/AddPage";
// import { MdEmail } from "react-icons/md";
import { MessageOutlined } from "@ant-design/icons";



interface RoutesLinksType {
    name?: string,
    href?: string,
    element?: ReactNode,
    icon?: any,
    Viewelement?: ReactNode,
    Viewhref?: string
    children?: any
    hidden?: boolean
}
export const RoutesLinks: RoutesLinksType[] = [

    {
        name: "Home",
        element: <HomePage />,
        icon: <FaHome />,
        href: "/",
    },
   
    {
        name: "Categories",
        element: <CategoriesPage />,
        icon: <BiSolidCategory />
        ,
        href: "/categories",
    },
    {
        href: "/categories/:id",
        element: <EditCategories />,
        hidden:true
    },
    {
        href: "/categories/add",
        element: <AddCategoriesPage />,
        hidden:true
    },
 
    {
        name: "Products",
        element: <ProductsPage />,
        icon: <FaProductHunt  />  ,
        href: "/products",
    },
    {
        name: "add_products",
        element: <AddProductPage />,
        href: "/products/add",
        hidden:true
    },
    {
        name: "edit_products",
        element: <EditProduct />,
        href: "/products/:id",
        hidden:true

    },

    {
        name: "Order",
        element: <OrderPage />,
        icon: <FaCartArrowDown  />,
        href: "/order",
    },

    
    {
        name: "edit_order",
        element: <EditOrder />,
        href: "/order/:id",
        hidden:true

    },
   
    {
        name: "Coupon",
        element: <CouponPage />,
        icon: <BiSolidCoupon />,
        href: "/coupon",
    },
    {
        href: "/coupon/:id",
        element: <EditCoupon />,
        hidden:true
    },
    {
        href: "/coupon/add",
        element: <AddCouponPage />,
        hidden:true
    },
    
    {
        name: "Slider",
        element: <SliderPage />,
        icon: <FaRegImages  />,
        href: "/slider",
    },
    {
        href: "/slider/:id",
        element: <EditSlider />,    
        hidden:true
    },
    {
        href: "/slider/add",
        element: <AddSliderPage />,
        hidden:true
    },
 
    {
        name: "users",
        element: <UsersPage />,
        icon: <FaUser  />,
        href: "/users",
    },
    {
        href: "/admin/:id",
        element: <EditUsersPage />,
        hidden:true
    },
    
    {
        href: "/users/:id",
        element: <AddUsersNotifactionPage />,
        hidden:true
    }
 
    ,  
    // {
    //     name: "notification",
    //     element: <NotificationPage />,
    //     icon: <MdEmail  />,
    //     href: "/notification",
    // },
    {
        href: "/notification/add",
        element: <AddNotificationPage />,
        hidden:true
    },
    {
        name: "SupportMessages",
        element: <SupportMessagesPage />,
        icon: <MessageOutlined  />,
        href: "/support_messages",
    },
    // {
    //     href: "/support_messages/:id",
    //     element: <EditSupportMessages />,    
    //     hidden:true
    // },
    {
        href: "/support_messages/add",
        element: <AddSupportMessagesPage />,
        hidden:true
    },
    
]