Spaces:
Running
Running
| "use client"; | |
| import { SectionHeader } from "@/components/home/section-header"; | |
| import { siteConfig } from "@/lib/home"; | |
| export function BentoSection() { | |
| const { title, description, items } = siteConfig.bentoSection; | |
| return ( | |
| <section | |
| id="bento" | |
| className="flex flex-col items-center justify-center w-full relative" | |
| > | |
| <div className="border-x mx-auto relative w-full max-w-6xl px-6"> | |
| <SectionHeader> | |
| <h2 className="text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance pb-1"> | |
| {title} | |
| </h2> | |
| <p className="text-muted-foreground text-center text-balance font-medium"> | |
| {description} | |
| </p> | |
| </SectionHeader> | |
| <div className="grid grid-cols-1 md:grid-cols-2 overflow-hidden"> | |
| {items.map((item) => ( | |
| <div | |
| key={item.id} | |
| className="flex flex-col items-start justify-end min-h-[600px] md:min-h-[500px] p-0.5 relative before:absolute before:-left-0.5 before:top-0 before:z-10 before:h-screen before:w-px before:bg-border before:content-[''] after:absolute after:-top-0.5 after:left-0 after:z-10 after:h-px after:w-screen after:bg-border after:content-[''] group cursor-pointer max-h-[400px] group" | |
| > | |
| <div className="relative flex size-full items-center justify-center h-full overflow-hidden"> | |
| {item.content} | |
| </div> | |
| <div className="flex-1 flex-col gap-2 p-6"> | |
| <h3 className="text-lg tracking-tighter font-semibold"> | |
| {item.title} | |
| </h3> | |
| <p className="text-muted-foreground">{item.description}</p> | |
| </div> | |
| </div> | |
| ))} | |
| </div> | |
| </div> | |
| </section> | |
| ); | |
| } | |