Files
zeekay 05fc512820 feat: sync upstream shadcn/ui — [email protected], v4 app, font system, chart improvements
Upstream sync from shadcn-ui/ui (1686 commits since last merge base).

Key changes:
- packages/shadcn upgraded to 4.1.0 (CLI font transformers, scaffold from github, chart colors)
- apps/v4 replaces apps/www as the primary docs/registry app
- Font system: 25+ heading font registries, font markers utility, @supports override
- Chart improvements: recharts v3 compat, radial chart fixes
- templates/ updated with monorepo variants (astro, vite, react-router, start)
- skills/shadcn AI skill definitions added
- deprecated/ removed (auth, auth-firebase, cli, www)

Preserved Hanzo-only paths: app/, pkg/, demo/, docs/, template/next/
2026-03-24 19:04:31 -07:00

67 lines
1.7 KiB
TypeScript

import { Figtree, Inter, Noto_Sans, Nunito_Sans } from "next/font/google"
import { cn } from "@/lib/utils"
import { ModeSwitcher } from "@/components/mode-switcher"
import { Separator } from "@/registry/new-york-v4/ui/separator"
import {
SidebarInset,
SidebarProvider,
SidebarTrigger,
} from "@/registry/new-york-v4/ui/sidebar"
import { AppBreadcrumbs } from "@/app/(internal)/sink/components/app-breadcrumbs"
import { AppSidebar } from "@/app/(internal)/sink/components/app-sidebar"
import { ThemeSelector } from "@/app/(internal)/sink/components/theme-selector"
const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
})
const notoSans = Noto_Sans({
subsets: ["latin"],
variable: "--font-noto-sans",
})
const nunitoSans = Nunito_Sans({
subsets: ["latin"],
variable: "--font-nunito-sans",
})
const figtree = Figtree({
subsets: ["latin"],
variable: "--font-figtree",
})
export default async function SinkLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<SidebarProvider
defaultOpen={true}
className={cn(
"theme-container",
inter.variable,
notoSans.variable,
nunitoSans.variable,
figtree.variable
)}
>
<AppSidebar />
<SidebarInset>
<header className="sticky top-0 z-10 flex h-14 items-center border-b bg-background p-4">
<SidebarTrigger />
<Separator orientation="vertical" className="mr-4 ml-2 h-4!" />
<AppBreadcrumbs />
<div className="ml-auto flex items-center gap-2">
<ModeSwitcher />
<ThemeSelector />
</div>
</header>
{children}
</SidebarInset>
</SidebarProvider>
)
}