PageSourceSearch

https://alliancy.fr/_nuxt/-pgKNZu6.js

js alliancy.fr collected 2026-10-02 02:51:15 UTC 5,748 bytes, 1 lines download raw bytes

1import{p as Z,_ as ee,a as te}from"./DacGR4hc.js";import{d as J,am as ae,l as L,o as u,c,a as w,t as x,u as t,ah as z,F as Q,r as H,b as q,a$ as se,m as ne,b0 as le,a2 as P,G as oe,p as re,ar as ue,J as ie,at as ce,cb as me,au as de,av as pe,aE as fe,ax as ve,x as A,a9 as T,br as ge,j as R,z as V,B as G,w as he,A as _e,e as p,aY as be,b3 as ye,aU as xe,v as Se,aB as ke}from"./BMrxR1rr.js";import{_ as Ce}from"./Dr-B7mvA.js";const Ve={key:0,class:"flex flex-wrap gap-2"},we=["onClick"],$e=J({name:"SearchScopeFilter",__name:"SearchScopeFilter",props:se({kinds:{}},{modelValue:{default:"all"},modelModifiers:{}}),emits:["update:modelValue"],setup(F){const g=F,h=ae(F,"modelValue"),{t:o}=L();return(S,$)=>g.kinds.length>0?(u(),c("div",Ve,[w("button",{type:"button",class:z(["rounded-full px-4 py-1.5 text-sm font-medium transition-colors cursor-pointer",h.value==="all"?"bg-primary text-surface":"bg-neutral-100 text-neutral-700 hover:bg-neutral-200"]),onClick:$[0]||($[0]=_=>h.value="all")},x(t(o)("search.filters.all")),3),(u(!0),c(Q,null,H(g.kinds,_=>(u(),c("button",{key:_,type:"button",class:z(["rounded-full px-4 py-1.5 text-sm font-medium transition-colors cursor-pointer",h.value===_?"bg-primary text-surface":"bg-neutral-100 text-neutral-700 hover:bg-neutral-200"]),onClick:I=>h.value=_},x(t(o)(`search.filters.${_}`)),11,we))),128))])):q("",!0)}}),Oe=Object.assign($e,{__name:"SearchScopeFilter"}),Re={class:"container py-8"},qe={class:"mb-4 text-2xl font-bold sm:mb-6 sm:text-3xl"},Fe={class:"mb-6 sm:mb-8"},je={key:1,class:"py-12 text-center text-surface"},Ae={key:2,class:"flex flex-col gap-10"},Ie={class:"mb-4 text-lg font-semibold"},Ne=["onClick"],Be={key:4,class:"py-12 text-center text-surface"},ze=J({__name:"search",async setup(F){let g,h;const{t:o}=L(),S=ne(),$=le(),{$reader:_}=P(),I=oe(),{media:W}=([g,h]=re(()=>ue()),g=await g,h(),g);ie({title:o("search.title"),ogTitle:o("search.title")}),ce().indexable&&me(),de({title:o("search.title")}),pe([fe({"@type":"SearchResultsPage",name:o("search.title")}),ve({itemListElement:[{name:W.value?.displayName||"Home",item:"/"},{name:o("search.title")}]})]);const N={contents:{endpoint:"/contents/search",transform:ke},people:{endpoint:"/community/people/search",transform:Se},organizations:{endpoint:"/community/organizations/search",transform:xe},events:{endpoint:"/community/events/search",transform:ye},projects:{endpoint:"/community/projects/search",transform:be}},m=p(()=>I.hub?.searchGroupOrder??["contents"]),d=A(S.query.q?.toString()||"");P().hook("search:query",e=>{d.value=e});const r=A(m.value.includes(S.query.type)?S.query.type:"all"),i=A(Z(S.query).categoryIds);T([d,r,i],()=>{$.replace({query:{q:d.value||void 0,type:r.value==="all"?void 0:r.value,categories:i.value.length>0?i.value.join(","):void 0}})});const B=p(()=>!!d.value||i.value.length>0),s=ge(Object.fromEntries(m.value.map(e=>[e,{items:[],meta:null,loading:!1}]))),O=p(()=>m.value.filter(e=>s[e].items.length>0)),D=p(()=>m.value.filter(e=>s[e].items.length>0||r.value===e)),l=p(()=>r.value!=="all"?r.value:m.value.length===1?m.value[0]:"all"),E=p(()=>Object.values(s).some(e=>e.loading)),Y=p(()=>l.value!=="all"?N[l.value].transform:null),k=p({get:()=>l.value!=="all"?s[l.value].items:[],set:e=>{l.value!=="all"&&(s[l.value].items=e)}}),j=p({get:()=>l.value!=="all"?s[l.value].meta:null,set:e=>{l.value!=="all"&&(s[l.value].meta=e)}});async function M(e,n){const b=N[e],f=i.value.map(v=>`category_ids[]=${v}`).join("&"),C=f?`${b.endpoint}?${f}`:b.endpoint;s[e].loading=!0;try{const{data:v,meta:y}=await _(C,{transform:b.transform,query:{q:d.value,limit:n}});s[e].items=v??[],s[e].meta=y??null}catch{s[e].items=[],s[e].meta=null}finally{s[e].loading=!1}}function K(){for(const e of m.value)s[e].items=[],s[e].meta=null,s[e].loading=!1}T([d,r,i],async([e,n,b],f)=>{if(!e&&i.value.length===0){K();return}const C=e!==f?.[0],v=JSON.stringify(i.value)!==JSON.stringify(f?.[2]),y=C||v;y&&await Promise.all(m.value.map(U=>M(U,5)));const a=l.value;a!=="all"&&(y||n!==f?.[1])&&await M(a,25)},{immediate:!0});function X(e){window.scrollTo({top:0,behavior:"smooth"}),r.value=e}return(e,n)=>{const b=ee,f=te,C=Oe,v=Ce,y=_e;return u(),c("div",Re,[w("h1",qe,x(t(o)("search.title")),1),R(b,{modelValue:t(d),"onUpdate:modelValue":n[0]||(n[0]=a=>V(d)?d.value=a:null),class:"mb-4 sm:mb-6"},null,8,["modelValue"]),w("div",Fe,[R(f,{modelValue:t(i),"onUpdate:modelValue":n[1]||(n[1]=a=>V(i)?i.value=a:null)},null,8,["modelValue"])]),t(B)&&t(m).length>1&&(t(O).length>0||t(r)!=="all")?(u(),G(C,{key:0,modelValue:t(r),"onUpdate:modelValue":n[2]||(n[2]=a=>V(r)?r.value=a:null),kinds:t(D),class:"mb-6 sm:mb-8"},null,8,["modelValue","kinds"])):q("",!0),t(E)&&t(O).length===0?(u(),c("div",je,[...n[5]||(n[5]=[w("div",{class:"inline-block h-6 w-6 animate-spin rounded-full border-2 border-current border-t-transparent"},null,-1)])])):t(l)==="all"&&t(O).length>0?(u(),c("div",Ae,[(u(!0),c(Q,null,H(t(O),a=>(u(),c("section",{key:a,class:"rounded-lg border border-neutral-200 p-4 sm:p-6"},[w("h2",Ie,x(t(o)(`search.filters.${a}`)),1),R(v,{type:a,items:t(s)[a].items.slice(0,5)},null,8,["type","items"]),t(s)[a].items.length>5||t(s)[a].meta?.next?(u(),c("button",{key:0,class:"mt-4 text-sm font-medium text-primary hover:underline",onClick:U=>X(a)},x(t(o)("search.showAll",{group:t(o)(`search.filters.${a}`)}))+" → ",9,Ne)):q("",!0)]))),128))])):t(l)!=="all"&&t(k).length>0?(u(),G(y,{key:3,items:t(k),"onUpdate:items":n[3]||(n[3]=a=>V(k)?k.value=a:null),meta:t(j),"onUpdate:meta":n[4]||(n[4]=a=>V(j)?j.value=a:null),transform:t(Y)},{default:he(()=>[R(v,{type:t(l),items:t(k)},null,8,["type","items"])]),_:1},8,["items","meta","transform"])):t(B)&&!t(E)?(u(),c("p",Be,x(t(o)("search.noResults")),1)):q("",!0)])}}});
1export{ze 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.