24 lines
579 B
TypeScript
24 lines
579 B
TypeScript
'use client';
|
|
|
|
import { ReactNode } from 'react';
|
|
import { RouteGuard } from '@/lib/gateways/RouteGuard';
|
|
|
|
interface AdminLayoutProps {
|
|
children: ReactNode;
|
|
}
|
|
|
|
/**
|
|
* Admin Layout
|
|
*
|
|
* Provides role-based protection for admin routes.
|
|
* Uses RouteGuard to ensure only users with 'owner' or 'admin' roles can access.
|
|
*/
|
|
export default function AdminLayout({ children }: AdminLayoutProps) {
|
|
return (
|
|
<RouteGuard config={{ requiredRoles: ['owner', 'admin'] }}>
|
|
<div className="min-h-screen bg-deep-graphite">
|
|
{children}
|
|
</div>
|
|
</RouteGuard>
|
|
);
|
|
} |