Search for a command to run...
Clean, modern templates. Copy and paste into your apps. Works with all React frameworks. Open Source. Free forever.
import { AppSidebar } from "./components/app-sidebar" import { ChartAreaInteractive } from "./components/chart-area-interactive" import { DataTable } from "./components/data-table" import { SectionCards } from "./components/section-cards" import { SiteHeader } from "./components/site-header" import { SidebarInset, SidebarProvider, } from "@/components/ui/sidebar" import data from "./data.json" export default function Page() { return ( <SidebarProvider style={ { "--sidebar-width": "calc(var(--spacing) * 72)", "--header-height": "calc(var(--spacing) * 12)", } as React.CSSProperties } > <AppSidebar variant="inset" /> <SidebarInset> <SiteHeader /> <div className="flex flex-1 flex-col"> <div className="@container/main flex flex-1 flex-col gap-2"> <div className="flex flex-col gap-4 py-4 md:ga md:py-6"> <SectionCards /> <div className=""> <ChartAreaInteractive /> </div> <DataTable data={data} /> </div> </div> </div> </SidebarInset> </SidebarProvider> ) }
import { Hero } from "@/components/hero-07" import { dictionary } from "@/registry/bases/base/blocks/hero-07/hero-07-dictionary" export default async function Page({ params, }: { params?: Promise<{ lang?: string }> }) { const { lang } = (await params) ?? {} const locale = lang === "ar" ? "ar" : "en" return <Hero dictionary={dictionary[locale]} lang={locale} /> }
import { Pricing } from "@/components/pricing-01" import { dictionary } from "@/registry/bases/base/blocks/pricing-01/pricing-01-dictionary" export default async function Page({ params, }: { params?: Promise<{ lang?: string }> }) { const { lang } = (await params) ?? {} const locale = lang === "ar" ? "ar" : "en" return <Pricing dictionary={dictionary[locale]} lang={locale} /> }
import { AppSidebar } from "./components/app-sidebar" import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "@/components/ui/breadcrumb" import { Separator } from "@/components/ui/separator" import { SidebarInset, SidebarProvider, SidebarTrigger, } from "@/components/ui/sidebar" export default function Page() { return ( <SidebarProvider> <AppSidebar /> <SidebarInset> <header className="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12"> <div className="flex items-center gap-2 px-4"> <SidebarTrigger className="-ml-1" /> <Separator orientation="vertical" className="mr-2 data-[orientation=vertical]:h-4" /> <Breadcrumb> <BreadcrumbList> <BreadcrumbItem className="hidden md:block"> <BreadcrumbLink href="#"> Building Your Application </BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator className="hidden md:block" /> <BreadcrumbItem> <BreadcrumbPage>Data Fetching</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> </div> </header> <div className="flex flex-1 flex-col gap-4 p-4 pt-0"> <div className="grid auto-rows-min gap-4 md:grid-cols-3"> <div className="bg-muted/50 aspect-video rounded-xl" /> <div className="bg-muted/50 aspect-video rounded-xl" /> <div className="bg-muted/50 aspect-video rounded-xl" /> </div> <div className="bg-muted/50 min-h-[100vh] flex-1 rounded-xl md:min-h-min" /> </div> </SidebarInset> </SidebarProvider> ) }
import { GalleryVerticalEnd } from "lucide-react" import { LoginForm } from "./components/login-form" export default function LoginPage() { return ( <div className="bg-muted flex min-h-svh flex-col items-center justify-center ga "> <div className="flex w-full max-w-sm flex-col ga"> <a href="#" className="flex items-center gap-2 self-center font-medium"> <div className="bg-primary text-primary-foreground flex size-6 items-center justify-center rounded-md"> <GalleryVerticalEnd className="size-4" /> </div> Acme Inc. </a> <LoginForm /> </div> </div> ) }