'use client'; import { useCart } from '@/app/[name]/(Dialogs)/cart/hook/useCart'; import { useGetProfile } from '@/app/[name]/(Profile)/profile/hooks/userProfileData'; import { glassSurfaceNav } from '@/lib/styles/glassSurface'; import clsx from 'clsx'; import type { Icon } from 'iconsax-react'; import { Bag2, Building, Heart, Home2, Receipt21 } from 'iconsax-react'; import Link from 'next/link'; import { useParams, usePathname, useRouter } from 'next/navigation'; import { useMemo } from 'react'; import { toast } from '../Toast'; type NavItemProps = { href?: string; isActive: boolean; onClick?: (e: React.MouseEvent) => void; Icon: Icon; badge?: number; }; function NavItem({ href, isActive, onClick, Icon, badge }: NavItemProps) { const className = clsx('flex-1 flex items-center justify-center h-full rounded-full', isActive && 'bg-primary/12'); const icon = ( {badge != null && badge > 0 && ( {badge > 99 ? '99+' : badge} )} ); return ( {icon} ); } function BottomNavBar() { const params = useParams(); const name = params.name as string; const pathname = usePathname(); const router = useRouter(); const { isSuccess } = useGetProfile(); const { items } = useCart(); const cartItemCount = useMemo( () => Object.values(items).reduce((sum, item) => sum + (item?.quantity ?? 0), 0), [items], ); const isCartActive = pathname.startsWith(`/${name}/cart`); const isOrderActive = pathname.includes('/order'); const isHomeActive = pathname === `/${name}`; const isAboutActive = pathname.startsWith(`/${name}/about`); const isFavoriteActive = pathname.startsWith(`/${name}/favorite`); const handleFavoritesClick = (e: React.MouseEvent) => { e.preventDefault(); if (isSuccess) { router.push(`/${name}/favorite`); } else { e.stopPropagation(); toast('ابتدا لاگین کنید', 'error'); router.replace(`/${name}/auth`); } }; return (
); } export default BottomNavBar;