PageSourceSearch

https://ecmtb2026.org/_nuxt/BD6Z8-6A.js

js ecmtb2026.org collected 2026-09-24 10:05:48 UTC 16,059 bytes, 1 lines download raw bytes

1import{_ as Ve}from"./DSgtGwva.js";import W from"./CPlI_u3E.js";import{_ as Ue}from"./C6rlaVS-.js";import{_ as Be}from"./BrbT_udb.js";import{a as he,_ as De,u as Pe}from"./Cn9j91r8.js";import{e as Z,o,h as L,n as K,w as X,a as n,t as r,c as l,x as d,b as f,d as k,i as s,j as a,z as qe,p as J,f as Oe,C as de,l as Re,L as Fe,I as me,J as Ae,v as pe,F as $,r as A,H as Ee,Q as Qe,P as je}from"./CxfkTsMZ.js";import{_ as ye}from"./d6j_Zibv.js";import{p as ge}from"./DYwTeo--.js";import{f as be,p as Ye,b as He,c as Ge,n as Je,d as Ke,e as We}from"./peYz8fB-.js";import{c as Ze,f as xe,m as Xe,a as et}from"./DrOM_eKW.js";import{a as tt}from"./CJPaHQq2.js";import{u as nt}from"./BbBv2DJj.js";import"./DlAUqK2U.js";import"./BsQBRbyB.js";const st={class:"content-max-width px-6 py-7 sm:px-12 sm:py-8 xl:px-0"},ot={class:"mb-4 flex items-start gap-3"},it={class:"text-black group-hover:text-green-dark underline underline-offset-4 decoration-1 font-display font-semibold !text-4xl leading-none transition-colors"},lt={key:0,class:"ml-2 font-normal"},at={class:"mb-3 flex flex-wrap gap-2 !no-underline text-body-sm !text-charcoal"},rt={key:0,class:"inline-flex items-center rounded-full bg-yellow px-3 py-px sm:px-4 sm:py-0.5"},ct={class:"inline-flex items-center rounded-full bg-green px-3 py-px sm:px-4 sm:py-0.5"},ut={class:"ml-1 font-semibold"},dt={key:1,class:"inline-flex items-center rounded-full bg-charcoal-200 px-3 py-px sm:px-4 sm:py-0.5"},mt={class:"flex flex-wrap items-center gap-x-5 gap-y-1.5 !no-underline text-body-sm !text-charcoal"},pt={key:0,class:"inline-flex items-center gap-2 text-charcoal-light"},ft={key:1,class:"inline-flex items-center gap-2"},ht={key:2,class:"inline-flex items-center gap-2"},yt={key:3,class:"inline-flex items-center gap-2"},gt={key:4,class:"inline-flex items-center gap-2"},bt={class:"font-semibold"},xt=Z({__name:"ContributionCard",props:{contribution:{},muted:{type:Boolean,default:!1}},setup(i){const m=i,S=a(()=>be(m.contribution.speakers)),M=a(()=>m.contribution.speakers.length>1?"Speakers":"Speaker"),h=a(()=>Ze(m.contribution)),N=a(()=>{const b=m.contribution.schedule.day;return b?xe(b):null});return(b,p)=>{const w=he,y=W,V=ye;return o(),L(V,{to:`/contributions/${i.contribution.slug}`,class:K(["group block !font-normal !text-black !no-underline transition-colors hover:!text-black hover:!no-underline focus:outline-2 focus:outline-green-dark focus:outline-offset-[-4px]",i.muted?"bg-[#f3f4f4]":"bg-white"])},{default:X(()=>[n("div",st,[n("div",ot,[n("h2",it,[n("span",{class:K(i.contribution.cancelled&&"line-through")},r(i.contribution.title),3),i.contribution.cancelled?(o(),l("em",lt,"(Cancelled)")):d("",!0)]),f(w,{"friendly-id":i.contribution.friendly_id,size:"28px"},null,8,["friendly-id"])]),n("div",at,[i.contribution.track?.title?(o(),l("span",rt,r(i.contribution.track.title),1)):d("",!0),n("span",ct,[p[0]||(p[0]=k(" Identifier: ",-1)),n("span",ut,r(s(h)),1)]),i.contribution.type?(o(),l("span",dt,r(i.contribution.type),1)):d("",!0)]),n("div",mt,[i.contribution.schedule.is_scheduled?s(N)?(o(),l("div",ft,[f(y,{name:"mdi:calendar-month-outline",size:"18px"}),n("span",null,r(s(N)),1)])):d("",!0):(o(),l("div",pt,[f(y,{name:"mdi:calendar-remove-outline",size:"18px"}),p[1]||(p[1]=n("span",null,"Unscheduled",-1))])),i.contribution.schedule.is_scheduled&&i.contribution.schedule.time_label?(o(),l("div",ht,[f(y,{name:"mdi:clock-outline",size:"18px"}),n("span",null,r(i.contribution.schedule.time_label),1)])):d("",!0),i.contribution.schedule.is_scheduled&&i.contribution.schedule.room?(o(),l("div",yt,[f(y,{name:"mdi:map-marker-outline",size:"18px"}),n("span",null,r(s(ge)(i.contribution.schedule.room)),1)])):d("",!0),s(S)?(o(),l("div",gt,[f(y,{name:"mdi:account-outline",size:"18px"}),n("span",null,[k(r(s(M))+": ",1),n("span",bt,r(s(S)),1)])])):d("",!0)])])]),_:1},8,["to","class"])}}}),vt={class:"content-max-width px-6 py-7 sm:px-12 sm:py-8 xl:px-0"},_t={class:"mb-4 flex items-start gap-3"},kt={class:"!text-black group-hover:!text-green-dark underline underline-offset-4 decoration-1 font-display font-semibold !text-4xl leading-none transition-colors"},wt={class:"mb-3 flex flex-wrap gap-2 !no-underline text-body-sm !text-charcoal"},$t={key:0,class:"inline-flex items-center rounded-full bg-yellow px-3 py-px sm:px-4 sm:py-0.5"},St={key:1,class:"inline-flex items-center rounded-full bg-green px-3 py-px sm:px-4 sm:py-0.5"},Ct={class:"ml-1 font-semibold"},It={class:"inline-flex items-center rounded-full bg-charcoal-200 px-3 py-px sm:px-4 sm:py-0.5"},Lt={class:"flex flex-wrap items-center gap-x-5 gap-y-1.5 !no-underline text-body-sm !text-charcoal"},Mt={key:0,class:"inline-flex items-center gap-2 text-charcoal-light"},zt={key:1,class:"inline-flex items-center gap-2"},Tt={key:2,class:"inline-flex items-center gap-2"},Nt={key:3,class:"inline-flex items-center gap-2"},Vt={key:4,class:"inline-flex items-center gap-2"},Ut={class:"font-semibold"},Bt=Z({__name:"MinisymposiumCard",props:{minisymposium:{},muted:{type:Boolean,default:!1}},setup(i){const m=i,S=a(()=>be(m.minisymposium.organisers)),M=a(()=>m.minisymposium.organisers.length>1?"Organisers":"Organiser"),h=a(()=>Xe(m.minisymposium)),N=a(()=>`${m.minisymposium.talk_count} contribution${m.minisymposium.talk_count===1?"":"s"}`),b=a(()=>ge(m.minisymposium.schedule.rooms)||null),p=a(()=>{const w=m.minisymposium.schedule.days;return w.length?w.map(xe).join(", "):null});return(w,y)=>{const V=he,g=W,z=ye;return o(),L(z,{to:`/contributions/minisymposia/${i.minisymposium.slug}
1`,class:K(["group block !font-normal !text-black !no-underline transition-colors hover:!text-black hover:!no-underline focus:outline-2 focus:outline-green-dark focus:outline-offset-[-4px]",i.muted?"bg-[#f3f4f4]":"bg-white"])},{default:X(()=>[n("div",vt,[n("div",_t,[n("h2",kt,r(i.minisymposium.title),1),f(V,{"friendly-id":i.minisymposium.friendly_id,size:"28px"},null,8,["friendly-id"])]),n("div",wt,[i.minisymposium.track?.title?(o(),l("span",$t,r(i.minisymposium.track.title),1)):d("",!0),s(h)?(o(),l("span",St,[y[0]||(y[0]=k(" Identifier: ",-1)),n("span",Ct,r(s(h)),1)])):d("",!0),n("span",It,r(s(N)),1)]),n("div",Lt,[i.minisymposium.schedule.is_scheduled?s(p)?(o(),l("div",zt,[f(g,{name:"mdi:calendar-month-outline",size:"18px"}),n("span",null,r(s(p)),1)])):d("",!0):(o(),l("div",Mt,[f(g,{name:"mdi:calendar-remove-outline",size:"18px"}),y[1]||(y[1]=n("span",null,"Unscheduled",-1))])),i.minisymposium.schedule.is_scheduled&&i.minisymposium.schedule.time_label?(o(),l("div",Tt,[f(g,{name:"mdi:clock-outline",size:"18px"}),n("span",null,r(i.minisymposium.schedule.time_label),1)])):d("",!0),i.minisymposium.schedule.is_scheduled&&s(b)?(o(),l("div",Nt,[f(g,{name:"mdi:map-marker-outline",size:"18px"}),n("span",null,r(s(b)),1)])):d("",!0),s(S)?(o(),l("div",Vt,[f(g,{name:"mdi:account-outline",size:"18px"}),n("span",null,[k(r(s(M))+": ",1),n("span",Ut,r(s(S)),1)])])):d("",!0)])])]),_:1},8,["to","class"])}}}),Dt={class:"content-max-width px-6 sm:px-12 xl:px-0"},Pt={class:"mb-4"},qt={class:"relative"},Ot={class:"grid gap-8 pb-4 lg:grid-cols-2"},Rt={key:0,class:"border-b border-charcoal-200 pb-8"},Ft={class:"flex flex-wrap gap-2"},At={key:1,class:"border-b border-charcoal-200 pb-8"},Et={class:"flex flex-wrap gap-2"},Qt={key:2,class:"lg:col-span-2"},jt={class:"flex flex-wrap gap-2"},Yt={class:"lg:col-span-2"},Ht={class:"inline-flex items-center gap-2 rounded-md border border-charcoal bg-white px-3 py-2 text-body-sm hover:bg-charcoal-50 hover:cursor-pointer"},Gt={class:"mb-12 flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between"},Jt={class:"pb-0 text-lg text-charcoal-light"},Kt=["disabled"],Wt={key:1,class:"mb-24 rounded-lg border-4 border-charcoal-light bg-white px-6 py-8 text-charcoal-light"},Zt={key:0,class:"mb-24"},Xt={key:0,class:"content-max-width flex justify-center px-6 pt-8 sm:px-12 xl:px-0"},en={key:1,class:"content-max-width px-6 sm:px-12 xl:px-0 mb-24"},fe="Minisymposium",D=50,yn=Z({__name:"index",async setup(i){let m,S;const{savedIds:M}=Pe(),h=J(!1),b=Ee().public.programmeDataBase,p=qe(),w=a(()=>`contributions:view:${p.fullPath}`),y=()=>{const e=Number.parseInt(sessionStorage.getItem(w.value)??"",10);return Number.isFinite(e)&&e>=D?e:D},V=()=>{if(g.value<=D){sessionStorage.removeItem(w.value);return}sessionStorage.setItem(w.value,String(g.value))},g=J(y()),z=J(null),{data:E,pending:ee,error:te}=([m,S]=Oe(async()=>tt("programme-browse-index",async()=>{const[e,t,c]=await Promise.all([$fetch(Ye(b)),$fetch(He(b)),$fetch(Ge(b))]);return{meta:e,contributions:t,minisymposia:c}},{server:!1,default:()=>({meta:null,contributions:{schema_version:1,items:[]},minisymposia:{schema_version:1,items:[]}})})),m=await m,S(),m),Q=a(()=>E.value?.meta??null),ne=a(()=>E.value?.contributions.items??[]),se=a(()=>E.value?.minisymposia.items??[]),P=a(()=>{const e=new Set(Q.value?.filters.types??[]);return e.add(fe),Array.from(e)}),q=a(()=>Q.value?.filters.days??[]),O=a(()=>Q.value?.filters.tracks??[]),oe=a(()=>ne.value.length+se.value.length),j=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):typeof e=="string"&&e.length>0?[e]:[],ve=e=>typeof e=="string"?e:"",U=e=>{const t={...p.query};"q"in e&&(e.q?t.q=e.q:delete t.q),"type"in e&&(e.type?.length?t.type=[...e.type]:delete t.type),"day"in e&&(e.day?.length?t.day=[...e.day]:delete t.day),"track"in e&&(e.track?.length?t.track=[...e.track]:delete t.track),Qe({path:p.path,query:t},{replace:!0})},R=a({get:()=>ve(p.query.q),set:e=>{U({q:e.trim()||void 0})}}),x=a({get:()=>j(p.query.type).filter(e=>P.value.includes(e)),set:e=>{const t=e.filter(c=>P.value.includes(c));U({type:t.length?t:void 0})}}),v=a({get:()=>j(p.query.day).filter(e=>q.value.includes(e)),set:e=>{const t=e.filter(c=>q.value.includes(c));U({day:t.length?t:void 0})}}),_=a({get:()=>j(p.query.track).filter(e=>O.value.includes(e)),set:e=>{const t=e.filter(c=>O.value.includes(c));U({track:t.length?t:void 0})}}),B=a(()=>Je(R.value)),_e=e=>!(h.value&&!M.value.has(e.friendly_id)||!Ke(e,B.value)||x.value.length&&!x.value.includes(e.type??"")||v.value.length&&!v.value.includes(e.schedule.day??"")||_.value.length&&!_.value.includes(e.track?.title??"")),ke=e=>!(h.value&&(e.friendly_id==null||!M.value.has(e.friendly_id))||!We(e,B.value)||x.value.length&&!x.value.includes(fe)||v.value.length&&!e.schedule.days.some(t=>v.value.includes(t))||_.value.length&&!_.value.includes(e.track?.title??"")),ie=e=>{if(!e)return Number.POSITIVE_INFINITY;const t=Date.parse(e);return Number.isNaN(t)?Number.POSITIVE_INFINITY:t},le=(e,t)=>
1{const c=ie(e.start)-ie(t.start);return c!==0?c:e.kind!==t.kind?e.kind==="minisymposium"?-1:1:e.title.localeCompare(t.title)},we=a(()=>!B.value&&!x.value.length&&!v.value.length&&!_.value.length),$e=(e,t)=>e.kind!==t.kind?e.kind==="contribution"?-1:1:le(e,t),C=a(()=>{const e=ne.value.filter(_e).map(c=>({key:`contribution:${c.slug}`,kind:"contribution",title:c.title,start:c.schedule.start??null,contribution:c})),t=se.value.filter(ke).map(c=>({key:`minisymposium:${c.slug}`,kind:"minisymposium",title:c.title,start:c.schedule.first_start??null,minisymposium:c}));return[...e,...t].sort(we.value?$e:le)}),F=a(()=>C.value.slice(0,g.value)),ae=a(()=>F.value.length<C.value.length),Se=a(()=>C.value.length-F.value.length),re=a(()=>!!(B.value||x.value.length||v.value.length||_.value.length||h.value)),ce=a(()=>(B.value?1:0)+x.value.length+v.value.length+_.value.length+(h.value?1:0)),Ce=e=>et(e),Y=(e,t,c)=>c?e.includes(t)?e:[...e,t]:e.filter(H=>H!==t),Ie=(e,t)=>{x.value=Y(x.value,e,t)},Le=(e,t)=>{v.value=Y(v.value,e,t)},Me=(e,t)=>{_.value=Y(_.value,e,t)},ue=()=>{ae.value&&(g.value=Math.min(g.value+D,C.value.length),V())},ze=()=>{h.value=!1,U({q:void 0,type:void 0,day:void 0,track:void 0})};de(()=>p.fullPath,()=>{g.value=y()});let T=null;return de(z,(e,t)=>{T&&(t&&T.unobserve(t),e&&T.observe(e))},{flush:"post"}),Re(()=>{"IntersectionObserver"in window&&(T=new IntersectionObserver(e=>{e.some(t=>t.isIntersecting)&&ue()},{rootMargin:"400px 0px"}),z.value&&T.observe(z.value))}),Fe(()=>{T?.disconnect()}),nt({title:"Contributions",description:"Search and browse ECMTB 2026 contributions, posters, minisymposia, speakers, organisers, topics, and scheduled sessions."}),(e,t)=>{const c=Ve,H=W,G=Ue,Te=Be,Ne=De;return o(),l($,null,[f(c,{heading:"Contributions","max-width":"content-max-width"}),n("div",Dt,[t[9]||(t[9]=n("p",{class:"text-lg text-charcoal"}," Browse all contributions and minisymposia and narrow the list by title, speaker, organiser, keyword, day, track, or content type. ",-1)),n("div",Pt,[t[2]||(t[2]=n("label",{class:"mb-3 block font-large",for:"contribution-search"}," Search ",-1)),n("div",qt,[me(n("input",{id:"contribution-search","onUpdate:modelValue":t[0]||(t[0]=u=>pe(R)?R.value=u:null),type:"search",placeholder:"Search by title, speaker, organiser, keyword, code...",class:"w-full rounded-md border border-charcoal bg-white py-2.5 pl-4 pr-12 text-body-sm placeholder:text-charcoal-200 focus:border-green-dark focus:outline-none","aria-describedby":"contribution-search-help"},null,512),[[Ae,s(R)]]),f(H,{name:"mdi:search",size:"24px",class:"pointer-events-none absolute right-4 top-1/2 -translate-y-1/2 text-charcoal-light"})]),t[3]||(t[3]=n("p",{id:"contribution-search-help",class:"mt-1 text-body-sm text-charcoal-light"},[k(" Use "),n("code",{class:"text-xs"},"|"),k(" to search alternatives, e.g. "),n("code",{class:"text-xs"},"geometry | brain"),k(". ")],-1))]),f(Te,{id:"contribution-filters",title:"Filters","border-bottom":!0,"no-padding":!0,"initially-collapsed":!1},{default:X(()=>[n("div",Ot,[s(P).length?(o(),l("section",Rt,[t[4]||(t[4]=n("h4",{class:"mb-4"},"Content type",-1)),n("div",Ft,[(o(!0),l($,null,A(s(P),u=>(o(),L(G,{key:u,text:u,"model-value":s(x).includes(u),"onUpdate:modelValue":I=>Ie(u,I)},null,8,["text","model-value","onUpdate:modelValue"]))),128))])])):d("",!0),s(q).length?(o(),l("section",At,[t[5]||(t[5]=n("h4",{class:"mb-4"},"Day",-1)),n("div",Et,[(o(!0),l($,null,A(s(q),u=>(o(),L(G,{key:u,text:Ce(u),"model-value":s(v).includes(u),"onUpdate:modelValue":I=>Le(u,I)},null,8,["text","model-value","onUpdate:modelValue"]))),128))])])):d("",!0),s(O).length?(o(),l("section",Qt,[t[6]||(t[6]=n("h4",{class:"mb-4"},"Track",-1)),n("div",jt,[(o(!0),l($,null,A(s(O),u=>(o(),L(G,{key:u,text:u,"model-value":s(_).includes(u),"onUpdate:modelValue":I=>Me(u,I)},null,8,["text","model-value","onUpdate:modelValue"]))),128))])])):d("",!0),n("section",Yt,[t[8]||(t[8]=n("h4",{class:"mb-4"},"Saved programme",-1)),n("label",Ht,[me(n("input",{"onUpdate:modelValue":t[1]||(t[1]=u=>pe(h)?h.value=u:null),type:"checkbox",class:"h-4 w-4"}
1,null,512),[[je,s(h)]]),t[7]||(t[7]=n("span",null,"Only show my saved contributions",-1))])])])]),_:1}),n("div",Gt,[n("p",Jt,[k(" Showing "+r(s(F).length)+" of "+r(s(C).length)+" result"+r(s(C).length===1?"":"s")+". ",1),s(C).length!==s(oe)?(o(),l($,{key:0},[k(r(s(oe))+" total. ",1)],64)):d("",!0),s(re)?(o(),l($,{key:1},[k(r(s(ce))+" active filter"+r(s(ce)===1?"":"s")+". ",1)],64)):d("",!0)]),n("button",{class:"btn secondary icon font-normal",disabled:!s(re),onClick:ze}," Clear all filters ",8,Kt)]),s(ee)?(o(),L(Ne,{key:0,class:"mb-24",label:"Loading programme data…"})):s(te)?(o(),l("p",Wt," Programme data could not be loaded. ")):d("",!0)]),!s(ee)&&!s(te)?(o(),l($,{key:0},[s(C).length?(o(),l("div",Zt,[(o(!0),l($,null,A(s(F),(u,I)=>(o(),l($,{key:u.key},[u.contribution?(o(),L(xt,{key:0,contribution:u.contribution,muted:I%2===1},null,8,["contribution","muted"])):u.minisymposium?(o(),L(Bt,{key:1,minisymposium:u.minisymposium,muted:I%2===1},null,8,["minisymposium","muted"])):d("",!0)],64))),128)),n("div",{ref_key:"loadMoreSentinel",ref:z,class:"h-px","aria-hidden":"true"},null,512),s(ae)?(o(),l("div",Xt,[n("button",{class:"btn secondary",onClick:ue}," Load "+r(Math.min(D,s(Se)))+" more ",1)])):d("",!0)])):(o(),l("div",en,[...t[10]||(t[10]=[n("p",{class:"rounded-lg border-4 border-charcoal-light bg-white px-6 py-8 text-charcoal-light"}," No programme entries match your current search and filters. ",-1)])]))],64)):d("",!0)],64)}}});export{yn 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.