33 lines
923 B
TypeScript
33 lines
923 B
TypeScript
import KBar from '@/components/kbar';
|
|
import AppSidebar from '@/components/layout/app-sidebar';
|
|
import Header from '@/components/layout/header';
|
|
import { SidebarInset, SidebarProvider } from '@/components/ui/sidebar';
|
|
import type { Metadata } from 'next';
|
|
import { cookies } from 'next/headers';
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'Next Shadcn Dashboard Starter',
|
|
description: 'Basic dashboard with Next.js and Shadcn'
|
|
};
|
|
|
|
export default async function DashboardLayout({
|
|
children
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
// Persisting the sidebar state in the cookie.
|
|
const cookieStore = await cookies();
|
|
const defaultOpen = cookieStore.get("sidebar_state")?.value === "true"
|
|
return (
|
|
<KBar>
|
|
<SidebarProvider defaultOpen={defaultOpen}>
|
|
<AppSidebar />
|
|
<SidebarInset>
|
|
<Header />
|
|
{children}
|
|
</SidebarInset>
|
|
</SidebarProvider>
|
|
</KBar>
|
|
);
|
|
}
|