1import{d as P,l as v,a2 as b,J as C,K as w,aw as B,ax as $,aI as k,m as I,p as R,b8 as A,x as f,o as l,c as j,a as u,t as D,u as o,j as N,w as F,F as O,r as Q,B as U,aQ as V,a$ as g,z as y}from"./ASbL1Jro.js";import{_ as z}from"./D46FYlbx.js";import{p as E}from"./CQdVcZz1.js";import"./paSwKgkt.js";import"./D0-3Oi8a.js";const J={class:"py-8"},K={class:"container"},L={class:"mb-8 text-3xl font-bold text-surface"},M={class:"grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3"},Y=P({name:"CommunityProjects",__name:"index",async setup(T){let r,p;const{t:a}=v(),{$reader:x}=b();C({title:a("projects.title"),ogTitle:a("projects.title")}),w(0),B({title:a("projects.title")}),$([k({"@type":"CollectionPage",name:a("projects.title")})]);const h=I();function d({q:e,categoryIds:s}){const c=s.map(S=>`category_ids[]=${S}`).join("&"),i=e?"/community/projects/search":"/community/projects",t=c?`${i}?${c}`:i;return x(t,{transform:g,query:e?{q:e}:{}})}const{data:_}=([r,p]=R(()=>A("projects-init",()=>d(E(h.query)))),r=await r,p(),r),n=f(_.value?.data??[]),m=f(_.value?.meta??null);return(e,s)=>{const c=V,i=z;return l(),j("div",J,[u("div",K,[u("h1",L,D(o(a)("projects.title")),1),N(i,{items:o(n),"onUpdate:items":s[0]||(s[0]=t=>y(n)?n.value=t:null),meta:o(m),"onUpdate:meta":s[1]||(s[1]=t=>y(m)?m.value=t:null),fetcher:d,transform:"transformProjectSummaries"in e?e.transformProjectSummaries:o(g)},{default:F(()=>[u("div",M,[(l(!0),j(O,null,Q(o(n),t=>(l(),U(c,{key:t.id,project:t},null,8,["project"]))),128))])]),_:1},8,["items","meta","transform"])])])}}});export{Y 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.