PageSourceSearch

https://boothly.web.app/assets/NewsletterBuilderPage-iXFQtjd8.js

js boothly.web.app collected 2026-10-03 12:20:46 UTC 61,512 bytes, 2 lines download raw bytes

1var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,s=(t,r,l)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[r]=l,i=(e,t)=>{for(var r in t||(t={}))n.call(t,r)&&s(e,r,t[r]);if(l)for(var r of l(t))a.call(t,r)&&s(e,r,t[r]);return e},o=(e,l)=>t(e,r(l)),d=(e,t,r)=>new Promise(((l,n)=>{var a=e=>{try{i(r.next(e))}catch(t){n(t)}},s=e=>{try{i(r.throw(e))}catch(t){n(t)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(a,s);i((r=r.apply(e,t)).next())}));import{j as c}from"./ui-vendor-Bh7_beny.js";import{r as u,d as m,c as h,e as g}from"./react-vendor-BoSAEcqU.js";import{as as p,u as x,ad as f,B as b,n as y,Y as v,P as j,cd as w,d as _,dP as B,aR as k,W as I,k as N,b as C,x as $,d9 as S,a as U,S as A,G as L,p as z,j as H,eg as T,eh as D,I as M,ej as E,ek as O,cG as P,Q as R,c4 as F,e$ as W,ei as G,b9 as Y,X as q,aX as J,aL as V,dJ as X}from"./index-IinEbi41.js";import{S as K,v as Q,a as Z,s as ee,u as te}from"./sortable.esm-zwnw_w4z.js";import{P as re}from"./ProjectShell-dK8tRMZr.js";import{i as le,u as ne,q as ae,o as se,g as ie,b as oe,a as de,p as ce,j as ue,k as me,w as he,A as ge,B as pe,C as xe}from"./firebase-vendor-DblBUUbW.js";import{D as fe}from"./Drawer-DsH-gyem.js";import{u as be,e as ye,s as ve}from"./htmlSafe-BLNJ0WWt.js";import{r as je,N as we,a as _e,C as Be,b as ke}from"./resolveExhibitorBoothInfo-G11PkFU2.js";import{S as Ie}from"./Select-Cno2wtBb.js";import{R as Ne}from"./RadioGroup-FLKTSH_e.js";import{L as Ce}from"./library-Cxy2uzPR.js";import{I as $e}from"./ImageDropField-GwxBXFpg.js";import{F as Se,I as Ue}from"./instagram-BlVvOsUE.js";import{L as Ae}from"./linkedin-DEyjT91G.js";import{e as Le}from"./AdminShell-ADtbTeyw.js";import{E as ze}from"./EmptyState-gFyU_i8Z.js";import{S as He}from"./save-YuIXh42j.js";import{G as Te}from"./grip-vertical-YBUJQHY2.js";import{A as De,a as Me}from"./arrow-up-DEyqKKVs.js";import"./fabric-vendor-T6PTpD9i.js";import"./useProjectShell-Bi5VYpE0.js";import"./resetAllFloorplanStores-BqByHRA7.js";import"./TrashIcon-BGnRVOUo.js";import"./PencilIcon-CV81eE09.js";import"./pin-DVUlEbsH.js";import"./minimize-2-Bg2--4dJ.js";import"./index.module-DjHmMTOo.js";import"./crop-BFimjs_K.js";import"./rotate-ccw-CrcgHT5Z.js";import"./arrow-left-BrJBGWSN.js";import"./send-DlR3fIA2.js";import"./user-BSHBAeXR.js";const Ee=({title:e,right:t,icon:r,defaultOpen:l=!1,children:n})=>{const[a,s]=u.useState(l);return c.jsxs("div",{className:"overflow-hidden rounded-[var(--radius-lg,12px)] border border-[var(--color-border,#e5e7eb)] bg-[var(--color-surface,#fff)]",children:[c.jsxs("div",{className:"flex items-center gap-2 px-4 py-3",children:[c.jsxs("button",{type:"button","aria-expanded":a,onClick:()=>s((e=>!e)),className:"flex min-w-0 flex-1 items-center gap-2 text-left",children:[c.jsx(p,{className:"h-4 w-4 shrink-0 text-[var(--color-text-muted,#6b7280)] transition-transform "+(a?"":"-rotate-90")}),r&&c.jsx("span",{className:"shrink-0 text-[var(--color-text-muted,#6b7280)]",children:r}),c.jsx("span",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-[var(--color-text,#111827)]",children:e})]}),t&&c.jsx("div",{className:"shrink-0",children:t})]}),a&&c.jsx("div",{className:"border-t border-[var(--color-border,#e5e7eb)] px-4 py-4",children:n})]})},Oe={nl:"Nederlands",en:"Engels",de:"Duits"},Pe=({open:e,projectId:t,locale:r,article:l,onClose:n,onSaved:a})=>{var s,m,h,g;const{t:p}=x("newsManager"),{generateNewsletterCopy:B,generatingNewsletterCopy:k}=be(),[I,N]=u.useState(""),[C,$]=u.useState(""),[S,U]=u.useState(!1);if(u.useEffect((()=>{var t,n,a,s;e&&l&&(N((null==(n=null==(t=l.titleI18n)?void 0:t[r])?void 0:n.trim())||(null==(s=null==(a=l.titleI18n)?void 0:a.nl)?void 0:s.trim())||l.field_1746696518003||""),$(l.newsletterCopy||""))}),[e,l,r]),!l)return null;const A=(null==(m=null==(s=l.contentI18n)?void 0:s[r])?void 0:m.trim())||(null==(g=null==(h=l.contentI18n)?void 0:h.nl)?void 0:g.trim())||l.field_1746696572527||"";return c.jsx(fe,{open:e,onClose:n,title:p("newsletterBuilder.drawer_title"),leadingIcon:c.jsx(j,{size:16}),size:"lg",closeOnBackdropClick:!S,footer:c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx(b,{variant:"ghost",onClick:n,disabled:S,children:p("newsletterBuilder.drawer_cancel")}),c.jsx(b,{variant:"primary",loading:S,onClick:()=>d(null,null,(function*(){var e;U(!0);try{const s=o(i({}
1,null!=(e=l.titleI18n)?e:{nl:"",en:"",de:""}),{[r]:I});s.nl||(s.nl=I);const d=(new Date).toISOString(),c=le(_,"public_d","projects",t,"forms","Newsitems_01",l.id);yield ne(c,{field_1746696518003:s.nl,titleI18n:s,newsletterCopy:C,newsletterCopyGeneratedAt:d}),a(o(i({},l),{field_1746696518003:s.nl,titleI18n:s,newsletterCopy:C,newsletterCopyGeneratedAt:d})),w.success(p("newsletterBuilder.toast.article_saved")),n()}catch(s){w.error(p("newsletterBuilder.toast.article_save_error"))}finally{U(!1)}})),children:p("newsletterBuilder.drawer_save")})]}),children:c.jsxs("div",{className:"space-y-4",children:[c.jsx(f,{label:p("newsletterBuilder.drawer_title_label"),value:I,onChange:e=>N(e.target.value)}),c.jsxs("div",{children:[c.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-xs font-medium text-[var(--color-text-muted,#6b7280)]",children:p("newsletterBuilder.drawer_copy_label")}),c.jsx(b,{variant:"secondary",size:"sm",icon:c.jsx(y,{className:"h-4 w-4"}),loading:k,onClick:()=>d(null,null,(function*(){if(!A.trim())return void w.error(p("newsletterBuilder.drawer_no_content"));const e=yield je(l._userId,t);yield B(A,I||l.field_1746696518003||"",t,{companyName:e.companyName,boothNumber:e.boothNumber,language:Oe[r],previousCopy:C.trim()||void 0},(e=>{$(e),w.success(p("newsletterBuilder.toast.copy_generated"))}),(e=>w.error(e||p("newsletterBuilder.toast.copy_generate_error"))))})),children:p("newsletterBuilder.drawer_generate")})]}),c.jsx(v,{label:p("newsletterBuilder.drawer_copy_label"),value:C,onChange:e=>$(e.target.value),rows:6}),c.jsx("p",{className:"mt-1 text-xs text-[var(--color-text-muted,#6b7280)]",children:p("newsletterBuilder.drawer_copy_hint")})]})]})})},Re=["accent","dark","soft","gradient"],Fe={nl:"Nederlands",en:"Engels",de:"Duits"},We={accent:"#ef791b",dark:"#1a1a1a",soft:"#f9fafb",gradient:"linear-gradient(135deg, #ef791b, #c2410c)"},Ge=({open:e,projectId:t,locale:r,cta:l,onClose:n,onSave:a,onSaveAsset:s})=>{const{t:d}=x("newsManager"),{generateNewsletterCta:m,generatingCta:h}=be(),[g,p]=u.useState("accent"),[j,_]=u.useState(""),[k,I]=u.useState(""),[N,C]=u.useState(""),[$,S]=u.useState(""),[U,A]=u.useState(""),[L,z]=u.useState("");if(u.useEffect((()=>{e&&l&&(p(l.preset),_(l.heading),I(l.text),C(l.buttonLabel),S(l.buttonUrl),A(""),z(""))}),[e,l]),!l)return null;return c.jsx(fe,{open:e,onClose:n,title:d("newsletterBuilder.cta_drawer_title"),leadingIcon:c.jsx(B,{size:16}),size:"lg",footer:c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx(b,{variant:"ghost",onClick:n,children:d("newsletterBuilder.cta_cancel")}),c.jsx(b,{variant:"primary",onClick:()=>{a(o(i({},l),{preset:g,heading:j,text:k,buttonLabel:N,buttonUrl:$})),n()},children:d("newsletterBuilder.cta_save")})]}),children:c.jsxs("div",{className:"space-y-5",children:[c.jsxs("div",{children:[c.jsx("p",{className:"mb-2 text-xs font-medium text-[var(--color-text-muted,#6b7280)]",children:d("newsletterBuilder.cta_preset_label")}),c.jsx("div",{className:"grid grid-cols-2 gap-2",children:Re.map((e=>c.jsxs("button",{type:"button",onClick:()=>p(e),className:"flex items-center gap-2 rounded-lg border p-2 text-left text-sm "+(g===e?"border-orange-400 ring-1 ring-orange-300":"border-gray-200 hover:bg-gray-50"),children:[c.jsx("span",{"aria-hidden":!0,className:"h-6 w-6 shrink-0 rounded border border-gray-200",style:{background:We[e]}}),d(`newsletterBuilder.cta_preset_${e}`)]},e)))})]}),c.jsxs("div",{className:"rounded-lg border border-gray-100 bg-gray-50 p-3",children:[c.jsx("p",{className:"mb-2 text-xs font-semibold text-[var(--color-text,#111827)]",children:d("newsletterBuilder.cta_ai_heading")}),c.jsx(f,{label:d("newsletterBuilder.cta_ai_goal_label"),value:U,onChange:e=>A(e.target.value),placeholder:d("newsletterBuilder.cta_ai_goal_placeholder")}),c.jsx("div",{className:"mt-2",children:c.jsx(b,{variant:"secondary",size:"sm",icon:c.jsx(y,{className:"h-4 w-4"}),loading:h,disabled:!U.trim(),onClick:()=>{m(U,t,Fe[r],(e=>{_(e.heading),I(e.text),C(e.buttonLabel),w.success(d("newsletterBuilder.toast.cta_generated"))}),(e=>w.error(e||d("newsletterBuilder.toast.cta_generate_error"))))},children:d("newsletterBuilder.cta_ai_generate")})})]}),c.jsx(f,{label:d("newsletterBuilder.cta_heading_label"),value:j,onChange:e=>_(e.target.value)}),c.jsx(v,{label:d("newsletterBuilder.cta_text_label"),value:k,onChange:e=>I(e.target.value),rows:3}),c.jsx(f,{label:d("newsletterBuilder.cta_button_label_label"),value:N,onChange:e=>C(e.target.value)}),c.jsxs("div",{children:[c.jsx(f,{label:d("newsletterBuilder.cta_button_url_label"),value:$,onChange:e=>S(e.target.value),placeholder:d("newsletterBuilder.cta_button_url_placeholder")}),!$.trim()&&c.jsx("p",{className:"mt-1 text-xs text-amber-600",children:d("newsletterBuilder.cta_url_missing")})]}),s&&c.jsxs("div",{className:"rounded-lg border border-gray-100 bg-gray-50 p-3",children:[c.jsx(f,{label:d("newsletterBuilder.asset_name_label"),value:L,onChange:e=>z(e.target.value),placeholder:d("newsletterBuilder.asset_name_placeholder")}),c.jsx("div",{className:"mt-2",children:c.jsx(b,{variant:"secondary",size:"sm",disabled:!L.trim(),onClick:()=>s(o(i({}
1,l),{preset:g,heading:j,text:k,buttonLabel:N,buttonUrl:$}),L.trim()),children:d("newsletterBuilder.asset_save")})})]})]})})},Ye={"1col":"600x200","2col":"600x600"},qe={"1col":1,"2col":2},Je=({open:e,ad:t,ads:r,onClose:l,onSave:n,onSaveAsset:a})=>{const{t:s}=x("newsManager"),[d,m]=u.useState("1col"),[h,g]=u.useState([]),[p,y]=u.useState("");u.useEffect((()=>{e&&t&&(m(t.layout),g(t.adIds),y(""))}),[e,t]);const v=u.useMemo((()=>r.filter((e=>e.dimensions===Ye[d]))),[r,d]),j=qe[d],w=u.useMemo((()=>[{value:"",label:s("newsletterBuilder.ad_slot_empty")},...v.map((e=>({value:e.id,label:e.name||e.id})))]),[v,s]);return t?c.jsx(fe,{open:e,onClose:l,title:s("newsletterBuilder.ad_drawer_title"),leadingIcon:c.jsx(k,{size:16}),size:"md",footer:c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx(b,{variant:"ghost",onClick:l,children:s("newsletterBuilder.ad_cancel")}),c.jsx(b,{variant:"primary",onClick:()=>{t&&(n(o(i({},t),{layout:d,adIds:h.slice(0,j)})),l())},children:s("newsletterBuilder.ad_save")})]}),children:c.jsxs("div",{className:"space-y-5",children:[c.jsx(Ne,{name:"newsletter-ad-layout",label:s("newsletterBuilder.ad_layout_label"),value:d,onChange:e=>{m(e),g((t=>{const r=qe[e],l=t.slice(0,r);for(;l.length<r;)l.push("");return l}))},options:[{value:"1col",label:s("newsletterBuilder.ad_layout_1col"),description:s("newsletterBuilder.ad_layout_1col_desc")},{value:"2col",label:s("newsletterBuilder.ad_layout_2col"),description:s("newsletterBuilder.ad_layout_2col_desc")}]}),0===v.length&&c.jsx("p",{className:"rounded-md bg-amber-50 px-3 py-2 text-xs text-amber-700",children:s("newsletterBuilder.ad_none_available")}),c.jsx("div",{className:"space-y-4",children:Array.from({length:j}).map(((e,t)=>{const r=h[t]||"",l=v.find((e=>e.id===r));return c.jsxs("div",{children:[c.jsx(Ie,{label:s("newsletterBuilder.ad_slot_label",{n:t+1}),value:r,onChange:e=>{return r=t,l=e,void g((e=>{const t=[...e];return t[r]=l,t}));var r,l},options:w}),l?c.jsx("img",{src:l.imageUrl,alt:"",className:"mt-2 w-full rounded-md border border-[var(--color-border,#e5e7eb)] object-contain",style:{maxHeight:"1col"===d?80:140}}):c.jsx("div",{className:"mt-2 flex items-center justify-center rounded-md border-2 border-dashed border-gray-200 text-xs text-gray-400",style:{height:"1col"===d?56:100},children:s("newsletterBuilder.ad_placeholder_preview")})]},t)}))}),a&&c.jsxs("div",{className:"rounded-lg border border-gray-100 bg-gray-50 p-3",children:[c.jsx(f,{label:s("newsletterBuilder.asset_name_label"),value:p,onChange:e=>y(e.target.value),placeholder:s("newsletterBuilder.asset_name_placeholder")}),c.jsx("div",{className:"mt-2",children:c.jsx(b,{variant:"secondary",size:"sm",disabled:!p.trim(),onClick:()=>a(o(i({},t),{layout:d,adIds:h.slice(0,j)}),p.trim()),children:s("newsletterBuilder.asset_save")})})]})]})}):null},Ve=({open:e,assets:t,onClose:r,onInsert:l,onDelete:n})=>{const{t:a}=x("newsManager");return c.jsx(I,{open:e,onClose:r,title:a("newsletterBuilder.asset_library_title"),leadingIcon:c.jsx(Ce,{size:16}),size:"md",children:0===t.length?c.jsx("p",{className:"py-6 text-center text-sm text-gray-400",children:a("newsletterBuilder.asset_empty")}):c.jsx("ul",{className:"space-y-2",children:t.map((e=>c.jsxs("li",{className:"flex items-center gap-3 rounded-lg border border-gray-200 px-3 py-2",children:[c.jsx("span",{"aria-hidden":!0,className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-gray-100 text-gray-500",children:"cta"===e.type?c.jsx(B,{className:"h-4 w-4"}):c.jsx(k,{className:"h-4 w-4"})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block truncate text-sm font-medium text-gray-800",children:e.name}),c.jsx(N,{variant:"neutral",size:"sm",children:"cta"===e.type?a("newsletterBuilder.asset_type_cta"):a("newsletterBuilder.asset_type_ad")})]}),c.jsx(b,{variant:"secondary",size:"sm",onClick:()=>l(e),children:a("newsletterBuilder.asset_insert")}),c.jsx(C,{size:"sm",variant:"ghost","aria-label":a("newsletterBuilder.asset_delete"),onClick:()=>n(e.id),icon:c.jsx($,{className:"h-4 w-4 text-red-500"})})]},e.id)))})})},Xe=["cta","ad"];function Ke(e){return oe(_,"projects",e,"newsletterAssets")}function Qe(e,t){const r=t.type;return"string"==typeof r&&Xe.includes(r)?{id:e,type:r,name:"string"==typeof t.name?t.name:"",createdAt:"string"==typeof t.createdAt?t.createdAt:"",createdBy:"string"==typeof t.createdBy?t.createdBy:"",cta:"string"==typeof t.type&&"cta"===t.type&&t.cta&&"object"==typeof t.cta?t.cta:void 0,ad:"string"==typeof t.type&&"ad"===t.type&&t.ad&&"object"==typeof t.ad?t.ad:void 0}:null}function Ze(e){return d(this,null,(function*(){try{const t=ae(Ke(e),se("createdAt","desc")),r=yield ie(t),l=[];for(const e of r.docs){const t=Qe(e.id,e.data());null!==t&&l.push(t)}return l}catch(t){return[]}}))}function et(e,t){return d(this,null,(function*(){return(yield de(Ke(e),i(i({type:t.type,name:t.name,createdBy:t.createdBy,createdAt:(new Date).toISOString()},t.cta?{cta:t.cta}:{}),t.ad?{ad:t.ad}:{}))).id}))}const tt={accent:{bg:"#ef791b",headingColor:"#ffffff",textColor:"#ffffff",btnBg:"#ffffff",btnText:"#ef791b"},dark:{bg:"#1a1a1a",headingColor:"#ffffff",textColor:"#d1d5db",btnBg:"#ef791b",btnText:"#ffffff"},soft:{bg:"#f9fafb",headingColor:"#222222",textColor:"#555555",btnBg:"#ef791b",btnText:"#ffffff",border:"1px solid #e5e7eb"},gradient:{bg:"#ef791b",headingColor:"#ffffff",textColor:"#ffffff",btnBg:"#ffffff",btnText:"#ef791b",bgImage:"linear-gradient(135deg, #ef791b, #c2410c)"}};function rt(e){var t;const r=e.heading.trim(),l=e.text.trim(),n=e.buttonLabel.trim();if(!r&&!l&&!n)return"";const a=null!=(t=tt[e.preset])?t:tt.accent,s=ye(e.heading),i=e.text.split("\n").map((e=>ye(e))).join("<br />"),o=ye(e.buttonLabel),d=["padding: 32px","text-align: center","border-radius: 15px",`background-color: ${a.bg}`];a.bgImage&&d.push(`background-image: ${a.bgImage}`),a.border&&d.push(`border: ${a.border}`);const c=r?`<h2 style="font-family: Arial, Helvetica, sans-serif; font-size: 22px; font-weight: bold; color: ${a.headingColor}; margin: 0 0 12px 0;">${s}</h2>`:"",u=l?`<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.6; color: ${a.textColor}; margin: 0 0 20px 0;">${i}</p>`:"",m=n?`<a href="${ve(e.buttonUrl)}" style="font-family: Arial, Helvetica, sans-serif; display: inline-block; padding: 14px 32px; border-radius: 10px; background-color: ${a.btnBg}; color: ${a.btnText}; font-weight: bold; text-decoration: none;">${o}</a>`:"";return`\x3c!-- CTA --\x3e\n<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">\n  <tr>\n    <td style="${d.join("; ")};">\n      ${c}\n      ${u}\n      ${m}\n    </td>\n  </tr>\n</table>`}function lt(e,t,r,l){if(e&&e.imageUrl){const l=`<img src="${ye(e.imageUrl)}
1" alt="${ye(e.name)}" width="${t}" height="${r}" style="display:block; width:100%; height:auto; border:0;" />`,n=ve(e.linkUrl);return"#"!==n?`<a href="${ye(n)}" target="_blank" style="display:block;">${l}</a>`:l}return`<div style="border: 2px dashed #d1d5db; background-color: #f9fafb; color: #9ca3af; font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: center; padding: 24px 8px;">Advertentie<br />${l}</div>`}function nt(e,t){if("2col"===e.layout){return`\x3c!-- AD --\x3e\n<div style="font-size:0; text-align:center;">\n\x3c!--[if mso]><table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td width="50%" valign="top"><![endif]--\x3e\n<div style="display:inline-block; width:100%; max-width:290px; vertical-align:top;"><div style="padding:0 4px 8px 4px;">${lt(e.adIds[0]?t[e.adIds[0]]:void 0,290,290,"1:1")}</div></div>\n\x3c!--[if mso]></td><td width="50%" valign="top"><![endif]--\x3e\n<div style="display:inline-block; width:100%; max-width:290px; vertical-align:top;"><div style="padding:0 4px 8px 4px;">${lt(e.adIds[1]?t[e.adIds[1]]:void 0,290,290,"1:1")}</div></div>\n\x3c!--[if mso]></td></tr></table><![endif]--\x3e\n</div>`}return`\x3c!-- AD --\x3e<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td>${lt(e.adIds[0]?t[e.adIds[0]]:void 0,600,200,"600×200 (3:1)")}</td></tr></table>`}function at(e){return le(_,"projects",e,"settings","newsletter")}function st(e){return"string"==typeof e&&e.trim()?e.trim():void 0}function it(e){return d(this,null,(function*(){try{const t=yield ue(at(e));if(!t.exists())return{};const r=t.data(),l={},n=st(r.defaultHeaderImageUrl),a=st(r.defaultHeaderImageAlt),s=st(r.defaultHeaderLinkUrl),i=function(e){if(!e||"object"!=typeof e)return;const t=e,r={},l=st(t.facebook),n=st(t.instagram),a=st(t.linkedin),s=st(t.website);return l&&(r.facebook=l),n&&(r.instagram=n),a&&(r.linkedin=a),s&&(r.website=s),Object.keys(r).length>0?r:void 0}(r.social);return n&&(l.defaultHeaderImageUrl=n),a&&(l.defaultHeaderImageAlt=a),s&&(l.defaultHeaderLinkUrl=s),i&&(l.social=i),l}catch(t){return{}}}))}function ot(e){return d(this,null,(function*(){const t={};try{(yield ie(ae(oe(_,"users"),he("tenantId","==",e)))).docs.forEach((e=>{const r=e.data().displayName;"string"==typeof r&&r.trim()&&(t[e.id]=r.trim())}))}catch(r){}return t}))}function dt(e){return d(this,null,(function*(){const t={};try{const r=oe(_,"public_d","projects",e,"forms","Profile_01");(yield ie(r)).docs.forEach((e=>{const r=e.data(),l=r._userId,n=function(e){var t,r,l;if("string"==typeof e)return e.trim()||void 0;if(e&&"object"==typeof e){const n=e,a=null!=(l=null!=(r=null!=(t=n.nl)?t:n.en)?r:n.de)?l:Object.values(n)[0];if("string"==typeof a)return a.trim()||void 0}}(r.field_1750079703582);"string"==typeof l&&n&&(t[l]=n)}))}catch(r){}return t}))}function ct(e){if("string"==typeof e){const t=e.trim();if(/^#[0-9a-fA-F]{3,8}$/.test(t)||/^[a-zA-Z]+$/.test(t))return t}return"#9ca3af"}function ut(e){return d(this,null,(function*(){var t,r;const l={projectId:e,locale:"nl"};try{const n=yield ue(le(_,"projects",e));if(n.exists()){const e=n.data(),a=e.defaultLanguage;if("en"!==a&&"de"!==a&&"nl"!==a||(l.locale=a),"string"==typeof e.slug&&e.slug.trim()&&(l.projectSlug=e.slug.trim()),"string"==typeof e.customDomain&&e.customDomain.trim()&&(l.customDomain=e.customDomain.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"")),Array.isArray(e.exhibitorCategories)){const n={};for(const a of e.exhibitorCategories){if(!a||"object"!=typeof a)continue;const e=a;if("string"!=typeof e.id||!e.id)continue;let s="";if("string"==typeof e.name)s=e.name.trim();else if(e.name&&"object"==typeof e.name){const n=e.name,a=null!=(r=null!=(t=n[l.locale])?t:n.nl)?r:Object.values(n)[0];"string"==typeof a&&(s=a.trim())}s&&(n[e.id]={name:s,color:ct(e.color)})}Object.keys(n).length>0&&(l.categories=n)}}}catch(n){}return l}))}function mt(e){return d(this,null,(function*(){try{const t=oe(_,"public_d","projects",e,"forms","Newsitems_01");return(yield ie(ae(t,se("submittedAt","desc")))).docs.map((e=>{const t=e.data();return o(i({id:e.id},t),{slug:t.slug||(r=t.field_1746696518003,r?r.toLowerCase().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-"):"")});var r}))}catch(t){return[]}}))}function ht(e){return d(this,null,(function*(){try{const t=yield ue(le(_,"public_projects",e));if(!t.exists())return[];const r=t.data().ads;return(Array.isArray(r)?r:[]).filter((e=>e&&e.isActive&&("600x200"===e.dimensions||"600x600"===e.dimensions)))}catch(t){return[]}}))}const gt=(e,t,r)=>d(null,null,(function*(){const l=`${Date.now()}_${e.name}`,n=ge(S,`${t}/${l}`);let a={};if(r)a.customMetadata={tenantId:r};else if(U.currentUser){const e=yield U.currentUser.getIdTokenResult();e.claims.tenantId&&(a.customMetadata={tenantId:e.claims.tenantId})}yield pe(n,e,a);return yield xe(n)})),pt=({open:e,projectId:t,tenantId:r,initial:l,onClose:n,onSaved:a})=>{var s,m,h,g,p,y,v,j,_;const{t:B}=x("newsManager"),[k,N]=u.useState(l),[C,$]=u.useState(!1),[S,U]=u.useState(!1);u.useEffect((()=>{e&&N(l)}),[e,l]);const z=(e,t)=>N((r=>o(i({},r),{social:o(i({},r.social),{[e]:t})})));return c.jsx(I,{open:e,onClose:n,title:B("newsletterBuilder.settings_heading"),leadingIcon:c.jsx(Le,{size:16}),size:"lg",closeOnBackdropClick:!S,footer:c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx(b,{variant:"ghost",onClick:n,disabled:S,children:B("newsletterBuilder.settings_close")}),c.jsx(b,{variant:"primary",loading:S,onClick:()=>d(null,null,(function*(){U(!0);try{yield function(e,t){return d(this,null,(function*(){yield me(at(e),t,{merge:!0})}
1))}(t,k),w.success(B("newsletterBuilder.toast.settings_saved")),a(k),n()}catch(e){w.error(B("newsletterBuilder.toast.settings_save_error"))}finally{U(!1)}})),children:B("newsletterBuilder.settings_save")})]}),children:c.jsxs("div",{className:"space-y-6",children:[c.jsxs("section",{children:[c.jsx("h3",{className:"text-sm font-semibold text-[var(--color-text,#111827)]",children:B("newsletterBuilder.settings_general_header")}),c.jsx("p",{className:"mb-3 mt-0.5 text-xs text-[var(--color-text-muted,#6b7280)]",children:B("newsletterBuilder.settings_upload_hint")}),k.defaultHeaderImageUrl&&c.jsxs("div",{className:"mb-3",children:[c.jsx("p",{className:"mb-1 text-xs text-[var(--color-text-muted,#6b7280)]",children:B("newsletterBuilder.header_current_label")}),c.jsx("img",{src:k.defaultHeaderImageUrl,alt:"",className:"max-h-32 w-full rounded-[var(--radius-md,8px)] border border-[var(--color-border,#e5e7eb)] object-contain"})]}),c.jsx($e,{onChange:e=>{var l;e.converted&&(l=e.converted,d(null,null,(function*(){$(!0);try{const e=yield gt(l,`projects/${t}/newsletter`,r);N((t=>o(i({},t),{defaultHeaderImageUrl:e}))),w.success(B("newsletterBuilder.toast.header_uploaded"))}catch(e){w.error(B("newsletterBuilder.toast.header_upload_error"))}finally{$(!1)}})))},ratio:null,validation:{minWidth:320,maxSizeMB:5}}),C&&c.jsxs("p",{className:"mt-2 flex items-center gap-2 text-xs text-[var(--color-text-muted,#6b7280)]",children:[c.jsx(A,{size:"sm"})," ",B("newsletterBuilder.toast.uploading_header")]})]}),c.jsx("section",{children:c.jsx(f,{label:B("newsletterBuilder.settings_general_link_label"),value:null!=(s=k.defaultHeaderLinkUrl)?s:"",onChange:e=>N((t=>o(i({},t),{defaultHeaderLinkUrl:e.target.value}))),leadingIcon:c.jsx(L,{size:16}),placeholder:"https://…"})}),c.jsxs("section",{children:[c.jsx("h3",{className:"text-sm font-semibold text-[var(--color-text,#111827)]",children:B("newsletterBuilder.settings_social_heading")}),c.jsx("p",{className:"mb-3 mt-0.5 text-xs text-[var(--color-text-muted,#6b7280)]",children:B("newsletterBuilder.settings_social_hint")}),c.jsxs("div",{className:"space-y-3",children:[c.jsx(f,{label:B("newsletterBuilder.settings_social_facebook"),value:null!=(h=null==(m=k.social)?void 0:m.facebook)?h:"",onChange:e=>z("facebook",e.target.value),leadingIcon:c.jsx(Se,{size:16}),placeholder:"https://facebook.com/…"}),c.jsx(f,{label:B("newsletterBuilder.settings_social_instagram"),value:null!=(p=null==(g=k.social)?void 0:g.instagram)?p:"",onChange:e=>z("instagram",e.target.value),leadingIcon:c.jsx(Ue,{size:16}),placeholder:"https://instagram.com/…"}),c.jsx(f,{label:B("newsletterBuilder.settings_social_linkedin"),value:null!=(v=null==(y=k.social)?void 0:y.linkedin)?v:"",onChange:e=>z("linkedin",e.target.value),leadingIcon:c.jsx(Ae,{size:16}),placeholder:"https://linkedin.com/…"}),c.jsx(f,{label:B("newsletterBuilder.settings_social_website"),value:null!=(_=null==(j=k.social)?void 0:j.website)?_:"",onChange:e=>z("website",e.target.value),leadingIcon:c.jsx(L,{size:16}),placeholder:"https://…"})]})]})]})})},xt=({projectId:e,tenantId:t,settings:r,value:l,onChange:n,onOpenSettings:a})=>{var s,m;const{t:h}=x("newsManager"),g=Boolean((l.headerImageUrl||"").trim()),[p,y]=u.useState(g?"custom":"general"),[v,j]=u.useState(!1),_=r.defaultHeaderImageUrl;return c.jsxs("div",{children:[c.jsx("div",{className:"mb-3 flex justify-end",children:c.jsx(N,{variant:g?"accent":"neutral",size:"sm",children:h(g?"newsletterBuilder.header_active_override":"newsletterBuilder.header_active_general")})}),c.jsx(Ne,{name:"newsletter-header-source",label:h("newsletterBuilder.header_source_label"),value:p,onChange:e=>{y(e),"general"===e&&n({headerImageUrl:"",headerImageAlt:"",headerLinkUrl:l.headerLinkUrl})},options:[{value:"general",label:h("newsletterBuilder.header_source_general"),description:h("newsletterBuilder.header_source_general_desc")},{value:"custom",label:h("newsletterBuilder.header_source_custom"),description:h("newsletterBuilder.header_source_custom_desc")}]}),c.jsx("div",{className:"mt-4",children:"general"===p?_?c.jsxs("div",{children:[c.jsx("p",{className:"mb-1 text-xs text-[var(--color-text-muted,#6b7280)]",children:h("newsletterBuilder.header_current_label")}),c.jsx("img",{src:_,alt:"",className:"max-h-24 w-full rounded-[var(--radius-md,8px)] border border-[var(--color-border,#e5e7eb)] object-contain"}),c.jsx("div",{className:"mt-2",children:c.jsx(b,{variant:"link",size:"sm",onClick:a,children:h("newsletterBuilder.header_manage_general")})})]}):c.jsx(ze,{icon:c.jsx(k,{}),title:h("newsletterBuilder.header_no_general"),size:"sm",primaryAction:c.jsx(b,{variant:"secondary",size:"sm",onClick:a,children:h("newsletterBuilder.header_set_general")})}):c.jsxs("div",{className:"space-y-3",children:[g&&c.jsxs("div",{children:[c.jsx("p",{className:"mb-1 text-xs text-[var(--color-text-muted,#6b7280)]",children:h("newsletterBuilder.header_current_label")}),c.jsx("img",{src:l.headerImageUrl,alt:"",className:"max-h-24 w-full rounded-[var(--radius-md,8px)] border border-[var(--color-border,#e5e7eb)] object-contain"})]}),c.jsx($e,{onChange:r=>{var a;r.converted&&(a=r.converted,d(null,null,(function*(){j(!0);try{const r=yield gt(a,`projects/${e}/newsletter`,t);n(o(i({},l),{headerImageUrl:r})),w.success(h("newsletterBuilder.toast.header_uploaded"))}catch(r){w.error(h("newsletterBuilder.toast.header_upload_error"))}finally{j(!1)}})))},ratio:null,validation:{minWidth:320,maxSizeMB:5}}),v&&c.jsxs("p",{className:"flex items-center gap-2 text-xs text-[var(--color-text-muted,#6b7280)]",children:[c.jsx(A,{size:"sm"})," ",h("newsletterBuilder.toast.uploading_header")]}),g&&c.jsx(f,{label:h("newsletterBuilder.header_alt_label"),value:null!=(s=l.headerImageAlt)?s:"",onCh
1ange:e=>n(o(i({},l),{headerImageAlt:e.target.value}))})]})}),c.jsx("div",{className:"mt-4",children:c.jsx(f,{label:h("newsletterBuilder.header_link_label"),value:null!=(m=l.headerLinkUrl)?m:"",onChange:e=>n(o(i({},l),{headerLinkUrl:e.target.value})),description:h("newsletterBuilder.header_link_hint")})})]})},ft={nl:"Nederlands",en:"Engels",de:"Duits"},bt=({projectId:e,locale:t,value:r,onChange:l})=>{var n,a;const{t:s}=x("newsManager"),{improveNewsletterIntro:d,improvingIntro:u}=be(),m=Boolean((r.introText||"").trim());return c.jsxs("div",{children:[c.jsx("div",{className:"mb-3 flex justify-end",children:c.jsx(b,{variant:"secondary",size:"sm",icon:c.jsx(y,{className:"h-4 w-4"}),loading:u,disabled:!m,onClick:()=>{d(r.introText||"",r.introHeading,e,ft[t],(e=>{l({introText:e.text,introHeading:(r.introHeading||"").trim()?r.introHeading:e.heading}),w.success(s("newsletterBuilder.toast.intro_improved"))}),(e=>w.error(e)))},children:s("newsletterBuilder.intro_improve_ai")})}),c.jsxs("div",{className:"space-y-3",children:[c.jsx(f,{label:s("newsletterBuilder.intro_heading_label"),value:null!=(n=r.introHeading)?n:"",onChange:e=>l(o(i({},r),{introHeading:e.target.value})),placeholder:s("newsletterBuilder.intro_heading_placeholder")}),c.jsx(v,{label:s("newsletterBuilder.intro_text_label"),value:null!=(a=r.introText)?a:"",onChange:e=>l(o(i({},r),{introText:e.target.value})),placeholder:s("newsletterBuilder.intro_text_placeholder"),rows:4})]}),c.jsx("p",{className:"mt-2 text-xs text-[var(--color-text-muted,#6b7280)]",children:s("newsletterBuilder.intro_hint")})]})};function yt(e){return oe(_,"projects",e,"newsletters")}function vt(e){if(!Array.isArray(e))return;const t=["accent","dark","soft","gradient"],r=[];for(const l of e){if(!l||"object"!=typeof l)continue;const e=l;if("article"===e.type&&"string"==typeof e.articleId)r.push({type:"article",articleId:e.articleId});else if("cta"===e.type&&e.cta&&"object"==typeof e.cta){const l=e.cta,n="string"==typeof l.preset&&t.includes(l.preset)?l.preset:"accent";r.push({type:"cta",cta:{id:"string"==typeof l.id?l.id:"",preset:n,heading:"string"==typeof l.heading?l.heading:"",text:"string"==typeof l.text?l.text:"",buttonLabel:"string"==typeof l.buttonLabel?l.buttonLabel:"",buttonUrl:"string"==typeof l.buttonUrl?l.buttonUrl:""}})}else if("ad"===e.type&&e.ad&&"object"==typeof e.ad){const t=e.ad;r.push({type:"ad",ad:{id:"string"==typeof t.id?t.id:"",layout:"2col"===t.layout?"2col":"1col",adIds:Array.isArray(t.adIds)?t.adIds.filter((e=>"string"==typeof e)):[]}})}}return r}function jt(e){return d(this,null,(function*(){try{const t=ae(yt(e),se("createdAt","desc"));return(yield ie(t)).docs.map((e=>{return t=e.id,r=e.data(),{id:t,title:"string"==typeof r.title?r.title:"",itemIds:Array.isArray(r.itemIds)?r.itemIds.filter((e=>"string"==typeof e)):[],status:"final"===r.status?"final":"draft",createdAt:"string"==typeof r.createdAt?r.createdAt:"",updatedAt:"string"==typeof r.updatedAt?r.updatedAt:"",createdBy:"string"==typeof r.createdBy?r.createdBy:"",headerImageUrl:"string"==typeof r.headerImageUrl?r.headerImageUrl:void 0,headerImageAlt:"string"==typeof r.headerImageAlt?r.headerImageAlt:void 0,headerLinkUrl:"string"==typeof r.headerLinkUrl?r.headerLinkUrl:void 0,introHeading:"string"==typeof r.introHeading?r.introHeading:void 0,introText:"string"==typeof r.introText?r.introText:void 0,blocks:vt(r.blocks),theme:"string"==typeof r.theme&&we.includes(r.theme)?r.theme:"classic"};var t,r}))}catch(t){return[]}}))}function wt(e,t,r){return d(this,null,(function*(){var l,n,a,s,d,c,u,m;const h=(e.newsletterCopy||"").trim();if(!h)return{articleId:e.id,skipped:!0,html:"",buttonOmitted:!0};const g=(null==(n=null==(l=e.titleI18n)?void 0:l[t.locale])?void 0:n.trim())||(null==(s=null==(a=e.titleI18n)?void 0:a.nl)?void 0:s.trim())||e.field_1746696518003||"",p=(e.slug||"").trim(),x=p?function(e,t){const r=e.trim();return r?t.customDomain&&t.projectSlug?`https://${t.customDomain}/${t.locale}/${t.projectSlug}/news/${r}`:`/news/${r}`:""}(p,t):"",f=yield je(e._userId,t.projectId),b=(null==(c=null==(d=e.imageMetadata)?void 0:d.optimized)?void 0:c.url)||(null==(m=null==(u=e.imageMetadata)?void 0:u.original)?void 0:m.url)||e.field_1746696664831||void 0,y=((Array.isArray(e.field_1755584786864)?e.field_1755584786864:void 0)||(Array.isArray(e.field_categories)?e.field_categories:void 0)||[]).filter((e=>"string"==typeof e&&e.length>0)),v=t.categories||{},j=y.map((e=>v[e])).filter((e=>Boolean(e))),w=_e({title:g,copy:h,imageUrl:b,publicUrl:x,locale:t.locale,companyName:f.companyName,boothNumber:f.boothNumber,categories:j.length>0?j:void 0,theme:r});return o(i({},w),{articleId:e.id,skipped:!1})}))}const _t={nl:{unsubscribe:"Uitschrijven",updatePreferences:"Voorkeuren bijwerken",why:"Je ontvangt deze e-mail omdat je je hebt ingeschreven voor onze nieuwsbrief."},en:{unsubscribe:"Unsubscribe",updatePreferences:"Update preferences",why:"You are receiving this email because you subscribed to our newsletter."},de:{unsubscribe:"Abmelden",updatePreferences:"Einstellungen aktualisieren",why:"Sie erhalten die
1se E-Mail, weil Sie unseren Newsletter abonniert haben."}},Bt=[{key:"facebook",label:"Facebook"},{key:"instagram",label:"Instagram"},{key:"linkedin",label:"LinkedIn"},{key:"website",label:"Website"}];function kt(e){var t,r;const l=null!=(t=e.theme)?t:Be,n=null!=(r=_t[e.locale])?r:_t.nl,a=(e.senderName||"").trim(),s=a?ye(a):"*|LIST:COMPANY|*",i=function(e,t){if(!e)return"";const r=Bt.map((({key:r,label:l})=>{const n=(e[r]||"").trim();if(!n)return"";const a=ve(n);return"#"===a?"":`<a href="${ye(a)}" target="_blank" style="color: ${t.footerLinkColor}; text-decoration: underline; font-family: ${t.bodyFont}; font-size: 12px; margin: 0 8px;">${l}</a>`})).filter(Boolean);return 0===r.length?"":`\n\t\t\t<tr>\n\t\t\t\t<td align="center" style="padding-bottom: 12px;">${r.join('<span style="color:#cccccc;">|</span>')}</td>\n\t\t\t</tr>`}(e.social,l);return`\x3c!-- FOOTER --\x3e\n<table cellpadding="0" cellspacing="0" role="presentation" width="100%" style="border-spacing: 0; border-collapse: collapse; border-top: 1px solid ${l.footerBorderColor};">\n\t<tbody>${i}\n\t\t<tr>\n\t\t\t<td align="center" style="padding: 16px 24px; font-family: ${l.bodyFont}; font-size: 12px; line-height: 1.6; color: ${l.footerTextColor};">\n\t\t\t\t<p style="margin: 0 0 8px 0;">${n.why}</p>\n\t\t\t\t<p style="margin: 0 0 8px 0;">*|HTML:LIST_ADDRESS_HTML|*</p>\n\t\t\t\t<p style="margin: 0 0 8px 0;">\n\t\t\t\t\t<a href="*|UNSUB|*" style="color: ${l.footerLinkColor}; text-decoration: underline;">${n.unsubscribe}</a>\n\t\t\t\t\t<span style="color:#cccccc;">|</span>\n\t\t\t\t\t<a href="*|UPDATE_PROFILE|*" style="color: ${l.footerLinkColor}; text-decoration: underline;">${n.updatePreferences}</a>\n\t\t\t\t</p>\n\t\t\t\t<p style="margin: 0;">&copy; *|CURRENT_YEAR|* ${s}</p>\n\t\t\t</td>\n\t\t</tr>\n\t</tbody>\n</table>`}function It(e){var t;const r=null!=(t=e.theme)?t:Be,l=(e.heading||"").trim(),n=(e.text||"").trim();if(!l&&!n)return"";const a=r.cardBorder?` border: ${r.cardBorder};`:"",s=l?`<h2 style="margin: 0 0 16px 0; font-size: 22px; font-weight: ${r.headingWeight}; color: ${r.headingColor}; font-family: ${r.headingFont}; line-height: 1.3;">${ye(l)}</h2>\n\t\t\t`:"",i=n?function(e,t){return e.replace(/\r\n/g,"\n").split(/\n{2,}/).map((e=>e.trim())).filter((e=>e.length>0)).map((e=>{const r=e.split("\n").map((e=>ye(e.trim()))).join("<br />");return`<p style="margin: 0 0 14px 0; line-height: 1.6; font-size: 15px; color: ${t.bodyTextColor}; font-family: ${t.bodyFont};">${r}</p>`})).join("\n\t\t\t")}(n,r):"";return`\x3c!-- INTRO --\x3e\n<table cellpadding="0" cellspacing="0" role="presentation" width="100%" style="border-spacing: 0; border-collapse: collapse; background-color: ${r.cardBg}; border-radius: ${r.cardRadius};${a}">\n\t<tbody>\n\t\t<tr>\n\t\t\t<td style="padding: 30px;">\n\t\t\t${s}${i}\n\t\t\t</td>\n\t\t</tr>\n\t</tbody>\n</table>`}const Nt={nl:"Bekijk in je browser",en:"View in your browser",de:"Im Browser ansehen"};function Ct(e){return e.split("\n").map((e=>`\t\t\t\t\t\t${e}`)).join("\n")}function $t(e){var t;const r=e.blocks.map((e=>(e||"").trim())).filter((e=>e.length>0));if(0===r.length)return"";const l=null!=(t=e.locale)?t:"nl",n=ke(e.theme),a=e.intro?It(o(i({},e.intro),{theme:n})):"",s=a?[a,...r]:r,d=s.map(((e,t)=>{const r=`\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n${Ct(e)}\n\t\t\t\t\t</td>\n\t\t\t\t</tr>`;return t<s.length-1?r+'\n\t\t\t\t<tr>\n\t\t\t\t\t<td style="height: 20px; line-height: 20px; font-size: 0;">&nbsp;</td>\n\t\t\t\t</tr>':r})).join(""),c=e.header?function(e){var t;const r=null!=(t=e.theme)?t:Be,l=(e.imageUrl||"").trim();if(!l)return"";const n=`<img src="${ye(l)}" alt="${ye(e.alt||"")}" width="${r.contentWidth}" style="display: block; width: 100%; max-width: 100%; height: auto; border: 0; border-radius: 12px;" />`,a=(e.linkUrl||"").trim(),s=a?ve(a):"";return`\x3c!-- HEADER --\x3e\n<table cellpadding="0" cellspacing="0" role="presentation" width="100%" style="border-spacing: 0; border-collapse: collapse;">\n\t<tbody>\n\t\t<tr>\n\t\t\t<td align="center">${s&&"#"!==s?`<a href="${ye(s)}" target="_blank" style="text-decoration: none;">${n}</a>`:n}</td>\n\t\t</tr>\n\t</tbody>\n</table>`}(o(i({},e.header),{theme:n})):"",u=c?`\n\t\t\t\t<tr>\n\t\t\t\t\t<td style="padding-bottom: 20px;">\n${Ct(c)}\n\t\t\t\t\t</td>\n\t\t\t\t</tr>`:"",m=`\n\t\t\t\t<tr>\n\t\t\t\t\t<td style="padding-top: 20px;">\n${Ct(kt({locale:l,social:e.social,senderName:e.senderName,theme:n}))}\n\t\t\t\t\t</td>\n\t\t\t\t</tr>`,h=e.preheaderText?`<div style="display:none; max-height:0; overflow:hidden; mso-hide:all; font-size:1px; line-height:1px; color:${n.preheaderColor};">${ye(e.preheaderText)}</div>`:"",g=`\n\t\t\t\t<tr>\n\t\t\t\t\t<td align="center" style="padding-bottom: 12px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: #999999;">\n\t\t\t\t\t\t<a href="*|ARCHIVE|*" style="color: #999999; text-decoration: underline;">${Nt[l]}</a>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>`;return`<!DOCTYPE html>\n<html lang="${l}" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="ur
1n:schemas-microsoft-com:office:office">\n<head>\n\t<meta charset="utf-8" />\n\t<meta name="viewport" content="width=device-width, initial-scale=1" />\n\t<meta http-equiv="X-UA-Compatible" content="IE=edge" />\n\t<meta name="format-detection" content="telephone=no" />\n\t<title></title>\n\t\x3c!--[if mso]><style>table,td{border-collapse:collapse;mso-table-lspace:0;mso-table-rspace:0;}</style><![endif]--\x3e\n\t<style>${n.fontImportUrl?`\n\t\t@import url('${n.fontImportUrl}');`:""}\n\t\tbody{margin:0;padding:0;width:100%!important;background-color:${n.bodyBg};}\n\t\timg{border:0;outline:none;text-decoration:none;-ms-interpolation-mode:bicubic;}\n\t\t@media only screen and (max-width:620px){\n\t\t\t.nl-body{width:100%!important;}\n\t\t}\n\t</style>\n</head>\n<body style="margin:0; padding:0; background-color:${n.bodyBg};">\n${h}\n\x3c!-- NIEUWSBRIEF --\x3e\n<table cellpadding="0" cellspacing="0" role="presentation" width="100%" style="border-spacing: 0; border-collapse: collapse; background-color: ${n.bodyBg};">\n\t<tbody>\n\t\t<tr>\n\t\t\t<td align="center" style="padding: 24px 12px;">\n\t\t\t\t<table class="nl-body" cellpadding="0" cellspacing="0" role="presentation" width="${n.contentWidth}" style="border-spacing: 0; border-collapse: collapse; max-width: ${n.contentWidth}px; width: 100%;">\n\t\t\t\t\t<tbody>${g}${u}${d}${m}\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</td>\n\t\t</tr>\n\t</tbody>\n</table>\n</body>\n</html>`}const St=({html:e,height:t=600,className:r})=>c.jsx("iframe",{title:"Nieuwsbrief preview",srcDoc:e,sandbox:"",className:`w-full rounded-lg border border-gray-200 bg-white ${null!=r?r:""}`,style:r?void 0:{height:t}}),Ut=({thumbUrl:e,title:t,company:r,dateLabel:l,hasCopy:n,usedCount:a})=>{const{t:s}=x("newsManager");return c.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[e?c.jsx("img",{src:e,alt:"",className:"h-11 w-11 shrink-0 rounded-md object-cover"}):c.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-md bg-gray-100 text-gray-300",children:c.jsx(J,{className:"h-5 w-5"})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block truncate text-sm font-medium text-gray-800",children:t}),c.jsxs("span",{className:"mt-0.5 flex items-center gap-2 text-xs text-gray-500",children:[c.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1",children:[c.jsx(V,{className:"h-3 w-3 shrink-0"}),c.jsx("span",{className:"truncate",children:r})]}),l&&c.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1",children:[c.jsx(X,{className:"h-3 w-3"}),l]})]}),(!n||a>0)&&c.jsxs("div",{className:"mt-1 flex flex-wrap gap-1",children:[!n&&c.jsx(N,{variant:"warning",size:"sm",children:s("newsletterBuilder.no_copy_badge")}),a>0&&c.jsx(N,{variant:"neutral",size:"sm",children:s("newsletterBuilder.used_badge")})]})]})]})},At=({id:e,index:t,count:r,dragHandleLabel:l,moveUpLabel:n,moveDownLabel:a,removeLabel:s,editLabel:d,onMove:u,onRemove:m,onOpen:h,children:g})=>{const{attributes:p,listeners:x,setNodeRef:f,transform:b,transition:y,isDragging:v}=te({id:e}),j={transform:Y.Transform.toString(b),transition:y,opacity:v?.5:1};return c.jsxs("li",{ref:f,style:j,className:"flex items-center gap-2 rounded-lg border border-gray-200 bg-white px-2 py-1.5",children:[c.jsx("button",o(i(i({type:"button",className:"cursor-grab touch-none text-gray-300 hover:text-gray-500 active:cursor-grabbing","aria-label":l},p),x),{children:c.jsx(Te,{className:"h-4 w-4"})})),c.jsx("span",{className:"w-5 shrink-0 text-center text-xs text-gray-400",children:t+1}),c.jsx("button",{type:"button",onClick:()=>h(e),"aria-label":d,title:d,className:"flex min-w-0 flex-1 rounded-md text-left hover:bg-gray-50",children:g}),c.jsx(C,{size:"sm",variant:"ghost","aria-label":n,disabled:0===t,onClick:()=>u(e,-1),icon:c.jsx(De,{className:"h-4 w-4"})}),c.jsx(C,{size:"sm",variant:"ghost","aria-label":a,disabled:t===r-1,onClick:()=>u(e,1),icon:c.jsx(Me,{className:"h-4 w-4"})}),c.jsx(C,{size:"sm",variant:"ghost","aria-label":s,onClick:()=>m(e),icon:c.jsx(q,{className:"h-4 w-4 text-gray-400"})})]})},Lt={accent:"#ef791b",dark:"#1a1a1a",soft:"#f9fafb",gradient:"linear-gradient(135deg, #ef791b, #c2410c)"},zt=({cta:e})=>{const{t:t}=x("newsManager");return c.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[c.jsx("span",{"aria-hidden":!0,
1className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-md",style:{background:Lt[e.preset]},children:c.jsx(B,{className:"h-5 w-5",style:{color:"soft"===e.preset?"#374151":"#ffffff"}})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block truncate text-sm font-medium text-gray-800",children:e.heading.trim()||t("newsletterBuilder.cta_untitled")}),c.jsxs("span",{className:"mt-0.5 block truncate text-xs text-gray-500",children:[t("newsletterBuilder.cta_block_label")," · ",t(`newsletterBuilder.cta_preset_${e.preset}`)]})]})]})},Ht=({ad:e,adsById:t})=>{const{t:r}=x("newsManager"),l="2col"===e.layout?2:1,n=e.adIds.filter((e=>e&&t[e])).length;return c.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[c.jsx("span",{"aria-hidden":!0,className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-md bg-gray-100 text-gray-400",children:c.jsx(k,{className:"h-5 w-5"})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block truncate text-sm font-medium text-gray-800",children:r("newsletterBuilder.ad_block_label")}),c.jsxs("span",{className:"mt-0.5 block truncate text-xs text-gray-500",children:["2col"===e.layout?r("newsletterBuilder.ad_layout_2col"):r("newsletterBuilder.ad_layout_1col")," ","· ",r("newsletterBuilder.ad_filled",{filled:n,slots:l})]})]})]})},Tt=()=>{var e,t,r;const{tenantId:l,projectId:n}=m(),a=h(),s=g(),{t:p}=x("newsManager"),{currentUser:f}=z(),y=H(),[v,j]=u.useState(!0),[I,S]=u.useState([]),[U,L]=u.useState(null),[Y,q]=u.useState([]),[J,V]=u.useState({}),[X,te]=u.useState({}),[ae,se]=u.useState([]),[ie,oe]=u.useState([]),[ue,me]=u.useState(!1),[he,ge]=u.useState(null),[pe,xe]=u.useState(""),[fe,be]=u.useState([]),[ye,ve]=u.useState({settings:{},websiteRootUrl:""}),[je,_e]=u.useState({}),[Be,Ie]=u.useState({}),[Ne,$e]=u.useState("classic"),[Se,Ue]=u.useState(!1),[Ae,ze]=u.useState(!1),[Te,De]=u.useState(null),[Me,Oe]=u.useState(null),[Re,Fe]=u.useState(null),We=u.useMemo((()=>{const e={};return ae.forEach((t=>{e[t.id]={id:t.id,imageUrl:t.imageUrl,linkUrl:t.linkUrl,name:t.name}})),e}),[ae]),Ye=e=>"article"===e.type?e.articleId:"cta"===e.type?e.cta.id:e.ad.id,[qe,Xe]=u.useState(""),[Ke,Qe]=u.useState(!1),[tt,lt]=u.useState(!1),at=u.useMemo((()=>{const e=new Map;return I.forEach((t=>e.set(t.id,t))),e}),[I]),st=u.useCallback((e=>{var t,r,l,n,a;return(null==(l=null==(r=e.titleI18n)?void 0:r[null!=(t=null==U?void 0:U.locale)?t:"nl"])?void 0:l.trim())||(null==(a=null==(n=e.titleI18n)?void 0:n.nl)?void 0:a.trim())||e.field_1746696518003||p("newsletterBuilder.untitled_article")}),[U,p]),ct=u.useCallback((e=>J[e]||X[e]||p("newsletterBuilder.unknown_company")),[J,X,p]),gt=u.useCallback((e=>{var t,r,l,n;return(null==(r=null==(t=e.imageMetadata)?void 0:t.optimized)?void 0:r.url)||(null==(n=null==(l=e.imageMetadata)?void 0:l.original)?void 0:n.url)||e.field_1746696664831||void 0}),[]),ft=u.useCallback((e=>{var t;if(!e)return;const r=new Date(e);return Number.isNaN(r.getTime())?void 0:r.toLocaleDateString(null!=(t=null==U?void 0:U.locale)?t:"nl",{day:"numeric",month:"short",year:"numeric"})}),[U]),vt=u.useMemo((()=>{const e=new Map;return Y.forEach((t=>{t.id!==he&&t.itemIds.forEach((t=>{var r;return e.set(t,(null!=(r=e.get(t))?r:0)+1)}))})),e}),[Y,he]),_t=u.useCallback((e=>{var t;return{thumbUrl:gt(e),title:st(e),company:ct(e._userId),dateLabel:ft(e.submittedAt),hasCopy:Boolean((e.newsletterCopy||"").trim()),usedCount:null!=(t=vt.get(e.id))?t:0}}),[gt,st,ct,ft,vt]);u.useEffect((()=>{if(!n)return;let e=!1;return j(!0),Promise.all([ut(n),mt(n),jt(n),dt(n),l?ot(l):Promise.resolve({}),ht(n),Ze(n)]).then((([t,r,l,a,s,i,o])=>{e||(L(t),S(r),q(l),V(a),te(s),se(i),oe(o),function(e,t){return d(this,null,(function*(){const r=yield it(e);let l="";return t.customDomain&&t.projectSlug&&(l=`https://${t.customDomain}/${t.locale}/${t.projectSlug}`),{settings:r,websiteRootUrl:l}}))}(n,{locale:t.locale,customDomain:t.customDomain,projectSlug:t.projectSlug}).then((t=>{e||ve(t)})).catch((e=>{})))})).catch((t=>{e||w.error(p("newsletterBuilder.toast.load_error"))})).finally((()=>{e||j(!1)})),()=>{e=!0}}),[n,l]),u.useEffect((()=>{var e;if(v)return;const t=new URLSearchParams(s.search).get("items"),r=null==(e=s.state)?void 0:e.itemIds,l=null!=r?r:t?t.split(",").filter(
1Boolean):[];if(l.length>0){const e=l.filter((e=>at.has(e)));e.length>0&&(ge(null),be(e.map((e=>({type:"article",articleId:e})))),xe(""))}}),[v]),u.useEffect((()=>{if(!U||0===fe.length)return void Xe("");let e=!1;Qe(!0);const t=ke(Ne);return d(null,null,(function*(){const r=[];for(const e of fe)if("article"===e.type){const l=at.get(e.articleId);if(!l)continue;const n=yield wt(l,U,t);n.skipped||r.push(n.html)}else if("cta"===e.type){const t=rt(e.cta);t.trim()&&r.push(t)}else if("ad"===e.type){const t=nt(e.ad,We);t.trim()&&r.push(t)}if(e)return;const l=(je.headerImageUrl||"").trim()||ye.settings.defaultHeaderImageUrl||"",n=(je.headerLinkUrl||"").trim()||ye.settings.defaultHeaderLinkUrl||ye.websiteRootUrl||"",a=(je.headerImageAlt||"").trim()||ye.settings.defaultHeaderImageAlt||"";Xe($t({blocks:r,locale:U.locale,header:l?{imageUrl:l,alt:a,linkUrl:n}:void 0,social:ye.settings.social,preheaderText:pe.trim()||void 0,theme:Ne,intro:(Be.introHeading||"").trim()||(Be.introText||"").trim()?{heading:Be.introHeading,text:Be.introText}:void 0})),Qe(!1)})).catch((t=>{e||Qe(!1)})),()=>{e=!0}}),[fe,U,at,je,ye,pe,Be,We,Ne]);const Bt=e=>{be((t=>t.filter((t=>Ye(t)!==e))))},kt=e=>{var t;const r=fe.find((t=>Ye(t)===e));r&&("article"===r.type?De(null!=(t=at.get(r.articleId))?t:null):"cta"===r.type?Oe(r.cta):Fe(r.ad))},It=(e,t)=>
1{be((r=>{const l=r.findIndex((t=>Ye(t)===e)),n=l+t;if(l<0||n<0||n>=r.length)return r;const a=[...r];return[a[l],a[n]]=[a[n],a[l]],a}))},Nt=T(D(G,{activationConstraint:{distance:5}}),D(W,{coordinateGetter:ee})),Ct=()=>{ge(null),xe(""),be([]),_e({}),Ie({}),$e("classic")},Lt=e=>d(null,null,(function*(){if(!n)return;if(yield y({variant:"danger",title:p("newsletterBuilder.delete_confirm.title"),description:p("newsletterBuilder.delete_confirm.description",{title:e.title}),confirmLabel:p("newsletterBuilder.delete_confirm.confirm_label")}))try{yield function(e,t){return d(this,null,(function*(){yield ce(le(_,"projects",e,"newsletters",t))}))}(n,e.id),q((t=>t.filter((t=>t.id!==e.id)))),he===e.id&&Ct(),w.success(p("newsletterBuilder.toast.deleted"))}catch(t){w.error(p("newsletterBuilder.toast.delete_error"))}})),Tt=new Set(fe.filter((e=>"article"===e.type)).map((e=>e.articleId))),Dt=fe.filter((e=>"article"===e.type)).map((e=>at.get(e.articleId))).filter((e=>Boolean(e))).filter((e=>!(e.newsletterCopy||"").trim())),Mt=I.filter((e=>{var t;return!(Tt.has(e.id)||Ae&&0!==(null!=(t=vt.get(e.id))?t:0))}));return c.jsxs(re,{projectId:n,title:p("newsletterBuilder.title"),defaultContentWidth:"full",allowedRoles:["admin","project_manager"],actions:c.jsxs(c.Fragment,{children:[c.jsxs(b,{variant:"ghost",size:"sm",onClick:()=>Ue(!0),children:[c.jsx(Le,{className:"h-4 w-4"})," ",p("newsletterBuilder.settings_button")]}),c.jsx(b,{variant:"secondary",size:"sm",onClick:()=>a(`/tenants/${l}/projects/${n}/news-manager`),children:p("newsletterBuilder.back_to_news")})]}),children:[v?c.jsx("div",{className:"flex items-center justify-center py-20",children:c.jsx(A,{})}):c.jsxs("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-12",children:[c.jsxs("section",{className:"lg:col-span-7",children:[c.jsx(M,{label:p("newsletterBuilder.title_label"),value:pe,onChange:e=>xe(e.target.value),placeholder:p("newsletterBuilder.title_placeholder")}),c.jsxs("div",{className:"mt-4",children:[c.jsx("p",{className:"mb-2 text-xs font-medium text-gray-500",children:p("newsletterBuilder.theme_label")}),c.jsx("div",{className:"flex flex-wrap gap-2",children:we.map((e=>{const t=ke(e),r=Ne===e;return c.jsxs("button",{type:"button",onClick:()=>$e(e),className:"flex items-center gap-2 rounded-lg border px-3 py-2 text-sm "+(r?"border-orange-400 ring-1 ring-orange-300":"border-gray-200 hover:bg-gray-50"),children:[c.jsxs("span",{"aria-hidden":!0,className:"flex h-5 w-8 shrink-0 overflow-hidden rounded border border-gray-200",style:{backgroundColor:t.bodyBg},children:[c.jsx("span",{style:{width:"50%",backgroundColor:t.cardBg}}),c.jsx("span",{style:{width:"50%",backgroundColor:t.linkButtonBg}})]}),p(`newsletterBuilder.theme_${e}`)]},e)}))})]}),c.jsxs("div",{className:"mt-4 space-y-3",children:[c.jsx(Ee,{title:p("newsletterBuilder.header_section_heading"),children:c.jsx(xt,{projectId:n,tenantId:l,settings:ye.settings,value:je,onChange:_e,onOpenSettings:()=>Ue(!0)})}),c.jsx(Ee,{title:p("newsletterBuilder.intro_section_heading"),children:c.jsx(bt,{projectId:n,locale:null!=(e=null==U?void 0:U.locale)?e:"nl",value:Be,onChange:Ie})}),c.jsxs(Ee,{title:p("newsletterBuilder.accordion_articles"),defaultOpen:!0,right:c.jsx(N,{variant:"neutral",size:"sm",children:fe.length}),children:[c.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[c.jsxs("h4",{className:"text-xs font-semibold uppercase tracking-wide text-gray-500",children:[p("newsletterBuilder.selected_heading")," (",fe.length,")"]}),c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsxs(b,{variant:"secondary",size:"sm",onClick:()=>{const e={id:`cta-${Date.now()}-${Math.floor(1e6*Math.random())}`,preset:"accent",heading:"",text:"",buttonLabel:"",buttonUrl:""};be((t=>[...t,{type:"cta",cta:e}])),Oe(e)},children:[c.jsx(B,{className:"h-4 w-4"})," ",p("newsletterBuilder.cta_add")]}),c.jsxs(b,{variant:"secondary",size:"sm",onClick:()=>{const e={id:`ad-${Date.now()}-${Math.floor(1e6*Math.random())}`,layout:"1col",adIds:[]};be((t=>[...t,{type:"ad",ad:e}])),Fe(e)},children:[c.jsx(k,{className:"h-4 w-4"})," ",p("newsletterBuilder.ad_add")]}),c.jsxs(b,{variant:"ghost",size:"sm",onClick:()=>me(!0),children:[c.jsx(Ce,{className:"h-4 w-4"})," ",p("newsletterBuilder.asset_library")]})]})]}),fe.length>0?c.jsxs(c.Fragment,{children:[c.jsx(E,{sensors:Nt,collisionDetection:O,onDragEnd:e=>{const{active:t,over:r}=e;r&&t.id!==r.id&&be((e=>{const l=e.findIndex((e=>Ye(e)===String(t.id))),n=e.findIndex((e=>Ye(e)===String(r.id)));return l<0||n<0?e:Z(e,l,n)}))},children:c.jsx(K,{items:fe.map(Ye),strategy:Q,children:c.jsx("ol",{className:"space-y-1",children:fe.map(((e,t)=>{const r=Ye(e),l="article"===e.type?at.get(e.articleId):void 0;return c.jsx(At,{id:r,index:t,count:fe.length,dragHandleLabel:p("newsletterBuilder.drag_handle"),moveUpLabel:p("newsletterBuilder.move_up"),moveDownLabel:p("newsletterBuilder.move_down"),removeLabel:p("newsletterBuilder.remove"),editLabel:"cta"===e.type?p("newsletterBuilder.cta_drawer_title"):"ad"===e.type?p("newsletterBuilder.ad_drawer_title"):p("newsletterBuilder.drawer_title"),onMove:It,onRemove:Bt,onOpen:kt,children:"cta"===e.type?c.jsx(zt,{cta:e.cta}):"ad"===e.type?c.jsx(Ht,{ad:e.ad,adsById:We}):l?c.jsx(Ut,i({},_t(l))):c.jsx("span",{className:"flex-1 truncate text-sm text-gray-400",children:"—"})},r)}))})})}),c.jsx("p",{className:"mt-2 text-xs text-gray-400",children:p("newsletterBuilder.edit_article_hint")})]}):c.jsx("p",{className:"text-sm text-gray-400",children:p("newsletterBuilder.select_hint")}),Dt.length>0&&c.jsx("p",{className:"mt-3 rounded-md bg-amber-50 px-3 py-2 text-xs text-amber-700",children:p("newsletterBuilder.no_copy_warning",{count:Dt.length})}),c.jsxs("div",{className:"mb-2 mt-5 flex items-center justify-between gap-2",children:[c.jsxs("h4",{className:"text-xs font-semibold uppercase tracking-wide text-gray-500",children:[p("newsletterBuilder.available_heading")," (",Mt.length,")"]}),c.jsx(P,{checked:Ae,onChange:ze,label:p("newsletterBuilder.filter_unused")})]}),c.jsxs("div",{className:"max-h-[28rem] overflow-y-auto rounded-lg border border-gray-100",children:[Mt.map((e=>c.jsxs("button",{type:"button",onClick:()=>{return t=e.id,void be((e=>e.some((e=>"article"===e.type&&e.articleId===t))?e.filter((e=>!("article"===e.type&&e.articleId===t))):[...e,{type:"article",articleId:t}]));var t},className:"flex w-full items-center gap-2 border-b border-gray-50 px-3 py-2 text-left last:border-b-0 hover:bg-gray-50",children:[c.jsx(R,{className:"h-4 w-4 shrink-0 text-gray-400"}),c.jsx(Ut,i({},_t(e)))]},e.id))),0===Mt.length&&c.jsx("p",{className:"px-3 py-4 text-sm text-gray-400",children:p("newsletterBuilder.no_articles")})]})]})]}),c.jsxs("div",{className:"mt-4 flex gap-2",children:[c.jsxs(b,{variant:"primary",onClick:()=>d(null,null,(function*(){var e,t,r,l,a;if(!n||!(null==f?void 0:f.uid))return;if(!pe.trim())return void w.error(p("newsletterBuilder.toast.missing_title"));if(0===fe.length)return void w.error(p("newsletterBuilder.toast.no_selection"));const s=fe.filter((e=>"article"===e.type)).map((e=>e.articleId));lt(!0);try{if(he)yield function(e,t,r){return d(this,null,(function*(){const l={updatedAt:(new Date).toISOString()};void 0!==r.title&&(l.title=r.title),void 0!==r.itemIds&&(l.itemIds=r.itemIds),void 0!==r.status&&(l.status=r.status),void 0!==r.headerImageUrl&&(l.headerImageUrl=r.headerImageUrl),void 0!==r.headerImageAlt&&(l.headerImageAlt=r.headerImageAlt),void 0!==r.headerLinkUrl&&(l.headerLinkUrl=r.headerLinkUrl),void 0!==r.introHeading&&(l.introHeading=r.introHeading),void 0!==r.introText&&(l.introText=r.introText),void 0!==r.blocks&&(l.blocks=r.blocks),void 0!==r.theme&&(l.theme=r.theme),yield ne(le(_,"projects",e,"newsletters",t),l)}))}(n,he,{title:pe.trim(),itemIds:s,blocks:fe,headerImageUrl:null!=(e=je.headerImageUrl)?e:"",headerImageAlt:null!=(t=je.headerImageAlt)?t:"",headerLinkUrl:null!=(r=je.headerLinkUrl)?r:"",introHeading:null!=(l=Be.introHeading)?l:"",introText:null!=(a=Be.introText)?a:"",theme:Ne}),w.success(p("newsletterBuilder.toast.updated"));else{const e=yield function(e,t){return d(this,null,(function*(){var r;const l=(new Date).toISOString();return(yield de(yt(e),i(i(i(i(i(i(i({title:t.title,itemIds:t.itemIds,status:null!=(r=t.status)?r:"draft",createdBy:t.createdBy,createdAt:l,updatedAt:l},t.headerImageUrl?{headerImageUrl:t.headerImageUrl}:{}),t.headerImageAlt?{headerImageAlt:t.headerImageAlt}:{}),t.headerLinkUrl?{headerLinkUrl:t.headerLinkUrl}:{}),t.introHeading?{introHeading:t.introHeading}:{}),t.introText?{introText:t.introText}:{}),t.blocks?{blocks:t.blocks}:{}),t.theme?{theme:t.theme}:{}))).id}))}(n,{title:pe.trim(),itemIds:s,blocks:fe,createdBy:f.uid,headerImageUrl:je.headerImageUrl,headerImageAlt:je.headerImageAlt,headerLinkUrl:je.headerLinkUrl,introHeading:Be.introHeading,introText:Be.introText,theme:Ne});ge(e),w.success(p("newsletterBuilder.toast.created"))}q(yield jt(n))}catch(o){w.error(p("newsletterBuilder.toast.save_error"))}finally{lt(!1)}})),loading:tt,children:[c.jsx(He,{className:"h-4 w-4"})," ",p("newsletterBuilder.save")]}),he&&c.jsx(b,{variant:"ghost",onClick:Ct,children:p("newsletterBuilder.cancel_edit")})]})]}),c.jsx("section",{className:"lg:col-span-5",children:c.jsxs("div",{className:"space-y-4 lg:sticky lg:top-4",children:[c.jsx(Ee,{title:`${p("newsletterBuilder.saved_heading")} (${Y.length})`,defaultOpen:!0,right:c.jsxs(b,{variant:"ghost",size:"sm",onClick:Ct,children:[c.jsx(R,{className:"h-4 w-4"})," ",p("newsletterBuilder.new")]}),children:0===Y.length?c.jsx("p",{className:"text-sm text-gray-400",children:p("newsletterBuilder.no_saved")}):c.jsx("ul",{className:"max-h-56 space-y-1 overflow-y-auto pr-1",children:Y.map((e=>c.jsx("li",{children:c.jsxs("div",{className:"flex items-center justify-between rounded-lg border px-3 py-2 "+(he===e.id?"border-orange-400 bg-orange-50":"border-gray-200 hover:bg-gray-50"),children:[c.jsxs("button",{type:"button",className:"min-w-0 flex-1 text-left",onClick:()=>(e=>{var t;ge(e.id),xe(e.title);const r=e.blocks&&e.blocks.length>0?e.blocks:e.itemIds.map((e=>({type:"article",articleId:e})));be(r.filter((e=>"article"!==e.type||at.has(e.articleId)))),_e({headerImageUrl:e.headerImageUrl,headerImageAlt:e.headerImageAlt,headerLinkUrl:e.headerLinkUrl}),Ie({introHeading:e.introHeading,introText:e.introText}),$e(null!=(t=e.theme)?t:"classic")})(e),children:[c.jsx("span",{className:"block truncate text-sm font-medium text-gray-800",children:e.title}),c.jsx("span",{className:"text-xs text-gray-400",children:p("newsletterBuilder.item_count",{count:e.itemIds.length})})]}),c.jsx(C,{size:"sm",variant:"ghost","aria-label":p("newsletterBuilder.delete"),onClick:()=>Lt(e),icon:c.jsx($,{className:"h-4 w-4 text-red-500"})})]})},e.id)))})}),c.jsxs("div",{children:[c.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[c.jsxs("h3",{className:"text-sm font-semibold text-gray-700",children:[p("newsletterBuilder.preview_heading"),Ke&&c.jsx(A,{className:"ml-2 inline h-4 w-4"})]}),c.jsxs(b,{variant:"secondary",size:"sm",onClick:()=>d(null,null,(function*(){if(qe)try{yield navigator.clipboard.writeText(qe),w.success(p("newsletterBuilder.toast.copied"))}catch(e){w.error(p("newsletterBuilder.toast.copy_error"))}})),disabled:!qe,children:[c.jsx(F,{className:"h-4 w-4"})," ",p("newsletterBuilder.copy_html")]})]}),qe?c.jsx(St,{html:qe,className:"h-[calc(100vh-300px)] min-h-[420px]"}):c.jsx("div",{className:"flex h-[calc(100vh-300px)] min-h-[420px] items-center justify-center rounded-lg border border-dashed border-gray-200 text-sm text-gray-400",children:p("newsletterBuilder.preview_empty")})]})]})})]}),n&&c.jsx(pt,{open:Se,projectId:n,tenantId:l,initial:ye.settings,onClose:()=>Ue(!1),onSaved:e=>ve((t=>o(i({},t),{settings:e})))}),n&&c.jsx(Pe,{open:Boolean(Te),projectId:n,locale:null!=(t=null==U?void 0:U.locale)?t:"nl",article:Te,onClose:()=>De(null),onSaved:e=>{S((t=>t.map((t=>t.id===e.id?e:t))))}}),n&&c.jsx(Ge,{open:Boolean(Me),projectId:n,locale:null!=(r=null==U?void 0:U.locale)?r:"nl",cta:Me,onClose:()=>Oe(null),onSave:e=>{be((t=>t.map((t=>"cta"===t.type&&t.cta.id===e.id?{type:"cta",cta:e}:t))))},onSaveAsset:(e,t)=>d(null,null,(function*(){if(n&&(null==f?void 0:f.uid))try{yield et(n,{type:"cta",name:t,cta:e,createdBy:f.uid}),oe(yield Ze(n)),w.success(p("newsletterBuilder.toast.asset_saved"))}catch(r){w.error(p("newsletterBuilder.toast.asset_save_error"))}}))}),c.jsx(Je,{open:Boolean(Re),ad:Re,ads:ae,onClose:()=>Fe(null),onSave:e=>{be((t=>t.map((t=>"ad"===t.type&&t.ad.id===e.id?{type:"ad",ad:e}:t))))},onSaveAsset:(e,t)=>d(null,null,(function*(){if(n&&(null==f?void 0:f.uid))try{yield et(n,{type:"ad",name:t,ad:e,createdBy:f.uid}),oe(yield Ze(n)),w.success(p("newsletterBuilder.toast.asset_saved"))}catch(r){w.error(p("newsletterBuilder.toast.asset_save_error"))}}))}),c.jsx(Ve,{open:ue,assets:ie,onClose:()=>me(!1),onInsert:e=>{const t=()=>`${Date.now()}-${Math.floor(1e6*Math.random())}`;"cta"===e.type&&e.cta?be((r=>[...r,{type:"cta",cta:o(i({},e.cta),{id:`cta-${t()}`})}])):"ad"===e.type&&e.ad&&be((r=>[...r,{type:"ad",ad:o(i({},e.ad),{id:`ad-${t()}`})}])),me(!1),w.success(p("newsletterBuilder.toast.asset_inserted"))},onDelete:e=>d(null,null,(function*(){if(n)try{yield function(e,t){return d(this,null,(function*(){yield ce(le(_,"projects",e,"newsletterAssets",t))}))}(n,e),oe((t=>t.filter((t=>
1t.id!==e)))),w.success(p("newsletterBuilder.toast.asset_deleted"))}catch(t){w.error(p("newsletterBuilder.toast.asset_save_error"))}}))})]})};export{Tt as default};
2//# sourceMappingURL=NewsletterBuilderPage-iXFQtjd8.js.map

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.