"use client"; // ============================================================================ // Protected Route Component // ============================================================================ import React, { useEffect } from "react"; import { useRouter, useParams } from "next/navigation"; import { useAuth } from "./auth-provider"; import { isDemoWorkspace } from "@/lib/demo"; interface ProtectedRouteProps { children: React.ReactNode; } export const ProtectedRoute: React.FC = ({ children }) => { const { user, loading } = useAuth(); const router = useRouter(); const params = useParams(); // Check if this is demo mode const workspaceId = params?.workspaceId as string | undefined; const isDemo = isDemoWorkspace(workspaceId); useEffect(() => { // Skip auth check for demo mode if (isDemo) return; if (!loading && !user) { router.push("/login"); } }, [user, loading, router, isDemo]); // Demo mode - skip auth entirely if (isDemo) { return <>{children}; } if (loading) { return (

Загрузка...

); } if (!user) { return null; } return <>{children}; };