1import{a$ as w,bk as v,bC as k,bD as C,b2 as s,b3 as u,b5 as p,b9 as e,b7 as l,bd as m,be as b,b6 as I,bb as c,bp as $,bc as B,b4 as D,ba as N,bq as T,bi as L}from"./DVAJMTn2.js";import{c as V}from"./DV5smsH8.js";import"./DBaLkx8M.js";const q={class:"grid gap-10"},A=["textContent"],E={class:"gap-4 grid md:grid-cols-2 lg:grid-cols-3"},j={class:"mb-2 text-base text-navy font-medium"},F={class:"text-slate text-sm leading-[1.7]"},K={class:"mt-4 gap-1 flex items-center text-sm group-not-hover:opacity-40 transition-opacity"},O=w({__name:"TutorialsIndex",async setup(S){let o,_;const{locale:r}=v(),{data:h}=([o,_]=k(async()=>C(()=>`tutorials-index-${r.value}`,async()=>await V(`content_${r.value}`).where("path","LIKE","%/tutorials/%").all(),{watch:[r],default:()=>[]})),o=await o,_(),o),x=L(()=>{const t={};for(const i of h.value){const a=i.meta.category;t[a]??=[],t[a].push(i)}return t});return(t,i)=>{const a=N,g=$,f=T;return s(),u(f,{class:"bg-white"},{default:p(()=>[e("div",q,[(s(!0),l(m,null,b(I(x),(y,d)=>(s(),l("section",{key:d},[e("h5",{class:"mb-4 uppercase tracking-wide text-sm text-navy/50 font-semibold",textContent:c(t.$t(d))},null,8,A),e("div",E,[(s(!0),l(m,null,b(y,n=>(s(),u(g,{key:n.id,to:n.path,class:"group block p-6 h-max rounded-md cursor-pointer transition-colors [&:hover,&:focus-within]:bg-slate-light/10"},{default:p(()=>[e("h4",j,c(n.meta.short_title),1),e("p",F,c(n.description),1),e("span",K,[B(c(t.$t("read_more"))+" ",1),D(a,{name:"lucide:arrow-right"})])]),_:2},1032,["to"]))),128))])]))),128))])]),_:1})}}}),J=Object.assign(O,{__name:"TutorialsIndex"});export{J as default};
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.