/* eslint-disable @typescript-eslint/no-explicit-any */ 'use client' import React, { useEffect, useRef, useState } from 'react' import Link from 'next/link' import Cookies from 'js-cookie' import { UserTypes } from '@/Constant/enums' interface CustomModalProps { onHide: () => void isPinned: boolean setIsPinned: React.Dispatch> togglePin: () => void toggleLogin: () => void } const menuItems = [ { label: 'My Profile', href: '/my-profile', icon: 'fa-user', gradient: 'bg-purple' }, { label: 'Staff', href: '/add-users', icon: 'fa-user-plus', gradient: 'bg-purple' }, { label: 'Shipments', href: '/shipments', icon: 'fa-truck', gradient: 'bg-purple' }, { label: 'Orders', href: '/my-orders', icon: 'fa-cube', gradient: 'bg-purple' }, { label: 'Invoices', href: '/group-invoices', icon: 'fa-file-invoice', gradient: 'bg-purple' }, { label: 'Bulk Orders', href: '/bulk-orders', icon: 'fa-boxes', gradient: 'bg-purple' }, { label: 'Settlements', href: '/settlements', icon: 'fa-money-bill-transfer', gradient: 'bg-purple' }, { label: 'Privacy Policy', href: '/privacy-policy', icon: 'fa-shield-halved', gradient: 'bg-purple' }, { label: 'Terms & Conditions', href: '/terms-conditions', icon: 'fa-clipboard', gradient: 'bg-purple' }, ] const MenuModal: React.FC = ({ onHide, isPinned, toggleLogin }) => { const modalRef = useRef(null) const [isLoggedIn, setIsLoggedIn] = useState(false) const [currentPath, setCurrentPath] = useState('') const [allData, setAllData] = useState(null) useEffect(() => { if (typeof window === 'undefined') return const token = localStorage.getItem('AUTH_TOKEN') setIsLoggedIn(!!token) setCurrentPath(window.location.pathname) const storedUser = localStorage.getItem('ALL_DATA') if (storedUser) { setAllData(JSON.parse(storedUser)?.data ?? null) } }, []) const clearData = () => { localStorage.clear() Cookies.remove('AUTH_TOKEN') } const filteredMenu = menuItems.filter((item) => { const userType = allData?.userType?.id if (userType === UserTypes.NormalCustomer) return !['/add-users', '/settlements', '/shipments'].includes(item.href) if (userType !== UserTypes.InternationalCustomer) return item.href !== '/shipments' return true }) const handleAuthAction = () => { onHide() if (isLoggedIn) { clearData() window.location.href = '/dashboard' } else { toggleLogin() } } return ( <>
{/* Header */}

{allData?.firstName} {allData?.lastName}

{allData?.email}

{/* Menu List */}
{filteredMenu.map((item, index) => { const isActive = currentPath === item.href return ( {item.label} ) })}
{/* Footer */}
Copyright{' '} 2025 by Delybell
) } export default MenuModal