PageSourceSearch

https://www.talksign.co/assets/blog-nsG5B_Ui.js

js talksign.co collected 2026-10-08 13:47:51 UTC 6,291 bytes, 1 lines download raw bytes

1import{i as e,o as t,ot as n,t as r,tt as i,y as a}from"./router-compat-DFHhdx8D.js";import{n as o,r as s,t as c}from"./SEOHead-hZrYvqxs.js";import{t as l}from"./search-DvPt3DSD.js";import{t as u}from"./useCategories-FOnEAML7.js";import{r as d}from"./useBlogPosts-Bv-de5si.js";import{t as f}from"./format-CqKAO6kk.js";import{t as p}from"./BlogPagination-CJmib50n.js";var m=n(i(),1),h=a(),g=e=>e?f(new Date(e),`MMM d, yyyy`):``,_=({post:e})=>(0,h.jsx)(r,{to:`/blog/${e.slug}`,className:`group block`,children:(0,h.jsxs)(`article`,{children:[(0,h.jsx)(`div`,{className:`relative aspect-[4/3] overflow-hidden rounded-2xl bg-secondary mb-5`,children:e.cover_image_url?(0,h.jsx)(`img`,{src:e.cover_image_url,alt:e.title,className:`w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]`,loading:`lazy`}):(0,h.jsx)(`div`,{className:`w-full h-full`})}),(0,h.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-2`,children:[e.categories&&(0,h.jsx)(`span`,{className:`text-foreground`,children:e.categories.name}),e.published_at&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,h.jsx)(`time`,{dateTime:e.published_at,children:g(e.published_at)})]})]}),(0,h.jsx)(`h3`,{className:`text-lg font-medium tracking-tight text-foreground leading-snug group-hover:text-muted-foreground transition-colors mb-2`,children:e.title}),(0,h.jsx)(`p`,{className:`!text-[14.5px] text-muted-foreground leading-relaxed line-clamp-2`,children:e.excerpt})]})}),v=()=>{let[n,i]=t(),a=e(),f=parseInt(n.get(`page`)??`1`),[v,y]=(0,m.useState)(``),{data:b}=u(),{data:x,isLoading:S}=d({published:!0,page:f,perPage:12}),C=Math.ceil((x?.total??0)/12),w=x?.posts??[],T=(0,m.useMemo)(()=>w.find(e=>e.featured)||w[0],[w]),E=w.filter(e=>e!==T);return(0,h.jsxs)(`div`,{className:`min-h-screen bg-background`,children:[(0,h.jsx)(c,{title:`Talksign Blog | Insights on Voice AI & Accessibility`,description:`Explore articles on voice AI, sign language technology, accessibility innovation, and the future of inclusive communication from the Talksign team.`,path:`/blog`,jsonLd:{"@context":`https://schema.org`,"@type":`Blog`,name:`Talksign Blog`,description:`Insights on voice AI, sign language technology, and accessibility`,url:`https://www.talksign.co/blog`,publisher:{"@type":`Organization`,name:`Talksign`}}}),(0,h.jsx)(s,{variant:`light`}),(0,h.jsx)(`main`,{className:`pt-32 pb-24`,children:(0,h.jsxs)(`div`,{className:`max-w-6xl mx-auto px-6`,children:[(0,h.jsxs)(`header`,{className:`text-center max-w-3xl mx-auto mb-16`,children:[(0,h.jsx)(`h1`,{className:`text-3xl md:text-4xl lg:text-5xl font-medium tracking-tight text-foreground leading-tight text-balance mb-5`,children:`Notes from the work of accessible communication`}),(0,h.jsx)(`p`,{className:`!text-[17px] text-muted-foreground leading-relaxed max-w-xl mx-auto`,children:`Research, product, and the ideas shaping what we build, written by the people behind the work.`})]}),(0,h.jsxs)(`div`,{className:`flex flex-col md:flex-row md:items-center md:justify-between gap-4 mb-14`,children:[(0,h.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,h.jsx)(r,{to:`/blog`,className:`text-[13.5px] font-medium rounded-full px-4 py-1.5 bg-foreground text-background`,children:`All`}),b?.filter(e=>e.slug!==`all`).map(e=>(0,h.jsx)(r,{to:`/blog/category/${e.slug}`,className:`text-[13.5px] font-medium rounded-full px-4 py-1.5 bg-secondary text-muted-foreground hover:text-foreground transition-colors`,children:e.name},e.id))]}),(0,h.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),v.trim()&&a(`/blog/search?q=${encodeURIComponent(v.trim())}`)},className:`flex items-center gap-2 bg-secondary rounded-full px-4 py-1.5 md:min-w-[240px]`,children:[(0,h.jsx)(l,{className:`w-4 h-4 text-muted-foreground shrink-0`}),(0,h.jsx)(`input`,{type:`search`,value:v,onChange:e=>y(e.target.value),placeholder:`Search`,"aria-label":`Search posts`,className:`border-0 bg-transparent !text-[14px] w-full outline-hidden text-foreground placeholder:text-muted-foreground`})]})]}),!S&&T&&(0,h.jsxs)(r,{to:`/blog/${T.slug}`,className:`group grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12 mb-20 items-center`,children:[(0,h.jsx)(`div`,{className:`relative aspect-[4/3] overflow-hidden rounded-2xl bg-secondary`,children:T.cover_image_url?(0,h.jsx)(`img`,{src:T.cover_image_url,alt:T.title,className:`w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]`,loading:`eager`}):(0,h.jsx)(`div`,{className:`w-full h-full`})}),(0,h.jsxs)(`div`,{children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-3`,children:[(0,h.jsx)(`span`,{className:`text-foreground`,children:`Featured`}),T.categories&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,h.jsx)(`span`,{children:T.categories.name})]}),T.published_at&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,h.jsx)(`time`,{dateTime:T.published_at,children:g(T.published_at)})]})]}),(0,h.jsx)(`h2`,{className:`text-2xl md:text-3xl lg:text-[34px] font-medium tracking-tight leading-[1.15] text-foreground group-hover:text-muted-foreground transition-colors mb-4 text-balance`,children:T.title}
1),(0,h.jsx)(`p`,{className:`!text-[16px] text-muted-foreground leading-relaxed max-w-[520px]`,children:T.excerpt})]})]}),S?(0,h.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-6 gap-y-12`,children:Array.from({length:6}).map((e,t)=>(0,h.jsxs)(`div`,{className:`animate-pulse`,children:[(0,h.jsx)(`div`,{className:`aspect-[4/3] bg-secondary rounded-2xl mb-5`}),(0,h.jsx)(`div`,{className:`h-3 w-24 bg-secondary rounded mb-3`}),(0,h.jsx)(`div`,{className:`h-5 w-3/4 bg-secondary rounded mb-2`}),(0,h.jsx)(`div`,{className:`h-4 w-full bg-secondary rounded`})]},t))}):E.length?(0,h.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-6 gap-y-12`,children:E.map(e=>(0,h.jsx)(_,{post:e},e.id))}):(0,h.jsx)(`div`,{className:`text-center py-20 text-muted-foreground`,children:`No stories yet.`}),(0,h.jsx)(`div`,{className:`mt-20`,children:(0,h.jsx)(p,{page:f,totalPages:C,onPageChange:e=>i({page:String(e)})})})]})}),(0,h.jsx)(o,{})]})};export{v as component};

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.