35 lines
697 B
TypeScript
35 lines
697 B
TypeScript
'use client';
|
|
|
|
import { useEffect } from 'react';
|
|
import { useRouter } from 'next/navigation';
|
|
import { useAuthStore } from '@/stores/auth-store';
|
|
import { Sidebar } from '@/components/layouts/sidebar';
|
|
|
|
export default function DashboardLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
const router = useRouter();
|
|
const { isAuthenticated } = useAuthStore();
|
|
|
|
useEffect(() => {
|
|
if (!isAuthenticated) {
|
|
router.push('/login');
|
|
}
|
|
}, [isAuthenticated, router]);
|
|
|
|
if (!isAuthenticated) {
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<div className="min-h-screen bg-background">
|
|
<Sidebar />
|
|
<div className="pl-64">
|
|
{children}
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|