"use client"; import { useEffect } from "react"; import { usePathname, useRouter } from "next/navigation"; import { useAuth } from "@/lib/auth"; const PUBLIC_PATHS = ["/login"]; export default function RequireStoreAuth({ children, }: { children: React.ReactNode; }) { const { user, loading } = useAuth(); const pathname = usePathname(); const router = useRouter(); const isPublic = PUBLIC_PATHS.some( (p) => pathname === p || pathname.startsWith(`${p}/`), ); useEffect(() => { if (loading || isPublic) return; if (!user) { router.replace("/login"); return; } if (user.role === "CUSTOMER") { router.replace("/login?as=customer"); } }, [user, loading, isPublic, router]); if (isPublic) return <>{children}; if (loading) { return (
در حال بارگذاری…
); } if (!user || user.role === "CUSTOMER") return null; return <>{children}; }