"use client"; import { useState, useEffect } from "react"; import Link from "next/link"; import { Menu, Heart, Truck, ShoppingCart, User } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { Sheet, SheetContent, SheetHeader, SheetTitle, } from "@/components/ui/sheet"; import { ScrollArea } from "@/components/ui/scroll-area"; import { useCategories, useFavorites, useOrders } from "@/lib/hooks"; import { useCartCount } from "@/features/cart/hooks/useCart"; import { useRouter } from "next/navigation"; import { useAuthStatus } from "@/lib/hooks/useAuth"; import { useTranslations } from "next-intl"; import AuthDialog from "./ui/AuthDialog"; interface MobileBottomNavProps { locale?: string; translations?: { catalog: string; favorites: string; orders: string; cart: string; login: string; profile: string; }; onLoginClick?: () => void; } export default function MobileBottomNav({ locale = "ru", translations, onLoginClick, }: MobileBottomNavProps) { const [isClient, setIsClient] = useState(false); const [isCategoryOpen, setIsCategoryOpen] = useState(false); const [isLoginOpen, setIsLoginOpen] = useState(false); const t = useTranslations(); const { isAuthenticated, isLoading: authLoading } = useAuthStatus(); const { data: categories = [] } = useCategories(); const cartCount = useCartCount(); const { data: favoritesData } = useFavorites(); const { data: ordersData } = useOrders(); const router = useRouter(); useEffect(() => { setIsClient(true); }, []); const handleProfileClick = (e: React.MouseEvent) => { e.preventDefault(); e.stopPropagation(); if (authLoading) { return; } if (isAuthenticated) { router.push(`/${locale}/me`); } else { if (onLoginClick) { onLoginClick(); } else { setIsLoginOpen(true); } } }; const handleNavigation = (path: string) => (e: React.MouseEvent) => { e.preventDefault(); router.push(path); }; if (!isClient) return null; return ( <> {/* Mobile Bottom Navigation */}