27 lines
682 B
TypeScript
27 lines
682 B
TypeScript
|
|
import { Outlet, useNavigate, useLocation } from 'react-router';
|
||
|
|
import { Tabs } from '@cameleer/design-system';
|
||
|
|
|
||
|
|
const ADMIN_TABS = [
|
||
|
|
{ label: 'User Management', value: '/admin/rbac' },
|
||
|
|
{ label: 'Audit Log', value: '/admin/audit' },
|
||
|
|
{ label: 'OIDC', value: '/admin/oidc' },
|
||
|
|
{ label: 'Database', value: '/admin/database' },
|
||
|
|
{ label: 'OpenSearch', value: '/admin/opensearch' },
|
||
|
|
];
|
||
|
|
|
||
|
|
export default function AdminLayout() {
|
||
|
|
const navigate = useNavigate();
|
||
|
|
const location = useLocation();
|
||
|
|
|
||
|
|
return (
|
||
|
|
<div>
|
||
|
|
<Tabs
|
||
|
|
tabs={ADMIN_TABS}
|
||
|
|
active={location.pathname}
|
||
|
|
onChange={(path) => navigate(path)}
|
||
|
|
/>
|
||
|
|
<Outlet />
|
||
|
|
</div>
|
||
|
|
);
|
||
|
|
}
|