Files
lcbp3/frontend/app/(admin)/layout.tsx
admin b84284f8a9
All checks were successful
Build and Deploy / deploy (push) Successful in 4m55s
260218:1712 20260218 TASK-BEFE-001n
2026-02-18 17:12:11 +07:00

25 lines
689 B
TypeScript

import { AdminSidebar } from '@/components/admin/sidebar';
import { auth } from '@/lib/auth';
import { redirect } from 'next/navigation';
export default async function AdminLayout({ children }: { children: React.ReactNode }) {
const session = await auth();
// Validate Admin or DC role
const userRole = session?.user?.role;
const isAdmin = userRole === 'ADMIN' || userRole === 'DC';
if (!session || !isAdmin) {
redirect('/dashboard'); // Redirect unauthorized users to dashboard
}
return (
<div className="flex h-screen w-full bg-background">
<AdminSidebar />
<div className="flex-1 overflow-auto bg-muted/10 p-4">{children}</div>
</div>
);
}