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