import{r as c,P as t,j as e,a as d,b as m,m as l,A as x,B as i,L as h}from"./index-CW-Vb8Jq.js";import{P as u}from"./PageHero-CjPCs-1o.js";import{E as g}from"./external-link-COSetifo.js";import{A as p}from"./arrow-right-D3SJ-8y6.js";function v(){const[s,o]=c.useState("All"),n=s==="All"?t:t.filter(r=>r.category===s);return e.jsxs(e.Fragment,{children:[e.jsx(u,{eyebrow:"Portfolio",title:"Selected work across the stack",subtitle:"A mix of client work and product launches. Use the filters to narrow by category."}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container-px mx-auto max-w-7xl",children:[e.jsx("div",{className:"mb-10 flex flex-wrap justify-center gap-2",children:d.map(r=>e.jsx("button",{onClick:()=>o(r),className:m("rounded-full border px-4 py-2 text-sm font-medium transition-all",s===r?"border-transparent bg-gradient-hero text-primary-foreground shadow-elegant":"border-border bg-card hover:border-primary/40"),children:r},r))}),e.jsx(l.div,{layout:!0,className:"grid gap-8 md:grid-cols-2 lg:grid-cols-3",children:e.jsx(x,{mode:"popLayout",children:n.map(r=>e.jsxs(l.article,{layout:!0,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"group overflow-hidden rounded-2xl border border-border bg-card shadow-card transition-all hover:-translate-y-1 hover:shadow-elegant",children:[e.jsx("div",{className:"aspect-[16/10] overflow-hidden bg-secondary",children:e.jsx("img",{src:r.image,alt:r.title,loading:"lazy",width:1280,height:800,className:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-105"})}),e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"text-xs font-medium uppercase tracking-wider text-primary",children:r.category}),e.jsx("h3",{className:"mt-2 text-lg font-semibold",children:r.title}),e.jsx("p",{className:"mt-2 text-sm text-muted-foreground line-clamp-2",children:r.summary}),e.jsx("div",{className:"mt-3 flex flex-wrap gap-1.5",children:r.tech.slice(0,4).map(a=>e.jsx("span",{className:"rounded-full bg-secondary px-2 py-0.5 text-xs",children:a},a))}),e.jsxs("div",{className:"mt-5 flex gap-2",children:[e.jsx(i,{asChild:!0,size:"sm",variant:"outline",children:e.jsxs("a",{href:r.live??"#",children:[e.jsx(g,{className:"mr-1.5 h-3.5 w-3.5"})," Live"]})}),e.jsx(i,{asChild:!0,size:"sm",className:"bg-gradient-hero hover:opacity-95",children:e.jsxs(h,{to:"/portfolio/$slug",params:{slug:r.slug},children:["Case Study ",e.jsx(p,{className:"ml-1.5 h-3.5 w-3.5"})]})})]})]})]},r.slug))})})]})})]})}export{v as component};
