PageSourceSearch

https://clubmolitor.com/_nuxt/DVtFbs6m.js

js clubmolitor.com collected 2026-10-06 09:25:49 UTC 8,156 bytes, 1 lines download raw bytes

1import{d as V,o as U,c as a,l as e,h,v as W,p as L,e as l,t as r,g as v,F as m,r as _,n as P,R as N,i as q,B as p,ah as J,k as R,x as K,j as s,a as Q,b as X,f as Y}from"./CnaXbNNQ.js";import{_ as M}from"./CsLARjmK.js";const Z={class:"max-w-7xl mx-auto px-4 py-8"},ee={class:"flex items-center gap-3 mb-6 min-w-0"},te={class:"text-2xl font-bold text-gray-900 truncate"},se={key:0},le={key:0,class:"grid grid-cols-2 md:grid-cols-4 gap-6"},oe={key:0,class:"mb-8 bg-white rounded-lg border border-gray-200 p-6"},ae={class:"mt-4 flex items-center gap-4"},ne=["srcdoc"],re={key:0,class:"text-xs text-gray-500 mb-2"},ie={class:"flex flex-wrap gap-2 border-b border-gray-200 mb-6"},ce=["onClick"],de={class:"text-xs text-gray-400"},ue={key:1,class:"mb-4 rounded-md bg-red-50 border border-red-200 p-3 text-sm text-red-600"},pe={key:2,class:"grid grid-cols-2 md:grid-cols-4 gap-6"},be=["disabled","onClick"],me=["src","alt"],ge={class:"p-3"},ye={class:"text-sm font-medium text-gray-900 truncate group-hover:text-primary"},_e={class:"text-xs text-gray-400"},ve={key:3,class:"grid grid-cols-2 md:grid-cols-4 gap-6"},xe=["disabled","onClick"],he=["srcdoc","title"],fe={class:"p-3"},ke={class:"text-sm font-medium text-gray-900 truncate group-hover:text-primary"},we={class:"text-xs text-gray-400"},Ce={key:4},$e=["onClick"],Te={key:0,class:"px-4 pb-4 space-y-4"},je={class:"text-sm font-medium text-gray-700 mb-2"},Be={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},Le=["onClick"],Ne=["src","alt"],Re={key:1,class:"w-full aspect-[16/10] bg-gray-100 flex items-center justify-center text-gray-300"},Se={class:"p-2"},ze={class:"text-sm text-gray-900 line-clamp-2"},Ae={class:"text-xs text-gray-400"},Pe={key:0,class:"sticky bottom-4 flex justify-end"},qe=V({__name:"NewsletterTemplatePicker",props:{slug:{},token:{}},setup(S){const d=S,w=K(),x=p(!1),i=p(!1),c=p(""),g=p(null),C=p([]),$=p([]),T=p([]),f=p("builder"),k=J({}),u=p([]),E=R(()=>[{key:"builder",label:"Modèles",count:C.value.length},{key:"campaigns",label:"Campagnes existantes",count:$.value.length},{key:"news",label:"À partir d'actualités",count:T.value.length}]),z=o=>o?o.startsWith("http")?o:w.public.vpdivePublic+o:"",F=o=>({featured:"Mis en avant",default:"Standard",custom:"Personnalisé"})[o]||o;function O(){P(`/app/club/${d.slug}`)}function j(){P(`/app/club/newsletter/${d.slug}/${d.token}`)}function G(o){k[o]=!k[o]}function I(o){const n=u.value.indexOf(o);n===-1?u.value.push(o):u.value.splice(n,1)}async function D(){try{x.value=!0;const o=await N(`/api/club/newsletter/${d.token}/templates`,{method:"GET",includeActiveClub:!0,includeTraceability:!0});g.value=o?.current||null,C.value=o?.builder||[],$.value=o?.campaigns||[],T.value=o?.news||[]}catch{c.value="Impossible de charger les modèles."}finally{x.value=!1}}async function A(o){if(!i.value){c.value="";try{i.value=!0;const n=await N(`/api/club/newsletter/${d.token}/template`,{method:"POST",data:{template:o},includeActiveClub:!0,includeTraceability:!0});if(!n?.success){c.value=n?.message||"Le modèle n'a pas pu être appliqué.";return}j()}catch(n){c.value=n?.data?.message||"Le modèle n'a pas pu être appliqué."}finally{i.value=!1}}}async function H(){if(!(i.value||!u.value.length)){c.value="";try{i.value=!0;const o=await N(`/api/club/newsletter/${d.token}/from-news`,{method:"POST",data:{tokens:u.value},includeActiveClub:!0,includeTraceability:!0});if(!o?.success){c.value=o?.message||"La newsletter n'a pas pu être composée.";return}j()}catch(o){c.value=o?.data?.message||"La newsletter n'a pas pu être composée."}finally{i.value=!1}}}return U(D),(o,n)=>{const B=W;return s(),a("div",Z,[e("div",ee,[e("button",{type:"button",class:"flex items-center text-gray-500 hover:text-primary transition-colors",title:"Retour à la liste",onClick:O},[h(B,{name:"material-symbols:arrow-back",class:"w-6 h-6"})]),e("h1",te,[n[0]||(n[0]=L(" Choisir un modèle",-1)),l(g)?.title?(s(),a("span",se," — "+r(l(g).title),1)):v("",!0)])]),l(x)?(s(),a("div",le,[(s(),a(m,null,_(8,t=>e("div",{key:t,class:"animate-pulse bg-white rounded-lg border border-gray-200 overflow-hidden"},[...n[1]||(n[1]=[e("div",{class:"aspect-[3/4] bg-gray-200"},null,-1),e("div",{class:"p-3"},[e("div",{class:"h-3 w-2/3 bg-gray-200 rounded"})],-1)])])),64))])):(s(),a(m,{key:1},[l(g)?.has_content?(s(),a("section",oe,[n[2]||(n[2]=e("h2",{class:"text-lg font-semibold text-gray-900"},"Reprendre le contenu existant",-1)),n[3]||(n[3]=e("p",{class:"text-sm text-gray-600 mt-1"}," Cette newsletter a déjà un contenu. Choisir un nouveau modèle ci-dessous le remplacera. ",-1)),e("div",ae,[e("iframe",{srcdoc:l(g).content,class:"w-64 h-40 border border-gray-200 rounded bg-white pointer-events-none",sandbox:"",title:"Aperçu du contenu actuel"},null,8,ne),e("div",null,[l(g).updated_at?(s(),a("p",re," Modifié le "+r(l(g).updated_at),1)):v("",!0),h(M,{text:"Reprendre l'édition",color:"primary",size:"sm",onClick:j})])])])):v("",!0),e("div",ie,[(s(!0),a(m,null,_(l(E),t=>(s(),a("button",{key:t.key,type:"button",class:q(["px-4 py-2 text-sm font-medium border-b-2 -mb-px transition-colors",l(f)===t.key?"border-primary text-primary":"border-transparent text-gray-500 hover:text-gray-800"]),onClick:y=>f.value=t.key},[L(r(t.label)+" ",1),e("span",de,"("+r(t.count)+")",1)],10,ce))),128))]),l(c)?(s(),a("p",ue,r(l(c)),1)):v("",!0),l(f)==="builder"?(s(),a("div",pe,[(s(!0),a(m,null,_(l(C),t=>(s(),a("button",{key:t.id,type:"button",class:"group text-left bg-white rounded-lg border border-gray-200 overflow-hidden hover:shadow-md transition-shadow disabled:opacity-50",disabled:l(i),onClick:y=>A(t.id)},[e("img",{src:z(t.thumb),alt:t.title,loading:"lazy",class:"w-full aspect-[3/4] object-cover object-top bg-gray-50"}
1,null,8,me),e("div",ge,[e("p",ye,r(t.title),1),e("p",_e,r(F(t.family)),1)])],8,be))),128))])):l(f)==="campaigns"?(s(),a("div",ve,[(s(!0),a(m,null,_(l($),t=>(s(),a("button",{key:t.id,type:"button",class:"group text-left bg-white rounded-lg border border-gray-200 overflow-hidden hover:shadow-md transition-shadow disabled:opacity-50",disabled:l(i),onClick:y=>A(t.id)},[e("iframe",{srcdoc:t.content,class:"w-full aspect-[3/4] bg-white pointer-events-none",sandbox:"",title:t.title},null,8,he),e("div",fe,[e("p",ke,r(t.title),1),e("p",we,r(t.created_at),1)])],8,xe))),128))])):(s(),a("div",Ce,[n[4]||(n[4]=e("p",{class:"text-sm text-gray-600 mb-4"}," Sélectionnez une ou plusieurs actualités : elles seront assemblées en une newsletter. Seules les actualités des rubriques publiques apparaissent ici. ",-1)),(s(!0),a(m,null,_(l(T),t=>(s(),a("div",{key:t.label,class:"mb-4 rounded-lg bg-gray-50 border border-gray-200"},[e("button",{type:"button",class:"w-full flex items-center justify-between px-4 py-3 font-semibold text-gray-900",onClick:y=>G(t.label)},[L(r(t.label)+" ",1),h(B,{name:l(k)[t.label]?"material-symbols:expand-less":"material-symbols:expand-more",class:"w-5 h-5"},null,8,["name"])],8,$e),l(k)[t.label]?(s(),a("div",Te,[(s(!0),a(m,null,_(t.subsections,y=>(s(),a("div",{key:y.label},[e("p",je,r(y.label),1),e("div",Be,[(s(!0),a(m,null,_(y.items,b=>(s(),a("button",{key:b.token,type:"button",class:q(["text-left bg-white rounded-lg border-2 overflow-hidden transition-colors",l(u).includes(b.token)?"border-primary":"border-gray-200 hover:border-gray-300"]),onClick:Me=>I(b.token)},[b.picture?(s(),a("img",{key:0,src:z(b.picture),alt:b.title,loading:"lazy",class:"w-full aspect-[16/10] object-cover bg-gray-100"},null,8,Ne)):(s(),a("div",Re,[h(B,{name:"material-symbols:article",class:"text-4xl"})])),e("div",Se,[e("p",ze,r(b.title),1),e("p",Ae,r(b.date),1)])],10,Le))),128))])]))),128))])):v("",!0)]))),128)),l(u).length?(s(),a("div",Pe,[h(M,{text:`Composer avec ${l(u).length} actualité${l(u).length>1?"s":""}`,color:"primary",icon:"heroicons:check-circle","icon-position":"left",loading:l(i),disabled:l(i),onClick:H},null,8,["text","loading","disabled"])])):v("",!0)]))],64))])}}}),Fe=V({__name:"modeles",setup(S){const d=Q(),w=R(()=>d.params.slug||""),x=R(()=>d.params.token||"");return X({title:"Choisir un modèle de newsletter"}),(i,c)=>(s(),Y(qe,{slug:l(w),token:l(x)},null,8,["slug","token"]))}});export{Fe 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.