first commit

This commit is contained in:
2026-04-17 16:27:18 +08:00
commit 2138e1cc0d
51 changed files with 2125 additions and 0 deletions
@@ -0,0 +1,30 @@
'use client';
import { useEffect } from 'react';
import { useRouter } from 'next/navigation';
import { useAuthStore } from '@/lib/auth-store';
export default function ProtectedRoute({ children }: { children: React.ReactNode }) {
const { isAuthenticated, initialize } = useAuthStore();
const router = useRouter();
useEffect(() => {
initialize();
}, [initialize]);
useEffect(() => {
if (!isAuthenticated) {
router.push('/login');
}
}, [isAuthenticated, router]);
if (!isAuthenticated) {
return (
<div className="flex items-center justify-center min-h-[200px]">
<div className="text-muted-foreground">...</div>
</div>
);
}
return <>{children}</>;
}