1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3831],{68044:(e,l,s)=>{"use strict";s.d(l,{default:()=>n});var t=s(95155),a=s(12115),r=s(6874),i=s.n(r);function n({slug:e,metadata:l}){let[s,r]=a.useState(!1),n=new Date(l.date).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",timeZone:"UTC"}),d=(e.includes("/"),`/blog/${e}`);return(0,t.jsxs)(i(),{href:d,className:"group flex flex-col overflow-hidden rounded-lg border bg-card transition-colors hover:bg-muted/50",children:[l.image&&(0,t.jsx)("div",{className:"aspect-video overflow-hidden",children:(0,t.jsx)("div",{className:"w-full h-48 relative bg-muted",children:(0,t.jsx)("img",{src:s?"/placeholder.svg":l.image,alt:l.title,className:"w-full h-full object-cover transition-transform group-hover:scale-105",onError:()=>r(!0)})})}),(0,t.jsxs)("div",{className:"flex flex-col justify-between flex-1 p-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-xl font-semibold leading-tight tracking-tight",children:l.title}),(0,t.jsx)("p",{className:"mt-2 line-clamp-3 text-muted-foreground",children:l.description})]}),(0,t.jsxs)("div",{className:"mt-6 flex items-center gap-2",children:[(0,t.jsx)("time",{className:"text-sm text-muted-foreground",dateTime:l.date,children:n}),l.tags&&l.tags.length>0&&(0,t.jsx)("div",{className:"ml-auto flex flex-wrap gap-1",children:l.tags.slice(0,2).map(e=>(0,t.jsx)("span",{className:"inline-flex items-center rounded-full bg-primary/10 px-2 py-1 text-xs text-primary",children:e},e))})]})]})]})}},71825:(e,l,s)=>{Promise.resolve().then(s.bind(s,68044)),Promise.resolve().then(s.t.bind(s,6874,23))}},e=>{e.O(0,[6874,5333,7358],()=>e(e.s=71825)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.