Files
dev-chiefworks 2ce13271d8 first commit
2024-01-10 11:05:21 -05:00

553 lines
15 KiB
React

'use client'
import Image from "next/image";
import React, { useState } from "react";
import Link from "next/link";
import { usePathname } from "next/navigation";
import MenuLink from "./MenuLink";
import MenuLinkTwo from "./MenuLinkTwo";
const HomeDropdown = [
{
img: "home01",
routerPath: "/",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Event Organizer",
},
{
img: "home02",
routerPath: "/doc-landing",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Doc Landing",
},
{
img: "home03",
routerPath: "/project-management",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Project Management",
},
{
img: "home04",
routerPath: "/customer-support",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Customer Support",
},
{
img: "home05",
routerPath: "/product-landing",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Product Landing",
},
{
img: "home06",
routerPath: "/product-landing-dark",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Product Landing Dark",
},
{
img: "home07",
routerPath: "/note-taking-landing",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Not Taking Landing",
},
{
img: "home08",
routerPath: "/video-editor-landing",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Video Editor Landing",
},
{
img: "home10",
routerPath: "/appointment-scheduling",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Appointment Scheduling",
},
{
img: "home11",
routerPath: "/mobile-app-landing",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Mobile App Landing",
},
{
img: "home12",
routerPath: "/doc-signature",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Doc Signature",
},
{
img: "home13",
routerPath: "/website-builder",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Website Builder",
},
{
img: "home14",
routerPath: "/form-survey-landing",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Form Survey",
},
{
img: "home16",
routerPath: "/vr-landing",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "VR Landing",
},
{
img: "home15",
routerPath: "/e-commerce",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "E-commerce",
},
{
img: "home09",
routerPath: "/coming-soon",
inenerText: "",
inenerTextWrapClass: "",
clasName: `dropdown-item img-box`,
title: "Coming Soon",
},
];
const Pricing = [
{
name: "Customer Support",
routerPath: "/pricing-cs",
},
{
name: "Event Organiser",
routerPath: "/pricing-eo",
},
{
name: "Project Management",
routerPath: "/pricing-pm",
},
];
const AboutUs = [
{
name: "Customer Support",
routerPath: "/about-cs",
},
{
name: "Event Organiser",
routerPath: "/about-eo",
},
{
name: "Project Management",
routerPath: "/about-pm",
},
{
name: "Documentation",
routerPath: "/about-doc",
},
];
const ContactUS = [
{
name: "Customer Support",
routerPath: "/contact-cs",
},
{
name: "Event Organiser",
routerPath: "/contact-eo",
},
{
name: "Project Management",
routerPath: "/contact-pm",
},
{
name: "Documentation",
routerPath: "/contact-doc",
},
];
const Team = [
{
name: "Team Version 01",
routerPath: "/team-1",
},
{
name: "Team Version 02",
routerPath: "/team-2",
},
{
name: "Team Version 03",
routerPath: "/team-3",
},
{
name: "Team Version 04",
routerPath: "/team-4",
},
{
name: "Team Version 05",
routerPath: "/team-5",
},
{
name: "Team Version 06",
routerPath: "/team-6",
},
{
name: "Team Details",
routerPath: "/teams/1",
},
{
name: "Team Details Slider",
routerPath: "/team-details-v2/1",
},
];
const Services = [
{
name: "Service Version 01",
routerPath: "/service-v1",
},
{
name: "Service Version 02",
routerPath: "/service-v2",
},
{
name: "Service Version 03",
routerPath: "/service-v3",
},
{
name: "Service Version 04",
routerPath: "/service-v4",
},
{
name: "Service Details",
routerPath: "/services/1",
},
];
const Miscellaneous = [
{
name: "Terms & Condition",
routerPath: "/terms-conditions",
},
{
name: "Login",
routerPath: "/login",
},
{
name: "Signup",
routerPath: "/signup",
},
{
name: "404",
routerPath: "/not-found",
},
];
const Portfolio = [
{
name: "Classic Style",
routerPath: "/classic-style",
},
{
name: "Grid 2 Columns",
routerPath: "/grid-two-col",
},
{
name: "Grid 3 Columns",
routerPath: "/grid-three-col",
},
{
name: "Gallery Slider",
routerPath: "/gallery-slider",
},
{
name: "Grid Single",
routerPath: "/grid-single",
},
{
name: "Classic Details",
routerPath: "/portfolios/3",
},
];
const Blogs = [
{
name: "Blog Version 01",
routerPath: "/blog-v1",
},
{
name: "Blog Version 02",
routerPath: "/blog-v2",
},
{
name: "Blog Version 03",
routerPath: "/blog-v3",
},
{
name: "Blog Version 04",
routerPath: "/blog-v4",
},
{
name: "Blog Version 05",
routerPath: "/blog-v5",
},
{
name: "Blog Version 06",
routerPath: "/blog-v6",
},
{
name: "Blog Details",
routerPath: "/blogs/1",
},
];
const Docs = [
{
name: "Full Width",
routerPath: "/doc-full-width",
},
{
name: "Full Width Banner",
routerPath: "/doc-full-width-banner",
},
{
name: "Doc Box",
routerPath: "/doc-box",
},
{
name: "Doc Box With Banner",
routerPath: "/doc-box-with-banner",
},
{
name: "Changelog ***",
routerPath: "/changelog",
},
];
const MegaMenu = () => {
const pathname = usePathname();
const [currentTopRoute, setCurrentTopRoute] = useState('Home')
return (
<ul className="navbar-nav">
<li className={currentTopRoute == 'Home' ? "nav-item dropdown position-static active":"nav-item dropdown position-static" } >
<a className="nav-link dropdown-toggle" href="#" data-toggle="dropdown">
Home
</a>
<div className="dropdown-menu">
<ul className="mega-menu d-flex " style={{maxHeight:'calc(100vh - 100px)',overflowY:'scroll'}} >
{HomeDropdown.map((val, i) => (
<li key={i}>
<Link href={val.routerPath} className={val.clasName}>
<Image width={990} height={890} style={{width:'100%',height:'fit-content'}} src={`/images/menu/${val.img}.png`} alt="home-demo" />
<span className={pathname == val.routerPath ? "font-rubik activeMenu" : 'font-rubik'}>{val.title}</span>
<div className={val.inenerTextWrapClass}>
<div className="font-rubik">{val.inenerText}</div>
</div>
</Link>
</li>
))}
</ul>
</div>
{/* /.dropdown-menu */}
</li>
{/* End li */}
<li className={currentTopRoute == 'Pages' ? "nav-item active dropdown":"nav-item dropdown" }>
<a className={currentTopRoute == 'Pages' ? "nav-link dropdown-toggle active":"nav-link dropdown-toggle"} href="#" data-toggle="dropdown">
Pages
</a>
<ul className="dropdown-menu">
<li className="dropdown-submenu dropdown">
<a
href="#"
className={ Pricing.filter((elm)=>elm.routerPath.split('/')[1] == pathname.split('/')[1])[0]? 'dropdown-item dropdown-toggle active':'dropdown-item dropdown-toggle'}
data-toggle="dropdown"
>
Pricing
</a>
<ul className="dropdown-menu">
{Pricing.map((val, i) => (
<MenuLink topMenu={'Pages'} val={val} key={i} setCurrentTopRoute={setCurrentTopRoute} />
))}
</ul>
</li>
<li className="dropdown-submenu dropdown">
<a
href="#"
className={AboutUs.filter((elm)=>elm.routerPath.split('/')[1] == pathname.split('/')[1])[0]? 'dropdown-item dropdown-toggle active':'dropdown-item dropdown-toggle'}
data-toggle="dropdown"
>
About Us
</a>
<ul className="dropdown-menu">
{AboutUs.map((val, i) => (
<MenuLink topMenu={'Pages'} val={val} key={i} setCurrentTopRoute={setCurrentTopRoute} />
))}
</ul>
</li>
<li className="dropdown-submenu dropdown">
<a
href="#"
className={ContactUS.filter((elm)=>elm.routerPath.split('/')[1] == pathname.split('/')[1])[0]? 'dropdown-item dropdown-toggle active':'dropdown-item dropdown-toggle'}
data-toggle="dropdown"
>
Contact Us
</a>
<ul className="dropdown-menu">
{ContactUS.map((val,i)=>
<MenuLink topMenu={'Pages'} val={val} key={i} setCurrentTopRoute={setCurrentTopRoute} />)}
</ul>
</li>
<li className="dropdown-submenu dropdown">
<a
href="#"
className={Team.filter((elm)=>elm.routerPath.split('/')[1] == pathname.split('/')[1])[0]? 'dropdown-item dropdown-toggle active':'dropdown-item dropdown-toggle'}
data-toggle="dropdown"
>
Team
</a>
<ul className="dropdown-menu">
{Team.map((val, i) => (
<MenuLink topMenu={'Pages'} val={val} key={i} setCurrentTopRoute={setCurrentTopRoute} />
))}
</ul>
</li>
<li>
<MenuLinkTwo topMenu={'Pages'} val={{ name: 'FAQ',
routerPath: '/faq'}} setCurrentTopRoute={setCurrentTopRoute} />
</li>
<li>
<MenuLinkTwo topMenu={'Pages'} val={{ name: 'Faq Details',
routerPath: '/faqs/1'}} setCurrentTopRoute={setCurrentTopRoute} />
</li>
</ul>
{/* /.dropdown-menu */}
</li>
{/* End li */}
<li className={currentTopRoute == 'Feature' ? "nav-item active dropdown":"nav-item dropdown" }>
<a className={currentTopRoute == 'Feature' ? "nav-link dropdown-toggle active":"nav-link dropdown-toggle"} href="#" data-toggle="dropdown">
Feature
</a>
<ul className="dropdown-menu">
<li className="dropdown-submenu dropdown">
<a
href="#"
className={Services.filter((elm)=>elm.routerPath.split('/')[1] == pathname.split('/')[1])[0]? 'dropdown-item dropdown-toggle active':'dropdown-item dropdown-toggle'}
data-toggle="dropdown"
>
Services
</a>
<ul className="dropdown-menu">
{Services.map((val, i) => (
<MenuLink topMenu={'Feature'} val={val} key={i} setCurrentTopRoute={setCurrentTopRoute} />
))}
</ul>
</li>
<li className="dropdown-submenu dropdown">
<a
href="#"
className={Miscellaneous.filter((elm)=>elm.routerPath.split('/')[1] == pathname.split('/')[1])[0]? 'dropdown-item dropdown-toggle active':'dropdown-item dropdown-toggle'}
data-toggle="dropdown"
>
Miscellaneous
</a>
<ul className="dropdown-menu">
{Miscellaneous.map((val, i) => (
<MenuLink topMenu={'Feature'} val={val} key={i} setCurrentTopRoute={setCurrentTopRoute} />
))}
</ul>
</li>
<li>
<MenuLinkTwo topMenu={'Feature'} val={{ name: 'Our Solution',
routerPath: '/solution-management'}} setCurrentTopRoute={setCurrentTopRoute} />
</li>
<li>
<MenuLinkTwo topMenu={'Feature'} val={{ name: 'Product Feature',
routerPath: '/product-customer-support'}} setCurrentTopRoute={setCurrentTopRoute} />
</li>
<li>
<MenuLinkTwo topMenu={'Feature'} val={{ name: 'Our Features',
routerPath: '/features-customer-support'}} setCurrentTopRoute={setCurrentTopRoute} />
</li>
</ul>
{/* /.dropdown-menu */}
</li>
{/* End li */}
<li className={currentTopRoute == 'Portfolio' ? "nav-item active dropdown":"nav-item dropdown" }>
<a className={currentTopRoute == 'Portfolio' ? "nav-link dropdown-toggle active":"nav-link dropdown-toggle"} href="#" data-toggle="dropdown">
Portfolio
</a>
<ul className="dropdown-menu">
{Portfolio.map((val, i) => (
<MenuLink topMenu={'Portfolio'} val={val} key={i} setCurrentTopRoute={setCurrentTopRoute} />
))}
</ul>
{/* /.dropdown-menu */}
</li>
{/* End li */}
<li className={currentTopRoute == 'Blogs' ? "nav-item active dropdown":"nav-item dropdown" }>
<a className={currentTopRoute == 'Blogs' ? "nav-link dropdown-toggle active":"nav-link dropdown-toggle"} href="#" data-toggle="dropdown">
Blogs
</a>
<ul className="dropdown-menu">
{Blogs.map((val,i)=>
<MenuLink topMenu={'Blogs'} val={val} key={i} setCurrentTopRoute={setCurrentTopRoute} />)}
</ul>
{/* /.dropdown-menu */}
</li>
{/* End li */}
<li className={currentTopRoute == 'Docs' ? "nav-item active dropdown":"nav-item dropdown" }>
<a className={currentTopRoute == 'Docs' ? "nav-link dropdown-toggle active":"nav-link dropdown-toggle"} href="#" data-toggle="dropdown">
Docs
</a>
<ul className="dropdown-menu">
{Docs.map((val, i) => (
<MenuLink topMenu={'Docs'} val={val} key={i} setCurrentTopRoute={setCurrentTopRoute} />
))}
</ul>
{/* /.dropdown-menu */}
</li>
{/* End li */}
</ul>
);
// End navbar nav mega menu main
};
export default MegaMenu;