import { Suspense } from "react" import { type Metadata } from "next" import dynamic from "next/dynamic" import { siteConfig } from "@/lib/config" import { absoluteUrl } from "@/lib/utils" import { Skeleton } from "@/styles/base-nova/ui/skeleton" import { Customizer } from "@/app/(app)/(create)/components/customizer" import { PresetHandler } from "@/app/(app)/(create)/components/preset-handler" import { Preview } from "@/app/(app)/(create)/components/preview" import { PreviewOverrideProvider } from "@/app/(app)/(create)/components/preview-override" import { getAllItems } from "@/app/(app)/(create)/lib/api" // Only shown on first visit (checks localStorage). const WelcomeDialog = dynamic(() => import("@/app/(app)/(create)/components/welcome-dialog").then( (m) => m.WelcomeDialog ) ) export const metadata: Metadata = { title: "New Project", description: "Customize everything. Pick your component library, icons, base color, theme, fonts and create your own version of shadcn/ui.", openGraph: { title: "New Project", description: "Customize everything. Pick your component library, icons, base color, theme, fonts and create your own version of shadcn/ui.", type: "website", url: absoluteUrl("/create"), images: [ { url: siteConfig.ogImage, width: 1200, height: 630, alt: siteConfig.name, }, ], }, twitter: { card: "summary_large_image", title: "New Project", description: "Customize everything. Pick your component library, icons, base color, theme, fonts and create your own version of shadcn/ui.", images: [siteConfig.ogImage], creator: "@shadcn", }, } export default function CreatePage() { return (
} >
) } async function CustomizerLoader() { const itemsByBase = await getAllItems() return }