1import{d as h,o as s,B as w,u as e,c as i,F as $,a,j as b,t as u,l as F,a2 as G,E as W,bQ as V,aj as K,O as q,Y as Q,cd as J,Z as X,R as Y,U as O,b as p,w as Z,x as y,e as C,N as H,ak as P,bj as U,bk as A,b1 as ee,aW as te,T as se,ce as ne,cf as ie,ae,J as le,K as oe,au as re,av as ce,aE as ue,p as me,q as de,r as _e}from"./BMrxR1rr.js";import{_ as be}from"./FtV10hcY.js";import{a as pe,_ as R,t as ge,b as ve,F as fe}from"./C1xmXCIa.js";import{_ as xe}from"./BQ85t5WW.js";const he=h({name:"CheckboxInput",__name:"CheckboxInput",props:{name:{},value:{}},setup(t){return(d,l)=>(s(),w(e(pe),{id:t.value===void 0?t.name:void 0,name:t.name,value:t.value===void 0?!0:t.value,"unchecked-value":t.value===void 0?!1:void 0,type:"checkbox"},null,8,["id","name","value","unchecked-value"]))}}),ye=Object.assign(he,{__name:"CheckboxInput"}),we={class:"flex cursor-pointer items-start gap-2 text-sm"},ke={class:"text-surface"},Le=h({name:"CheckboxFormField",__name:"CheckboxFormField",props:{name:{},label:{},value:{}},setup(t){return(d,l)=>{const o=ye,n=R;return s(),i($,null,[a("label",we,[b(o,{name:t.name,value:t.value,class:"mt-0.5 shrink-0"},null,8,["name","value"]),a("span",ke,u(t.label),1)]),b(n,{name:t.name,class:"mt-1"},null,8,["name"])],64)}}}),$e=Object.assign(Le,{__name:"CheckboxFormField"}),Ce={key:0},Fe={key:0,class:"rounded-lg bg-green-50 p-4 text-green-800"},Se={key:0,class:"mb-3 rounded-lg bg-error/10 p-4 text-error"},Ie=["disabled"],Me={key:0,class:"rounded-lg bg-green-50 p-4 text-green-800"},Ne={class:"grid max-w-xl grid-cols-1 gap-4 sm:grid-cols-2"},je={key:0,class:"text-sm text-error"},Ee=["disabled"],Ve=h({name:"NewsletterSubscriptionForm",__name:"NewsletterSubscriptionForm",props:{mailingList:{}},emits:["subscribed"],setup(t,{emit:d}){const l=t,o=d,{t:n}=F(),{$reader:_}=G(),{userInfo:r}=W(),x=V("subscriber:email",()=>""),c=V("subscriber:name",()=>""),g=y(!1),v=y(!1),m=y(null),k=C(()=>!!r.value),S=ge(K({email:q(O(),Y(n("newsletters.emailRequired")),X(n("newsletters.emailInvalid"))),name:H(O()),accepted:q(J(),Q(!0,n("newsletters.consentRequired")))}
1)),I={email:r.value?.email??x.value,name:r.value?.name??c.value,accepted:!1};async function L(f){v.value=!0,m.value=null;try{x.value=f.email,c.value=f.name??"",await _.fetch("/newsletter/subscriptions",{method:"POST",body:{mailinglist_id:l.mailingList.id,email:f.email,name:f.name}}),g.value=!0,o("subscribed",l.mailingList.id)}catch(N){N?.response?.status===409||N?.status===409?(g.value=!0,o("subscribed",l.mailingList.id)):m.value=n("newsletters.error")}finally{v.value=!1}}function M(){L({email:r.value.email,name:r.value.name,accepted:!0})}return(f,N)=>{const j=be,E=ve,z=R,B=$e;return e(k)?(s(),i("div",Ce,[e(g)?(s(),i("div",Fe,u(e(n)("newsletters.success")),1)):(s(),i($,{key:1},[e(m)?(s(),i("div",Se,u(e(m)),1)):p("",!0),a("button",{type:"button",disabled:e(v),class:"self-start rounded-lg bg-primary px-6 py-2 text-sm font-medium text-white transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer",onClick:M},u(e(v)?e(n)("newsletters.subscribing"):e(n)("newsletters.subscribe")),9,Ie)],64))])):(s(),w(e(fe),{key:1,"validation-schema":e(S),"initial-values":I,class:"flex flex-col gap-4",onSubmit:L},{default:Z(({isSubmitting:D})=>[e(g)?(s(),i("div",Me,u(e(n)("newsletters.success")),1)):(s(),i($,{key:1},[a("div",Ne,[a("div",null,[b(j,{text:e(n)("newsletters.email"),for:"email"},null,8,["text"]),b(E,{name:"email",type:"email",autocomplete:"email",placeholder:e(n)("newsletters.emailPlaceholder")},null,8,["placeholder"]),b(z,{name:"email",class:"mt-1"})]),a("div",null,[b(j,{text:e(n)("newsletters.name"),for:"name"},null,8,["text"]),b(E,{name:"name",autocomplete:"name",placeholder:e(n)("newsletters.namePlaceholder")},null,8,["placeholder"])])]),b(B,{name:"accepted",label:e(n)("newsletters.consent")},null,8,["label"]),e(m)?(s(),i("div",je,u(e(m)),1)):p("",!0),a("button",{type:"submit",disabled:D||e(v),class:"self
1-start rounded-lg bg-primary px-6 py-2 text-sm font-medium text-white transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer"},u(e(v)?e(n)("newsletters.subscribing"):e(n)("newsletters.subscribe")),9,Ee)],64))]),_:1},8,["validation-schema"]))}}}),T=Object.assign(Ve,{__name:"NewsletterSubscriptionForm"}),qe={class:"flex h-full flex-col overflow-hidden rounded-xl border border-surface/10 bg-card"},Oe={class:"aspect-[16/9] bg-surface/5"},Pe={class:"flex flex-1 flex-col gap-3 p-5"},Ue={key:0,class:"self-start rounded bg-primary px-2 py-0.5 text-xs font-semibold uppercase text-white"},Ae={class:"font-title text-lg font-semibold"},Re={key:1,class:"text-sm text-surface"},Te=h({name:"MailingListCard",__name:"MailingListCard",props:{mailingList:{}},emits:["subscribe"],setup(t,{emit:d}){const l=t,o=d,{t:n}=F(),_=C(()=>U(l.mailingList.visual)),r=C(()=>A(l.mailingList.visual)??void 0);return(x,c)=>{const g=P;return s(),i("div",qe,[a("div",Oe,[e(_)?(s(),w(g,{key:0,src:e(_),alt:t.mailingList.name,ratio:"16:9",size:"md",gravity:e(r)},null,8,["src","alt","gravity"])):p("",!0)]),a("div",Pe,[t.mailingList.frequency?(s(),i("span",Ue,u(t.mailingList.frequency),1)):p("",!0),a("h2",Ae,u(t.mailingList.name),1),t.mailingList.description?(s(),i("p",Re,u(t.mailingList.description),1)):p("",!0),a("button",{type:"button",class:"mt-auto self-start rounded-lg border border-primary px-4 py-2 text-sm font-medium text-primary transition-colors hover:bg-primary hover:text-white cursor-pointer",onClick:c[0]||(c[0]=v=>o("subscribe",t.mailingList))},u(e(n)("newsletters.subscribe")),1)])])}}}),ze=Object.assign(Te,{__name:"MailingListCard"}),Be=["aria-label"],De={class:"relative w-full max-w-md rounded-xl bg-card p-6 shadow-xl"},Ge=["aria-label"],We={class:"mb-1 font-title text-xl font-semibold text-surface"},Ke={key:0,class:"mb-4 text-sm text-surface"},Qe=h({name:"NewsletterSubscribeModal",__name:"NewsletterSubscribeModal",props:{mailingList:{}},emits:["close","subscribed"],setup(t,{emit:d}){const l=t,o=d,{t:n}=F();return ee(()=>{function _(r){r.key==="Escape"&&l.mailingList&&o("close")}document.addEventListener("keydown",_),te(()=>document.removeEventListener("keydown",_))}),(_,r)=>{const x=xe,c=T;return s(),w(se,{to:"body"},[l.mailingList?(s(),i("div",{key:0,role:"dialog","aria-modal":"true","aria-label":l.mailingList.name,class:"fixed inset-0 z-50 flex items-center justify-center p-4"},[a("div",{class:"absolute inset-0 bg-black/50",onClick:r[0]||(r[0]=g=>o("close"))}),a("div",De,[a("button",{type:"button",class:"absolute right-4 top-4 text-surface hover:text-current cursor-pointer","aria-label":e(n)("newsletters.close"),onClick:r[1]||(r[1]=g=>o("close"))},[b(x,{class:"size-5"})],8,Ge),a("h3",We,u(l.mailingList.name),1),l.mailingList.description?(s(),i("p",Ke,u(l.mailingList.description),1)):p("",!0),(s(),w(c,{key:l.mailingList.id,"mailing-list":l.mailingList,onSubscribed:r[2]||(r[2]=g=>o("subscribed",g))},null,8,["mailing-list"]))])],8,Be)):p("",!0)])}}}),Je=Object.assign(Qe,{__name:"NewsletterSubscribeModal"});function Xe(t,d){return{id:t.id,mediaId:t.media_id,name:t.name,description:t.description??null,visibility:t.visibility,frequency:t.frequency??null,visual:ie(t.visual,d),updatedAt:new Date(t.updated_at)}}const Ye=ne(Xe),Ze={class:"py-8"},He={class:"container"},et={class:"mb-2 text-3xl font-normal"},tt={key:0,class:"mb-8 text-surface"},st={key:1,class:"flex flex-col gap-6 lg:flex-row lg:gap-10"},nt={key:0,class:"aspect-video w-full overflow-hidden lg:w-2/5 lg:shrink-0 flex items-center"},it={class:"flex-1"},at={class:"text-xl font-semibold"},lt={key:0,class:"mt-1 text-surface"},ot={key:1,class:"mt-2 inline-block rounded bg-primary px-2 py-0.5 text-xs font-semibold uppercase text-white"},rt={class:"mt-6"},ct={key:2,class:"grid auto-rows-fr grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-4","data-nosnippet":""},ut={key:0,class:"absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-white/90"},mt={class:"font-medium text-green-700"},gt=h({name:"NewslettersPage",__name:"newsletters",async setup(t){let d,l;const{t:o}=F(),{isLoggedIn:n}=ae();le({title:o("newsletters.title"),ogTitle:o("newsletters.title"),description:o("newsletters.signupPrompt")}),oe(0),re({title:o("newsletters.title")}),ce([ue({"@type":"WebPage",name:o("newsletters.title")})]);const{data:_}=([d,l]=me(()=>de("/newsletter/mailinglists",{transform:Ye},"$2aQXLE2uFb")),d=await d,l(),d),r=y(null),x=y(new Set),c=C(()=>_.value?.length===1?_.value[0]:null);function g(m){r.value=m}function v(m){x.value.add(m)}return(m,k)=>{const S=P,I=T,L=ze,M=Je;
1return s(),i("div",Ze,[a("div",He,[a("h1",et,u(e(o)("newsletters.title")),1),e(n)?p("",!0):(s(),i("p",tt,u(e(o)("newsletters.signupPrompt")),1)),e(c)?(s(),i("div",st,[e(c).visual?(s(),i("div",nt,[b(S,{src:("getVisualImageUrl"in m?m.getVisualImageUrl:e(U))(e(c).visual),alt:e(c).name,ratio:"16:9",fit:"contain",size:"hd",gravity:("getVisualGravity"in m?m.getVisualGravity:e(A))(e(c).visual)??void 0},null,8,["src","alt","gravity"])])):p("",!0),a("div",it,[a("h2",at,u(e(c).name),1),e(c).description?(s(),i("p",lt,u(e(c).description),1)):p("",!0),e(c).frequency?(s(),i("span",ot,u(e(c).frequency),1)):p("",!0),a("div",rt,[b(I,{"mailing-list":e(c),onSubscribed:v},null,8,["mailing-list"])])])])):e(_)?.length?(s(),i("div",ct,[(s(!0),i($,null,_e(e(_),f=>(s(),i("div",{key:f.id,class:"relative h-full"},[e(x).has(f.id)?(s(),i("div",ut,[a("span",mt,u(e(o)("newsletters.subscribed")),1)])):p("",!0),b(L,{"mailing-list":f,onSubscribe:g},null,8,["mailing-list"])]))),128))])):p("",!0),b(M,{"mailing-list":e(r),onClose:k[0]||(k[0]=f=>r.value=null),onSubscribed:v},null,8,["mailing-list"])])])}}});export{gt 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.