1import{_ as M}from"./CTl-cEED.js";import{d as x,D as P,Y as U,o as R,ak as j,c as h,l as c,e as p,f as g,v as q,t as O,g as _,R as $,B as f,j as d,a as D,b as F,k as v}from"./BwpTFavE.js";const I={class:"newsletter-builder"},N={key:0,class:"fixed inset-0 z-[70] flex items-center justify-center bg-white"},z={class:"text-center px-6"},V={class:"text-gray-600 mt-4"},u="/assets/builderjs/",G=x({__name:"NewsletterBuilder",props:{slug:{},token:{}},setup(w){const n=w,b=L(),m=f(!1),l=f(""),k=f("");let s=null;function T(t){if(document.querySelector(`link[data-builder="${t}"]`))return;const e=document.createElement("link");e.rel="stylesheet",e.href=t,e.dataset.builder=t,document.head.appendChild(e)}function y(t){return new Promise((e,a)=>{const o=document.querySelector(`script[data-builder="${t}"]`);if(o){if(o.dataset.loaded==="1")return e();o.addEventListener("load",()=>e()),o.addEventListener("error",()=>a(new Error(t)));return}const r=document.createElement("script");r.src=t,r.async=!1,r.dataset.builder=t,r.dataset.loaded="0",r.onload=()=>{r.dataset.loaded="1",e()},r.onerror=()=>a(new Error(t)),document.head.appendChild(r)})}function C(t){window.location.href=t}function S(){return`${window.location.protocol==="https:"?"https":"http"}://${window.location.hostname}`}async function E(){try{const t=await fetch(`${u}src/main.html`).then(o=>o.text()),e=new DOMParser().parseFromString(t,"text/html").querySelector(".top"),a=document.querySelector("#builder-topbar");e&&a&&(a.innerHTML=s?.transformHtml?s.transformHtml(e.outerHTML):e.outerHTML)}catch{}}function B(){C(`/app/club/${n.slug}`)}async function A(t){const e=String(t).match(/\/f\/news\/change\/([^/]+)\/([^/]+)\//);if(!e){window.location.href=t;return}try{await $(`/api/club/newsletter/${n.token}/template`,{method:"POST",data:{template:`${e[1]}/${e[2]}`},includeActiveClub:!0,includeTraceability:!0}),window.location.reload()}catch{window.location.href=t}}function L(){const t={},e=P().getAuthToken()||localStorage.getItem("auth-token");e&&(t.Authorization=`Bearer ${e}`);const a=U()?.getUserClubTraceability;return a&&(t.userclubtraceability=a),t}async function H(){try{const e=(await $(`/api/club/newsletter/${n.token}/design`,{method:"GET",includeActiveClub:!0,includeTraceability:!0}))?.design;if(!e){l.value="Cette newsletter est introuvable.";return}k.value=e.title||"",T(`${u}dist/builder.css`),await y(`${u}dist/builder.js`);for(const i of["RssElement","RssControl","RssWidget"])await y(`${u}plugins/rss/${i}.js`).catch(()=>{});const a=window.Editor;if(!a){l.value="L'éditeur n'a pas pu être chargé.";return}const o=`${S()}/api/club/newsletter`,r=`/app/club/${n.slug}`;s=new a({emailMode:!0,strict:!1,showInlineToolbar:!0,root:`${u}dist/`,url:e.templateUrl,canvas:"#builder-canvas",sidePanel:"#builder-side-panel",header:b,saveUrl:`${o}/${n.token}/save`,saveMethod:"POST",uploadAssetUrl:`${o}/image`,uploadAssetMethod:"POST",uploadTemplateUrl:`${o}/${n.token}/import`,uploadTemplateCallback:()=>window.location.reload(),export:{url:`${o}/${n.token}/export`},urlBack:r,data:{token:n.token,menu:e.menu_token},tags:e.tags||[],templates:e.templates||[],changeTemplateCallback:i=>{A(i)},disableFeatures:["save_close","footer_exit","help"],loaded:()=>{m.value=!0}}),await new Promise(i=>{try{s.loadPageJs([`${u}dist/language/all.js`],()=>i())}catch{i()}});try{s.setLanguage()}catch{}await E(),e.content&&s.load(e.content),s.init(),m.value=!0}catch(t){l.value=t?.data?.message||"L'éditeur n'a pas pu être chargé."}}return R(H),j(()=>{try{s?.destroy?.()}catch{}s=null,document.querySelectorAll("[data-builder]").forEach(t=>t.remove())}),(t,e)=>{const a=M,o=q;return d(),h("div",I,[e[0]||(e[0]=c("div",{id:"builder-topbar",class:"builder-topbar"},null,-1)),e[1]||(e[1]=c("div",{class:"builder-body"},[c("div",{id:"builder-canvas"}),c("div",{id:"builder-side-panel"})],-1)),p(m)?_("",!0):(d(),h("div",N,[c("div",z,[p(l)?(d(),g(o,{key:1,name:"heroicons:exclamation-triangle",class:"w-12 h-12 text-red-500 mx-auto"})):(d(),g(a,{key:0,animated:!0})),c("p",V,O(p(l)||"Chargement de l'éditeurâ¦"),1),p(l)?(d(),h("button",{key:2,type:"button",class:"mt-4 text-primary hover:underline",onClick:B}," Retour à la liste ")):_("",!0)])]))])}}}),Y=x({__name:"index",setup(w){const n=D(),b=v(()=>n.params.slug||""),m=v(()=>n.params.token||"");return F({title:"Ãditeur de newsletter"}),(l,k)=>(d(),g(G,{slug:p(b),token:p(m)},null,8,["slug","token"]))}});
1export{Y 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.