PageSourceSearch

https://zurich.tech/_build/assets/submit-DsA0RQGf.js

js zurich.tech collected 2026-10-10 02:24:35 UTC 38,682 bytes, 4 lines download raw bytes

1import{l as M,J as fe,D as r,K as k,H as h,e as n,F as N,L as f,M as S,S as A,P as ce,m as U,G as l,p as me,a9 as Ge,U as oe,Q as ne,W as Fe,ab as we,a7 as Je,N as pe,T as Ye,a8 as Xe}from"./site-BCoO7TA2.js";import{a as Ze,r as et}from"./affiliations-BOXtMibZ.js";import{O as tt}from"./organiser-a77xhbRN.js";import{r as nt}from"./registration-OkI4HaGS.js";import{C as Le,D as it}from"./campaigns-C9inFdYG.js";/* empty css                      */import{C as ie}from"./card-CKqXliD8.js";import{a as ye,O as rt,u as Ce,F as Ae,E as lt,s as at}from"./form-DC9r6cAw.js";import{S as ae,T as ke}from"./field-z5G31dMK.js";import{T as st}from"./fields-BUXI-6W7.js";import{v as De}from"./validator-BIROAfmo.js";import{m as Z,b as z}from"./api-DYGBSnSs.js";import{c as xe,t as be}from"./time-JHc9QOOK.js";import{A as ot}from"./address-B1mx_Gdo.js";import{a as ct,r as ut}from"./confirmation-Beq8IWdg.js";import{u as Ie}from"./edit-BC_wQon8.js";import{e as le}from"./errors-_oTcgDzD.js";import{i as dt}from"./conditions-a1kdkuEp.js";import{a as $t}from"./queries-TRcrgAUy.js";import{A as gt}from"./arrow-BmITpzc3.js";import{a as mt,P as vt}from"./page-QsPRi5Lr.js";import{S as bt}from"./seo-CsHCCDYE.js";import{r as he}from"./createAsync-Dt8DBKwY.js";import"./highlight-BZGpED9j.js";import"./search-DiImXxsb.js";import"./queries-BLhS0I4w.js";import"./query-3Fkuem1O.js";import"./actions-CPgwgzzF.js";import"./workspace-CGo9bcJx.js";import"./queries-Bwo_u70q.js";import"./venue-C1ZVqCFt.js";import"./preload-helper-ug3pwPZ1.js";import"./maplibre-gl-worker-CEtC9_G8.js";const Ne=[{value:"talk",label:"Talk"},{value:"discussion",label:"Discussion"},{value:"demo",label:"Demo"},{value:"workshop",label:"Workshop"},{value:"hackathon",label:"Hackathon"},{value:"dinner",label:"Dinner"},{value:"social",label:"Social"}];De.union(...Ne.map(e=>De.literal(e.value)));var ht=l("<div class=form-actions><span>Member linked</span><button type=button class=button>Unlink"),pt=l("<p class=text-soft>No matching members"),ft=l("<div><input type=hidden name=speakerMember><!$><!/><!$><!/>"),_t=l('<label>Find member<input type=search placeholder="Name or affiliation">'),St=l("<button type=button class=button><!$><!/><!$><!/>");function yt(e){const[$,d]=M(""),[g]=fe($,async t=>t.trim().length<2?[]:(await Z()).query(z.events.speakers.members,{search:t}));return(()=>{var t=r(ft),v=t.firstChild,b=v.nextSibling,[a,s]=k(b.nextSibling),p=a.nextSibling,[_,c]=k(p.nextSibling);return h(t,n(A,{get when(){return e.id},get fallback(){return(()=>{var m=r(_t),y=m.firstChild,x=y.nextSibling;return x.$$input=q=>d(q.currentTarget.value),f(()=>S(x,"value",$())),N(),m})()},get children(){var m=r(ht),y=m.firstChild,x=y.nextSibling;return x.$$click=()=>e.onChange(void 0),N(),m}}),a,s),h(t,n(A,{get when(){return U(()=>!e.id)()&&$().length>=2},get children(){return[n(ce,{get each(){return g()},children:m=>(()=>{var y=r(St),x=y.firstChild,[q,O]=k(x.nextSibling),D=q.nextSibling,[P,T]=k(D.nextSibling);return y.$$click=()=>{e.onChange(m.id,m.name),d("")},h(y,()=>m.name,q,O),h(y,(()=>{var I=U(()=>!!m.affiliation);return()=>I()?` · ${m.affiliation}`:""})(),P,T),N(),y})()}),n(A,{get when(){return U(()=>!g.loading)()&&!g()?.length},get children(){return r(pt)}})]}}),_,c),f(()=>S(v,"value",e.id??"")),t})()}me(["click","input"]);var wt=l('<ul class=event-organisations__results aria-label="Matching organisations">'),kt=l('<fieldset class=event-organisations><legend>Organisations</legend><!$><!/><label>Add organisation</label><input type=search autocomplete=off placeholder="Search organisations"><!$><!/>'),xt=l("<option value=supporter>Host / supporter"),Ct=l("<option value=partner>Partner"),At=l('<div class=event-organisations__row><label><!$><!/><!$><!/></label><button type=button class=button aria-label="Remove organisation"title="Remove organisation"><span aria-hidden=true>&times;'),It=l("<li role=status>No matching organisations"),Et=l("<li><button type=button>");function qt(e){const $=Ge(),[d,g]=M(""),[t,v]=M([]);let b;oe(()=>{v([...new Set([...e.draft?.organisations??[],...e.draft?.partnerIds??[]])]),g("")});const a=()=>{const s=d().trim().toLocaleLowerCase();return s?(e.directory?.organisations??[]).filter(p=>!t().includes(p._id)&&p.name.toLocaleLowerCase().includes(s)):[]};return(()=>{var s=r(kt),p=s.firstChild,_=p.nextSibling,[c,m]=k(_.nextSibling),y=c.nextSibling,x=y.nextSibling,q=x.nextSibling,[O,D]=k(q.nextSibling);h(s,n(ce,{get each(){return t()},children:T=>(()=>{var I=r(At),w=I.firstChild,C=w.firstChild,[R,J]=k(C.nextSibling),re=R.nextSibling,[X,F]=k(re.nextSibling),L=w.nextSibling;return h(w,()=>e.directory?.organisations.find(H=>H._id===T)?.name??T,R,J),h(w,n(ae,{name:`organisation:${T}`,get value(){return e.draft?.partnerIds?.includes(T)?"partner":"supporter"},get children(){return[r(xt),r(Ct)]}}),X,F),L.$$click=()=>{v(H=>H.filter(j=>
1j!==T)),b.focus()},N(),I})()}),c,m),ne(y,"for",$),x.$$keydown=T=>{T.key==="Enter"?T.preventDefault():T.key==="Escape"&&(T.preventDefault(),g(""))},x.$$input=T=>g(T.currentTarget.value);var P=b;return typeof P=="function"?Fe(P,x):b=x,ne(x,"id",$),h(s,n(A,{get when(){return d().trim()},get children(){var T=r(wt);return h(T,n(ce,{get each(){return a()},get fallback(){return r(It)},children:I=>(()=>{var w=r(Et),C=w.firstChild;return C.$$click=()=>{v(R=>[...R,I._id]),g(""),b.focus()},h(C,()=>I.name),N(),w})()})),T}}),O,D),f(()=>S(x,"value",d())),N(),s})()}me(["input","keydown","click"]);var Tt=l("<label>Title<input name=title required maxlength=180>"),Ut=l("<button type=button class=action-link>Add random suffix"),Dt=l('<div class=form-columns><div class="field event-slug"><div class=event-slug__heading><label for=event-slug>Slug</label><!$><!/></div><input id=event-slug class=field__control name=slug required pattern=[a-z0-9]+(-[a-z0-9]+)* placeholder=builders-dinner-september></div><label>Format<!$><!/>'),Oe=l("<option value=public>Public"),Rt=l("<option value=unlisted>Unlisted"),Pt=l("<label>Visibility<!$><!/><span>Unlisted events are accessible to anyone with the link, but excluded from listings and promotional emails."),Ft=l("<label>Summary<!$><!/>"),Lt=l("<label>Description <span>Markdown supported</span><!$><!/>"),Nt=l("<option value>None"),Ot=l("<button type=button class=button>Use series topics"),Mt=l("<div class=form-columns><label>Series<!$><!/></label><div class=topic-choice><!$><!/><!$><!/>"),Re=l("<option>"),Ht=l("<div class=form-columns><label>Starts<input type=datetime-local name=startsAt required></label><label>Ends<input type=datetime-local name=endsAt>"),Kt=l('<label>Venue<input name=location maxlength=500 placeholder="ETH AI Center">'),Vt=l("<span>Public venue name or city. Keep private arrival details in the address below."),Qt=l("<option value=confirmed>Confirmed attendees"),jt=l("<option value=external>On another site"),Wt=l("<option value=unannounced>Not announced"),Bt=l("<label>Address availability<!$><!/>"),zt=l("<p>Address and map are shown to confirmed attendees and assigned editors, and included in confirmation emails."),Gt=l("<label>Address link<input name=addressUrl type=url required>"),Jt=l("<label>Site name<input name=addressLabel placeholder=Luma maxlength=80>"),Yt=l("<span>We link to this site; it controls who can see the address. Any address entered above is kept as an internal reference and is not shown to attendees."),Xt=l("<button type=button class=button>Add speaker"),Zt=l("<button type=button class=button>Add activity"),en=l("<fieldset><legend>Speaker <!$><!/></legend>
1<input type=hidden name=speakerId><!$><!/><div class=form-columns><label>Name<input name=speakerName required maxlength=120></label></div><!$><!/><label>Links<span>One URL per line</span><!$><!/></label><details class=speaker-photos><summary>Photos</summary><div class=form-columns><label>Photo URL<input type=url name=speakerImage></label><label>Dark photo URL<input type=url name=speakerImageDark></label></div></details><button type=button class=button>Remove speaker"),tn=l("<div class=form-columns><label>Time<input name=agendaTime></label><label>Activity<input name=agendaTitle required></label><button type=button class=button>Remove activity"),nn=l("<option value=native>Here, on zurich.tech"),rn=l("<option value=external>On another website"),ln=l("<option value=none>No registration / drop-in"),an=l("<label>Registration<!$><!/>"),sn=l("<label>Registration URL<input type=url name=url required>"),on=l("<label>Capacity <span>Leave blank if unknown</span><input type=number name=capacity min=1 step=1>"),cn=l("<option value=automatic>Automatic"),un=l("<option value=approval>Approval required"),dn=l("<div class=form-columns><label>Admission<!$><!/></label><label>Registration limit <span>Leave blank for unlimited</span><input type=number name=capacity min=1 step=1>"),$n=l("<option value=waitlist>Keep a waitlist"),gn=l("<option value=closed>Close registration"),mn=l("<div class=form-columns><label>When full<!$><!/></label><label>Registration closes <span>Defaults to event start</span><input type=datetime-local name=closesAt>"),vn=l("<button type=button class=button>+ Add attendee question"),bn=l("<div class=question-row><input required maxlength=200><label class=checkbox><input type=checkbox>Required</label><button type=button>Remove");function hn(e){let $;const[d,g]=M(e.draft?.seriesId??e.initialSeriesId??""),t=()=>e.directory?.series.find(a=>a._id===d())?.topics??[],[v,b]=M(e.draft?.topics??t());return oe(()=>{const a=e.draft?.seriesId??e.initialSeriesId??"",s=e.directory?.series.find(p=>p._id===a);g(a),b(e.draft?.topics??s?.topics??[])}),n(ie,{title:"Event",get children(){return[(()=>{var a=r(Tt),s=a.firstChild,p=s.nextSibling;return f(()=>S(p,"value",e.draft?.title??"")),a})(),(()=>{var a=r(Dt),s=a.firstChild,p=s.firstChild,_=p.firstChild,c=_.nextSibling,[m,y]=k(c.nextSibling),x=p.nextSibling,q=s.nextSibling,O=q.firstChild,D=O.nextSibling,[P,T]=k(D.nextSibling);h(p,n(A,{get when(){return!e.isPublished||e.isDuplicate},get children(){var w=r(Ut);return w.$$click=()=>{const C=Array.from(crypto.getRandomValues(new Uint8Array(8)),J=>J.toString(16).padStart(2,"0")).join(""),R=$.value.trim().replace(/-[a-f0-9]{16}$/,"")||"event";$.value=`${R}-${C}`,$.dispatchEvent(new Event("input",{bubbles:!0}))},N(),w}}),m,y);var I=$;return typeof I=="function"?Fe(I,x):$=x,h(q,n(ae,{name:"format",get value(){return e.draft?.format??"talk"},get children(){return n(ce,{each:Ne,children:w=>(()=>{var C=r(Re);return h(C,()=>w.label),f(()=>S(C,"value",w.value)),C})()})}}),P,T),f(w=>{var C=e.isPublished&&!e.isDuplicate,R=e.isPublished&&!e.isDuplicate?"Published URLs cannot change; existing invitation links keep working.":void 0;return C!==w.e&&S(x,"readOnly",w.e=C),R!==w.t&&ne(x,"title",w.t=R),w},{e:void 0,t:void 0}),f(()=>S(x,"value",e.isDuplicate?"":e.draft?.slug??"")),a})(),(()=>{var a=r(Pt),s=a.firstChild,p=s.nextSibling,[_,c]=k(p.nextSibling);return _.nextSibling,h(a,n(ae,{name:"visibility",get value(){return e.draft?.visibility??"public"},onChange:m=>e.onVisibilityChange?.(m.currentTarget.value),get children(){return[r(Oe),r(Rt)]}}),_,c),a})(),(()=>{var a=r(Ft),s=a.firstChild,p=s.nextSibling,[_,c]=k(p.nextSibling);return h(a,n(ke,{name:"summary",maxlength:"500",rows:"2",get value(){return e.draft?.summary??""}}),_,c),a})(),(()=>{var a=r(Lt),s=a.firstChild,p=s.nextSibling,_=p.nextSibling,[c,m]=k(_.nextSibling);return h(a,n(ke,{name:"description",rows:"8",get value(){return e.draft?.description??""}}),c,m),a})(),(()=>{var a=r(Mt),s=a.firstChild,p=s.firstChild,_=p.nextSibling,[c,m]=k(_.nextSibling),y=s.nextSibling,x=y.firstChild,[q,O]=k(x.nextSibling),D=q.nextSibling,[P,T]=k(D.nextSibling);return h(s,n(ae,{name:"series",get value(){return d()},onChange:I=>{g(I.currentTarget.value),e.draft||b(t())},get children(){return[(()=>{var I=r(Nt);return f(()=>S(I,"disabled",e.allowStandalone===!1)),I})(),n(ce,{get each(){return e.directory?.series.filter(I=>I.status!=="archived"||I._id===e.draft?.seriesId)},children:I=>(()=>{var w=r(Re);return h(w,()=>I.name),f(()=>S(w,"value",I._id)),w})()})]}}),c,m),h(y,n(st,{get values(){return v()},onChange:b}),q,O),h(y,n(A,{get when(){return d()},get children(){var I=r(Ot);return I.$$click=()=>b(t()),N(),I}}),P,T),a})()]}})}function pn(e){const[$,d]=M("public");oe(()=>d(e.draft?.addressAccess?.kind??"public"));const g=()=>e.draft?.addressAccess?.kind==="external"?e.draft.addressAccess:void 0;return n(ie,{title:"Time and place",get children(){return[(()=>{var t=r(Ht),v=t.firstChild,b=v.firstChild,a=b.nextSibling,s=v.nextSibling,p=s.firstChild,_=p.nextSibling;return f(()=>S(a,"value",e.draft?.startsAt?xe(e.draft.startsAt):"")),f(()=>S(_,"value",e.draft?.endsAt?xe(e.draft.endsAt):"")),t})(),(()=>{var t=r(Kt),v=t.firstChild,b=v.nextSibling;return f(()=>S(b,"value",e.draft?.location??"")),t})(),r(Vt),(()=>{var t=r(Bt),v=t.firstChild,b=v.nextSibling,[a,s]=k(b.nextSibling);return h(t,n(ae,{name:"addressKind",get value(){return $()},onChange:p=>d(p.currentTarget.value),get children(){return[r(Oe),r(Qt),r(jt),r(Wt)]}}),a,s),t})(),n(A,{get when(){return $()!=="unannounced"},get children(){return n(ot,{get value(){return e.draft}})}}),n(A,{get when(){return $()==="confirmed"},get children(){return r(zt)}}),n(A,{get when(){return $()==="external"},get children(){return[(()=>{var t=r(Gt),v=t.firstChild,b=v.nextSibling;return f(()=>S(b,"value",g()?.url??(e.draft?.registration.kind==="external"?e.draft.registration.url:""))),t})(),(()=>{var t=r(Jt),v=t.firstChild,b=v.nextSibling;return f(()=>S(b,"value",g()?.label??"")),t})(),r(Yt)]}})]}})}function fn(e){const[$,d]=M([]),[g,t]=M([]);oe(()=>{d(e.draft?.speakers??[]),t(e.draft?.agenda??[])});function v(a,s){d(p=>p.map((_,c)=>c===a?{..._,...s}:_))}function b(a,s){t(p=>p.map((_,c)=>c===a?{..._,...s}:_))}return[n(ie,{title:"Speakers",get children(){return[n(we,{get each(){return $()},children:(a,s)=>(()=>{var p=r(en),_=p.firstChild,c=_.firstChild,m=c.nextSibling,[y,x]=k(m.nextSibling),q=_.nextSibling,O=q.nextSibling,[D,P]=k(O.nextSibling),T=D.nextSibling,I=T.firstChild,w=I.firstChild,C=w.nextSibling,R=T.nextSibling,[J,re]=k(R.nextSibling),X=J.nextSibling,F=X.firstChild,L=F.nextSibling,H=L.nextSibling,[j,ue]=k(H.nextSibling),de=X.nextSibling,$e=de.firstChild,_e=$e.nextSibling,i=_e.firstChild,o=i.firstChild,E=o.nextSibling,u=i.nextSibling,V=u.firstChild,Q=V.nextSibling,Y=de.nextSibling;return h(_,s+1,y,x),h(p,n(yt,{get id(){return a().memberId},onChange:(K,W)=>v(s,{memberId:K,...W?{name:W,affiliations:void 0}:{}})}),D,P),C.$$input=K=>v(s,{name:K.currentTarget.value}),h(p,n(Ze,{name:"speakerAffiliations",get values(){return a().affiliations},get inherit(){return!!a().memberId}}),J,re),h(X,n(ke,{name:"speakerLinks",rows:"2",get value(){return(a().links??[]).join(`
2`)},onInput:K=>v(s,{links:K.currentTarget.value.split(`
3`)})}),j,ue),E.$$input=K=>v(s,{imageUrl:K.currentTarget.value}),Q.$$input=K=>v(s,{imageDarkUrl:K.currentTarget.value}),Y.$$click=()=>d(K=>K.filter((W,ee)=>ee!==s)),f(()=>S(de,"open",!!(a().imageUrl||a().imageDarkUrl))),f(()=>S(q,"value",a().id??"")),f(()=>S(C,"value",a().name)),f(()=>S(E,"value",a().imageUrl??"")),f(()=>S(Q,"value",a().imageDarkUrl??"")),N(),p})()}),(()=>{var a=r(Xt);return a.$$click=()=>d(s=>[...s,{name:"",affiliations:[]}]),f(()=>S(a,"disabled",$().length>=40)),N(),a})()]}}),n(ie,{title:"Programme",get children(){return[n(we,{get each(){return g()},children:(a,s)=>(()=>{var p=r(tn),_=p.firstChild,c=_.firstChild,m=c.nextSibling,y=_.nextSibling,x=y.firstChild,q=x.nextSibling,O=y.nextSibling;return m.$$input=D=>b(s,{time:D.currentTarget.value}),q.$$input=D=>b(s,{title:D.currentTarget.value}),O.$$click=()=>t(D=>D.filter((P,T)=>T!==s)),f(()=>S(m,"value",a().time)),f(()=>S(q,"value",a().title)),N(),p})()}),(()=>{var a=r(Zt);return a.$$click=()=>t(s=>[...s,{time:"",title:""}]),N(),a})(),n(qt,{get draft(){return e.draft},get directory(){return e.directory}})]}})]}function _n(e){const $=()=>e.draft?.registration.kind==="native"?e.draft.registration:void 0,d=()=>e.draft?.registration.kind==="external"?e.draft.registration:void 0;function g(t,v){e.setQuestions(b=>b.map((a,s)=>s===t?{...a,...v}:a))}return[(()=>{var t=r(an),v=t.firstChild,b=v.nextSibling,[a,s]=k(b.nextSibling);return h(t,n(ae,{get value(){return e.kind},onChange:p=>e.setKind(p.currentTarget.value),get children(){return[r(nn),r(rn),r(ln)]}}),a,s),t})(),n(A,{get when(){return e.kind==="external"},get children(){return[(()=>{var t=r(sn),v=t.firstChild,b=v.nextSibling;return f(()=>S(b,"value",d()?.url??"")),t})(),(()=>{var t=r(on),v=t.firstChild,b=v.nextSibling,a=b.nextSibling;return f(()=>S(a,"value",d()?.capacity??"")),t})()]}}),n(A,{get when(){return e.kind==="native"},get children(){return[(()=>{var t=r(dn),v=t.firstChild,b=v.firstChild,a=b.nextSibling,[s,p]=k(a.nextSibling),_=v.nextSibling,c=_.firstChild,m=c.nextSibling,y=m.nextSibling;return h(v,n(ae,{name:"admission",get value(){return $()?.admission??"automatic"},get children(){return[r(cn),r(un)]}}),s,p),f(()=>S(y,"value",$()?$().capacity??"":200)),t})(),(()=>{var t=r(mn),v=t.firstChild,b=v.firstChild,a=b.nextSibling,[s,p]=k(a.nextSibling),_=v.nextSibling,c=_.firstChild,m=c.nextSibling,y=m.nextSibling;return h(v,n(ae,{name:"overflow",get value(){return $()?.overflow??"waitlist"},get children(){return[r($n),r(gn)]}}),s,p),f(()=>S(y,"value",$()?.closesAt?xe($().closesAt):"")),t})(),n(we,{get each(){return e.questions},children:(t,v)=>n(Sn,{get question(){return t()},number:v+1,onChange:b=>g(v,b),onRemove:()=>e.setQuestions(b=>b.filter((a,s)=>s!==v))})}),(()=>{var t=r(vn);return t.$$click=()=>e.setQuestions(v=>[...v,{label:"",isRequired:!1}]),f(()=>S(t,"disabled",e.questions.length>=10)),N(),t})()]}})]}function Sn(e){return(()=>{var $=r(bn),d=$.firstChild,g=d.nextSibling,t=g.firstChild,v=g.nextSibling;return d.$$input=b=>e.onChange({label:b.currentTarget.value}),t.addEventListener("change",b=>e.onChange({isRequired:b.currentTarget.checked})),Je(v,"click",e.onRemove,!0),f(()=>ne(d,"aria-label",`Question ${e.number}`)),f(()=>S(d,"value",e.question.label)),f(()=>S(t,"checked",e.question.isRequired)),N(),$})()}me(["click","input"]);var yn=l("<label>
3Venue capacity<input type=number name=venueCapacity min=1 step=1><span>People admitted. Visible to organisers only."),wn=l("<label class=checkbox><input type=checkbox name=checkIn>QR check-in"),kn=l("<label class=checkbox><input type=checkbox name=eventFeedback>Event feedback"),xn=l("<label class=checkbox><input type=checkbox name=speakerFeedback>Speaker feedback"),Cn=l("<label>Send after (hours)<input type=number name=followUpDelay min=1 max=168>");function An(e){return n(ie,{title:"Event settings",class:"event-options",get children(){return[n(ye,{title:"Before the event",get children(){return[n(_n,e),n(ct,{get confirmation(){return e.draft?.confirmation},get startsAt(){return e.draft?.startsAt},get confirmedAt(){return e.confirmedAt},get hasNativeRegistration(){return e.kind==="native"}})]}}),n(ye,{title:"At the event",get children(){return[(()=>{var $=r(yn),d=$.firstChild,g=d.nextSibling;return f(()=>S(g,"value",e.draft?.venueCapacity??"")),$})(),n(A,{get when(){return e.kind==="native"},get children(){var $=r(wn),d=$.firstChild;return f(()=>S(d,"checked",e.draft?.checkIn?.isEnabled??!1)),$}})]}}),n(A,{get when(){return e.kind==="native"},get children(){return n(ye,{title:"After the event",get children(){return[(()=>{var $=r(kn),d=$.firstChild;return f(()=>S(d,"checked",e.draft?.feedback?.isEventEnabled??!1)),$})(),(()=>{var $=r(xn),d=$.firstChild;return f(()=>S(d,"checked",e.draft?.feedback?.isSpeakerEnabled??!1)),$})(),n(rt,{name:"followUp",label:"Send a thank-you email",get checked(){return e.draft?.followUp?.isEnabled},get children(){var $=r(Cn),d=$.firstChild,g=d.nextSibling;return f(()=>S(g,"value",e.draft?.followUp?.delayHours??24)),$}})]}})}})]}})}var In=l("<div class=mail-followup><div class=mail-control><div><strong>Follow-up</strong><p></p></div><button type=button class=button>Send follow-up</button></div><!$><!/>");function En(e){const $=Ie(),d=Ce(),[g,{refetch:t}]=fe(()=>e.eventId,async m=>(await Z()).query(z.mail.followup.preview,{eventId:m})),[v,b]=M(!1),[a,s]=M(),[p,_]=M();async function c(){b(!0),s(void 0),_(void 0);try{const m=await Z(),y=await m.query(z.mail.followup.preview,{eventId:e.eventId});if(!y.emails)throw new Error("No eligible recipients.");if(!await d({title:"Send follow-up",subject:y.title,description:"Send a thank-you email with feedback links when enabled.",action:"Send follow-up",emails:y.emails}))return;await m.mutation(z.mail.followup.send,{eventId:e.eventId,receipt:y.receipt}),_("Follow-up queued."),await t()}catch(m){s(le(m,"Could not send follow-up."))}finally{b(!1)}}return(()=>{var m=r(In),y=m.firstChild,x=y.firstChild,q=x.firstChild,O=q.nextSibling,D=x.nextSibling,P=y.nextSibling,[T,I]=k(P.nextSibling);return h(O,(()=>{var w=U(()=>!!g.error);return()=>w()?"Could not load recipients.":U(()=>!!g())()?`${g().emails.toLocaleString("en-CH")} eligible recipients`:"Loading recipients…"})()),D.$$click=c,h(m,n(Ae,{get error(){return a()},get success(){return p()}}),T,I),f(w=>{var C=v()||!g()?.emails||!$.current()?.canSendMail,R=$.current()?.canSendMail?void 0:"Email sending permission required";return C!==w.e&&S(D,"disabled",w.e=C),R!==w.t&&ne(D,"title",w.t=R),w},{e:void 0,t:void 0}),N(),m})()}me(["click"]);var qn=l("<button type=button class=button>Retry recipients"),Tn=l("<div class=mail-actions><!$><!/><!$><!/><!$><!/>"),Un=l("<div class=mail-control><div><strong></strong><p></p></div><button type=button class=button>");function Dn(e){const $=Ie(),d=Ce(),[g,{refetch:t}]=fe(()=>e.eventId,async m=>(await Z()).query(z.events.mail.preview,{eventId:m})),[v,b]=M(!1),[a,s]=M(),[p,_]=M();async function c(m){b(!0),s(void 0),_(void 0);try{const y=await Z(),x=await y.query(z.events.mail.preview,{eventId:e.eventId}),q=x[m];if(q.reason)throw new Error(q.reason);if(!q.recipients)throw new Error("No eligible recipients.");const O=m==="announcement"?"subscribers":"registered participants";if(!await d({title:m==="announcement"?"Announce event":"Send reminder",action:m==="announcement"?"Send announcement":"Send reminder",description:"Send the published event by email.",subject:x.title,emails:q.recipients,recipients:q.recipients,audience:O}))return;await y.mutation(z.events.mail.send,{eventId:e.eventId,kind:m,receipt:q.receipt}),_(m==="announcement"?"Announcement queued.":"Reminder queued."),await pe(t)}catch(y){s(le(y,"Could not send event mail."))}finally{b(!1)}}return[n(ie,{title:"Email",get children(){return[(()=>{var m=r(Tn),y=m.firstChild,[x,q]=k(y.nextSibling),O=x.nextSibling,[D,P]=k(O.nextSibling),T=D.nextSibling,[I,w]=k(T.nextSibling);return h(m,n(ce,{each:["announcement","reminder"],children:C=>{const R=()=>g.latest?.[C];return(()=>{var J=r(Un),re=J.firstChild,X=re.firstChild,F=X.nextSibling,L=re.nextSibling;return h(X,C==="announcement"?"Announcement":"Reminder"),h(F,(()=>{var H=U(()=>!!g.error);return()=>H()?"Could not load recipients.":R()?.reason??(R()?`${R().recipients.toLocaleStr
3ing("en-CH")} ${C==="announcement"?"subscribers":"registered participants"}`:"Loading recipients…")})()),L.$$click=()=>void c(C),h(L,C==="announcement"?"Announce event":"Send reminder"),f(H=>{var j=v()||!R()?.recipients||!!R()?.reason||!(C==="announcement"?$.current()?.isAdmin:$.current()?.canSendMail),ue=C==="announcement"?$.current()?.isAdmin?void 0:"Administrator access required":$.current()?.canSendMail?void 0:"Email sending permission required";return j!==H.e&&S(L,"disabled",H.e=j),ue!==H.t&&ne(L,"title",H.t=ue),H},{e:void 0,t:void 0}),N(),J})()}}),x,q),h(m,n(A,{get when(){return g.error},get children(){var C=r(qn);return C.$$click=()=>void t(),N(),C}}),D,P),h(m,n(En,{get eventId(){return e.eventId}}),I,w),m})(),n(Ae,{get error(){return a()},get success(){return p()}})]}}),n(Le,{get eventId(){return e.eventId}})]}me(["click"]);async function Pe(e,$,d){const g=await(await Z()).query(z.events.actions.preview,e);if(g.permissionError)throw new Error(g.permissionError);const t=e.action==="unpublish"?"This hides the event and closes registration. Existing registrations are kept.":e.action==="cancel"?"This cancels the event and closes registration.":e.action==="confirm"?"This confirms the event even if its requirements are unmet.":e.action==="approve"?"This records team approval. Other requirements still apply.":g.visibility==="unlisted"?"This publishes an unlisted event. Anyone with the link can view and register; it stays out of listings and promotional emails.":g.visibilityChanged?"This makes the event publicly listed. Anyone can find it on the website.":"This publishes your changes.";return await d({title:$,subject:g.title,action:e.action==="cancel"?"Cancel":$,description:t,isDestructive:e.action==="cancel"||e.action==="unpublish",emails:g.emails,recipients:g.recipients,details:[g.followUp?`Follow-up scheduled ${g.followUp.delayHours} hours after the event, for ${g.followUp.isAttendanceRequired?"checked-in attendees":"confirmed registrants"}. ${g.followUp.currentRegistrations} currently confirmed; the final email count depends on eligibility at delivery.`:"",g.announcements?`${g.announcements} subscriber announcements.`:"",g.updates?`${g.updates} registration updates.${g.changes.length?` Changed: ${g.changes.join(", ").toLowerCase()}.`:""}`:"",g.promotions?`${g.promotions} waitlist confirmations.`:""].filter(Boolean).join(" ")})?g.receipt:void 0}var Rn=l("<button type=submit form=event-editor class=button>"),Pn=l('<button type=submit form=event-editor value=publish class="button button--primary">Publish event'),Fn=l("<p role=alert class=form-error>"),Ln=l('<select aria-label="Duplicate from"><option value>Blank event</option><!$><!/>'),Nn=l("<button class=button type=button>Approve event"),On=l("<div class=form-actions><!$><!/><button class=button type=button>Confirm now"),Mn=l("<p>Team approval recorded"),Hn=l("<a class=action-link>Edit series schedule"),Kn=l("<div class=editor-columns><div class=editor-column><!$><!/><!$><!/></div><div class=editor-column><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>"),Vn=l("<a class=action-link href=/admin>Back"),Qn=l("<a class=action-link>View event"),jn=l('<span class="tag status-control">'),Wn=l('<a class=button href="/sign-in?next=%2Fsubmit">Sign in'),Bn=l("<p class=form-error role=alert>"),zn=l('<div class=empty-panel><h2>Editing access required</h2><p>Ask an admin for event or series access.</p><a class="button button--primary"href=/contribute#events>Suggest an event <!$><!/></a><!$><!/><!$><!/>'),Gn=l("<label class=checkbox><input type=checkbox name=announce>Announce to subscribers"),Jn=l("<p>Save keeps a draft. Publish opens a review with the email count."),Yn=l("<button class=button type=button>Unpublish"),Xn=l("<button class=button type=button>Cancel event"),Zn=l("<div class=form-actions>"),ei=l("<p>Save a draft for an organiser to publish."),ti=l("<p>Changes appear on the event page when saved."),ni=l("<p>Cancelled"),ii=l("<option>");function Li(){const e=Ce(),$=Ye(),d=Ie(),{account:g}=d,[t,v]=Xe(),b=$t.use(()=>[]),a=d.access,[s,{refetch:p}]=fe(d.key,async i=>({key:i,value:await(await Z()).query(z.events.management.workspace,{editor:!0})}
3)),_=()=>s()?.key===d.key()?s()?.value:void 0;oe(()=>{const i=typeof t.event=="string"?t.event:void 0;!i||!d.canEvent(i)||Z().then(o=>o.mutation(z.events.mutations.edit,{eventId:i})).then(async o=>{await pe(p),v({event:void 0,edit:o},{replace:!0})}).catch(o=>P(le(o,"Could not open the event.")))});const c=()=>{const i=_()?.submissions.find(o=>o._id===(t.edit??t.duplicate));return!i||!t.duplicate?i:{...i,confirmation:i.confirmation?{...i.confirmation,decidesAt:i.confirmation.decidesAt-i.startsAt}:void 0,startsAt:0,endsAt:void 0,registration:i.registration.kind==="native"?{...i.registration,closesAt:void 0}:i.registration}};async function m(i){P(void 0),C(!0);try{const o=_()?.published.find(u=>u._id===i),E=o?await(await Z()).mutation(z.events.mutations.edit,{eventId:o._id}):i;o&&await pe(p),v({duplicate:E||void 0})}catch(o){P(le(o,"Could not open the event."))}finally{C(!1)}}const[y,x]=M("native"),[q,O]=M([]),[D,P]=M(),[T,I]=M(),[w,C]=M(!1);let R;oe(()=>{const i=c();x(i?.registration.kind??"native"),O(i?.registration.kind==="native"?i.registration.questions:[])});const J=()=>t.edit&&c()?.eventId?_()?.statuses.find(i=>i.id===c()?.eventId)?.status:void 0,[re,X]=M("public");oe(()=>X(c()?.visibility??"public"));const F=()=>_()?.statuses.find(i=>i.id===c()?.eventId),L=()=>J()==="scheduled"||J()==="finished",H=()=>J()==="cancelled",j=()=>t.edit&&c()?.eventId?d.canEvent(c().eventId,"organiser"):!!d.current()?.isAdmin||!!d.current()?.grants.some(i=>i.scope.kind==="series"&&i.role==="organiser"),ue=()=>typeof t.series=="string"?t.series:d.current()?.grants.find(i=>i.scope.kind==="series"&&i.role==="organiser")?.scope.id,de=()=>[(()=>{var i=r(Rn);return h(i,()=>w()?"Saving…":"Save"),f(o=>{var E=!!(!j()||L()),u=w();return E!==o.e&&i.classList.toggle("button--primary",o.e=E),u!==o.t&&S(i,"disabled",o.t=u),o},{e:void 0,t:void 0}),f(()=>S(i,"value",L()&&j()?"publish":"draft")),i})(),n(A,{get when(){return U(()=>!!j())()&&!L()},get children(){var i=r(Pn);return f(()=>S(i,"disabled",w())),i}})];async function $e(i){const o=c()?.eventId;if(o){C(!0),P(void 0);try{const E=await Pe({eventId:o,action:i},{unpublish:"Unpublish event",cancel:"Cancel event",approve:"Approve event",confirm:"Confirm event despite unmet requirements"}[i],e);if(E===void 0)return;const u=await Z();if(i==="approve"||i==="confirm"){await u.mutation(z.events.confirmation.decide,{eventId:o,action:i,receipt:E}),await pe(p),I(i==="approve"?"Team approval recorded.":"Event confirmed."),await he();return}await u.mutation(i==="unpublish"?z.events.mutations.unpublish:z.events.mutations.cancel,{eventId:o,receipt:E}),await he(),$("/admin")}catch(E){P(le(E,"Could not update the event."))}finally{C(!1)}}}async function _e(i){i.preventDefault(),P(void 0),I(void 0),C(!0);const o=new FormData(R),E=i.submitter?.value,u=V=>String(o.get(V)??"").trim();try{if(E==="publish"&&(!u("description")||!u("location")))throw new Error("Add a description and venue before publishing.");const V=y()==="external"?{kind:"external",url:u("url"),capacity:u("capacity")?Number(u("capacity")):void 0}:y()==="none"?{kind:"none"}:{kind:"native",admission:u("admission"),capacity:u("capacity")?Number(u("capacity")):null,overflow:u("overflow"),closesAt:u("closesAt")?be(u("closesAt")):void 0,questions:q()},Q=[...o.entries()].filter(([B,G])=>B.startsWith("organisation:")&&G!=="none"),Y=await Z(),K={visibility:u("visibility")||"public",title:u("title"),slug:u("slug"),description:u("description"),summary:u("summary"),format:u("format"),seriesId:u("series")?u("series"):void 0,topics:o.getAll("topic").map(String),startsAt:be(u("startsAt"),c()?.startsAt),confirmation:ut(o,be(u("startsAt"),c()?.startsAt)),endsAt:u("endsAt")?be(u("endsAt"),c()?.endsAt):void 0,location:u("location"),addressAccess:u("addressKind")==="external"?{kind:"external",url:u("addressUrl"),label:u("addressLabel")||nt(u("addressUrl"))}:{kind:u("addressKind")||"public"},address:u("address"),latitude:u("latitude")?Number(u("latitude")):void 0,longitude:u("longitude")?Number(u("longitude")):void 0,registration:V,coOrganiserIds:u("coOrganiserMode")==="inherit"?void 0:o.getAll("coOrganiserId").map(String),primaryOrganiserId:u("primaryOrganiserId")?u("primaryOrganiserId"):void 0,organisations:Q.map(([B])=>B.slice(13)),partnerIds:Q.filter(([,B])=>B==="partner").map(([B])=>B.slice(13)),venueCapacity:u("venueCapacity")?Number(u("venueCapacity")):void 0,checkIn:{isEnabled:o.has("checkIn")},feedback:{isEventEnabled:o.has("eventFeedback"),isSpeakerEnabled:o.has("speakerFeedback")},followUp:{isEnabled:o.has("followUp"),delayHours:Number(u("followUpDelay")||24)},speakers:o.getAll("speakerName").map((B,G)=>({id:t.duplicate?void 0:String(o.getAll("speakerId")[G]||"")||void 0,memberId:String(o.getAll("speakerMember")[G]||"")||void 0,name:String(B).trim(),affiliations:et(o.getAll("speakerAffiliations")[G]),links:String(o.getAll("speakerLinks")[G]??"").split(`
4`).map(ge=>
4ge.trim()).filter(Boolean),imageUrl:String(o.getAll("speakerImage")[G]??"").trim()||void 0,imageDarkUrl:String(o.getAll("speakerImageDark")[G]??"").trim()||void 0})),agenda:o.getAll("agendaTitle").map((B,G)=>({title:String(B).trim(),time:String(o.getAll("agendaTime")[G]??"").trim()}))},W=E==="publish"&&o.get("announce")==="on",ee=t.edit?c()?._id:void 0,se=E==="publish"?await Pe({id:ee,action:"publish",fields:K,announce:W},L()?"Save":"Publish event",e):void 0;if(E==="publish"&&se===void 0)return;await Y.mutation(z.events.mutations.save,{...K,id:ee,publish:E==="publish",announce:W,receipt:se}),at(R),I(E==="publish"?"Published. Your event is on the calendar.":"Draft saved."),await he(),$(`/admin?saved=${E}`)}catch(V){P(le(V,"Could not save the event."))}finally{C(!1)}}return[n(bt,{get title(){return U(()=>!!t.edit)()?U(()=>!!c()?.title)()?`Edit ${c().title}`:"Edit event":U(()=>!!t.duplicate)()?U(()=>!!c()?.title)()?`Duplicate ${c().title}`:"Duplicate event":"New event"},description:"Create and edit zurich.tech events."}),n(vt,{get children(){return[n(mt,{get title(){return t.edit?"Edit event":"New event"},get actions(){return[n(A,{get when(){return U(()=>!!(d.current()?.canManage&&_()&&!H()))()&&(!(t.edit||t.duplicate)||c())},get children(){return de()}}),n(A,{get when(){return U(()=>!!(d.current()?.isAdmin&&t.edit))()?c():void 0},children:i=>n(it,{get id(){return i()._id},name:"event",onDeleted:async()=>{await he(),$("/admin")}})}),r(Vn),n(A,{get when(){return U(()=>!!(t.edit&&c()?.eventId))()&&L()},get children(){var i=r(Qn);return f(()=>ne(i,"href",`/events/${c().slug}`)),i}}),n(A,{get when(){return U(()=>!!_())()&&(!(t.edit||t.duplicate)||c())},get children(){var i=r(jn);return h(i,(()=>{var o=U(()=>!!H());return()=>o()?"Cancelled":L()?"Published":"Draft"})()),f(()=>i.classList.toggle("tag-upcoming",!!L())),i}})]}}),n(A,{get when(){return d.current()?.canManage},get fallback(){return(()=>{var i=r(zn),o=i.firstChild,E=o.nextSibling,u=E.nextSibling,V=u.firstChild,Q=V.nextSibling,[Y,K]=k(Q.nextSibling),W=u.nextSibling,[ee,se]=k(W.nextSibling),B=ee.nextSibling,[G,ge]=k(B.nextSibling);return h(u,n(gt,{}),Y,K),h(i,n(A,{get when(){return U(()=>!g.user())()&&!g.isPending()},get children(){return r(Wn)}}),ee,se),h(i,n(A,{get when(){return a.error},get children(){var ve=r(Bn);return h(ve,()=>le(a.error,"Could not load your account.")),ve}}),G,ge),i})()},get children(){return[n(A,{get when(){return s.error},get children(){var i=r(Fn);return h(i,()=>le(s.error,"Could not load your workspace.")),i}}),n(A,{get when(){return U(()=>!!_())()&&(!(t.edit||t.duplicate)||c())},get children(){return[n(lt,{id:"event-editor",class:"editor event-editor",ref(i){var o=R;typeof o=="function"?o(i):R=i},onSubmit:_e,actions:()=>n(ie,{title:"Publication",class:"editor-publication",get children(){return[n(A,{get when(){return U(()=>!H())()&&j()},get fallback(){return r(ei)},get children(){return n(A,{get when(){return!L()},get fallback(){return r(ti)},get children(){return[n(A,{get when(){return U(()=>re()==="public")()&&d.current()?.isAdmin},get children(){var i=r(Gn),o=i.firstChild;return f(()=>S(o,"disabled",w())),i}}),r(Jn)]}})}}),(()=>{var i=r(Zn);return h(i,n(A,{get when(){return!H()},get fallback(){return r(ni)},get children(){return[U(()=>de()),n(A,{get when(){return U(()=>!!L())()&&j()},get children(){return[(()=>{var o=r(Yn);return o.$$click=()=>void $e("unpublish"),f(()=>S(o,"disabled",w())),N(),o})(),(()=>{var o=r(Xn);return o.$$click=()=>void $e("cancel"),f(E=>{var u=w()||!d.current()?.canSendMail,V=d.current()?.canSendMail?void 0:"Email sending permission required";return u!==E.e&&S(o,"disabled",E.e=u),V!==E.t&&ne(o,"title",E.t=V),E},{e:void 0,t:void 0}),N(),o})()]}})]}})),i})()]}}),get children(){return[n(A,{get when(){return!t.edit},get children(){return n(ie,{title:"Duplicate from",get children(){var i=r(Ln),o=i.firstChild,E=o.nextSibling,[u,V]=k(E.nextSibling);return i.addEventListener("change",Q=>void m(Q.currentTarget.value)),h(i,n(ce,{get each(){return[..._()?.submissions??[],..._()?.published??[]].sort((Q,Y)=>Y.startsAt-Q.startsAt)},children:Q=>(()=>{var Y=r(ii);return h(Y,()=>Q.title),f(()=>S(Y,"value",Q._id)),Y})()}),u,V),f(()=>S(i,"disabled",w())),f(()=>S(i,"value",t.duplicate??"")),i}})}}),(()=>{var i=r(Kn),o=i.firstChild,E=o.firstChild,[u,V]=k(E.nextSibling),Q=u.nextSibling,[Y,K]=k(Q.nextSibling),W=o.nextSibling,ee=W.firstChild,[se,B]=k(ee.nextSibling),G=se.nextSibling,[ge,ve]=k(G.nextSibling),Me=ge.nextSibling,[Ee,He]=k(Me.nextSibling),Ke=Ee.nextSibling,[qe,Ve]=k(Ke.nextSibling),Qe=qe.nextSibling,[je,We]=k(Qe.nextSibling);return h(o,n(hn,{onVisibilityChange:X,get isPublished(){return U(()=>!!F())()&&F()?.status!=="draft"},get draft(){return c()},get isDuplicate(){return!!t.duplicate},get directory(){return U(()=>!!b())()?{...b(),series:b().series.filter(te=>te._id===c()?.seriesId||d.canSeries(te._id,"organiser"))}:void 0},get initialSeriesId(){return ue()},get allowStandalone(){return!!d.current()?.isAdmin||!!c()&&!c()?.seriesId}}),u,V),h(o,n(fn,{get draft(){return c()},get directory(){return b()}}),Y,K),h(W,n(tt,{get value(){return c()?.primaryOrganiserId},get coOrganisers(){return c()?.coOrganiserIds},inherit:!0}),se,B),h(W,n(pn,{get draft(){return c()}}),ge,ve),h(W,n(An,{get draft(){return c()},get kind(){return y()},setKind:x,get questions(){return q()},setQuestions:O,get confirmedAt(){return U(()=>!!t.edit)()?F()?.confirmedAt:void 0}}),Ee,He),h(W,n(A,{get when(){return U(()=>!!(j()&&L()&&F()))()&&dt(F())},get children(){return n(ie,{title:"Tentative",get children(){return[(()=>{var te=r(On),Be=te.firstChild,[Te,ze]=k(Be.nextSibling),Ue=Te.nextSibling;return h(te,n(A,{get when(){return U(()=>!!F()?.confirmation?.isApprovalRequired)()&&!F()?.approvedAt},get children(){var Se=r(Nn);return Se.$$click=()=>void $e("approve"),f(()=>S(Se,"disabled",w())),N(),Se}}),Te,ze),Ue.$$click=()=>void $e("confirm"),f(()=>S(Ue,"disabled",w())),N(),te})(),n(A,{get when(){return F()?.approvedAt},get children(){return r(Mn)}})]}})}}
4),qe,Ve),h(W,n(A,{get when(){return U(()=>!!F()?.scheduleId)()&&d.canSeries(F()?.seriesId,"organiser")},get children(){var te=r(Hn);return f(()=>ne(te,"href",`/admin?section=series&schedule=${F().scheduleId}`)),te}}),je,We),i})(),n(Ae,{get error(){return D()},get success(){return T()}})]}}),n(A,{get when(){return U(()=>!!(j()&&L()))()&&F()},get children(){return n(Dn,{get eventId(){return F().id}})}}),n(A,{get when(){return U(()=>!!(!j()&&L()))()&&F()},get children(){return n(Le,{get eventId(){return F().id}})}})]}})]}})]}})]}me(["click"]);export{Li 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.