SPB Git forge
3commits 1branches 0releases
417.0 KBsize
maindefault branch
10 days agolast push
TypeScript 66.5% Python 30.9% JavaScript 1.4% CSS 0.7%
862 B · 21 lines tsx
Raw Blame History
1import type { ReactNode } from 'react';2import { AdminNav } from '@/components/admin/nav';3import { Container } from '@/components/ui/section';4import { requireAdmin } from '@/lib/admin-auth';56/** Every page in this group requires the admin session cookie; anonymous visitors are redirected to /admin/login. */7export default async function AdminProtectedLayout({ children }: { children: ReactNode }) {8  await requireAdmin();9  return (10    <Container wide className="py-6 md:py-8">11      <div className="grid gap-6 lg:grid-cols-[200px_minmax(0,1fr)] lg:gap-10">12        <aside className="min-w-0 lg:sticky lg:top-[calc(var(--header-h)+1.5rem)] lg:self-start">13          <p className="eyebrow mb-2 hidden lg:block">Admin console</p>14          <AdminNav />15        </aside>16        <div className="min-w-0">{children}</div>17      </div>18    </Container>19  );20}21