1import Pn from"./BlUlAP2D.js";import{_ as Tn}from"./BA4VewZY.js";import{_ as zs}from"./Dx_Ou25x.js";import{_ as Vn}from"./ByWatnw4.js";import{_ as qn}from"./DxOG0pT0.js";import{e as Zt,C as Dn,p as W,f as Os,D as Ns,o as r,c as o,a,d as y,t as c,l as w,k as f,q as Ae,b as p,w as g,F as $,r as O,M as Mn,x as jn,g as Un,u as zn,z as U,i as ce,A as me,m as On,s as _,n as K,_ as Nn,S as Fn}from"./D8644rYh.js";import{u as Fs}from"./MRLRowXz.js";import{C as In}from"./BxPVYO8a.js";import{l as Bn}from"./BMsA0h4J.js";import{s as Is}from"./Dlpu38Pq.js";import{u as Hn,a as h,c as qs}from"./umGG1dom.js";import{u as Wn}from"./Cxhm-wjv.js";import"./DlAUqK2U.js";const Jn=["aria-busy"],Kn={class:"flex min-h-11 items-center gap-3 font-semibold text-dark dark:text-white"},Gn=["checked","disabled"],Qn={class:"mt-1 text-sm leading-6 text-grey-text dark:text-white/75"},Yn={key:0,class:"mt-3 flex flex-wrap items-center gap-3"},Xn=["value","aria-label"],Zn={key:1,role:"status",class:"mt-2 text-sm text-grey-text dark:text-white/75"},ei=Zt({__name:"ReplayAccessShare",props:{eventId:{},open:{type:Boolean},editable:{type:Boolean}},emits:["changed"],setup(m,{emit:u}){const l=m,L=u,{t:C}=Dn(),N=Fs(),H=W(l.open);Os(()=>l.open,j=>{H.value=j});const E=W(!1),v=W(""),P=W("");Ns(()=>{P.value=window.location.origin});const S=Ae(()=>`${P.value}/webinaire/acces/${l.eventId}`);async function I(j){const R=j.target,re=R.checked;if(!E.value){E.value=!0,v.value="";try{await N(`/admin/events/${l.eventId}`,{method:"PATCH",body:{replay_access_open:re}}),H.value=re,L("changed",re),v.value=C("replayAccess.saved")}catch{v.value=C("replayAccess.saveError")}finally{E.value=!1,R.checked=H.value}}}async function Q(){try{await navigator.clipboard.writeText(S.value),v.value=C("replayAccess.copied")}catch{v.value=C("replayAccess.copyFallback")}}return(j,R)=>(r(),o("section",{class:"my-5 rounded-xl bg-gray-50 p-4 dark:bg-ink-800","aria-busy":E.value},[a("label",Kn,[a("input",{type:"checkbox",checked:H.value,disabled:!m.editable||E.value,class:"h-5 w-5 shrink-0 accent-primary-600",onChange:I},null,40,Gn),y(" "+c(w(C)("replayAccess.adminTitle")),1)]),a("p",Qn,c(w(C)("replayAccess.adminHint")),1),H.value?(r(),o("div",Yn,[a("input",{value:S.value,"aria-label":w(C)("replayAccess.shareLink"),readonly:"",class:"min-h-11 min-w-0 flex-1 rounded-lg border border-gray-300 bg-white px-3 text-sm text-dark dark:border-white/20 dark:bg-ink dark:text-white",onFocus:R[0]||(R[0]=re=>re.target.select())},null,40,Xn),a("button",{type:"button",class:"min-h-11 text-sm font-semibold text-primary-600 underline underline-offset-4 dark:text-primary-300",onClick:Q},c(w(C)("replayAccess.copy")),1)])):f("",!0),v.value?(r(),o("p",Zn,c(v.value),1)):f("",!0)],8,Jn))}}),ti=Object.assign(ei,{__name:"AdminEventsReplayAccessShare"}),si={value:""},ai=["value"],ni={key:0,class:"mt-2 space-y-1.5"},ii={class:"w-4 shrink-0 text-xs tabular-nums text-grey-text"},ri=["title"],li=["disabled","aria-label","onClick"],oi=["aria-label","onClick"],$t=8,di=Zt({__name:"EventClubDealsField",props:{modelValue:{},deals:{}},emits:["update:modelValue"],setup(m,{emit:u}){const l=m,L=u,C=W("");Os(C,S=>{S&&(!l.modelValue.includes(S)&&l.modelValue.length<$t&&L("update:modelValue",[...l.modelValue,S]),C.value="")});const N=Ae(()=>l.modelValue.length>=$t),H=Ae(()=>l.deals.filter(S=>!l.modelValue.includes(S.id)));function E(S){const I=l.deals.find(Q=>Q.id===S);return I?`${I.reference} · ${I.title} (${I.status})`:S.slice(0,8)}function v(S){if(S<=0)return;const I=[...l.modelValue];[I[S-1],I[S]]=[I[S],I[S-1]],L("update:modelValue",I)}function P(S){L("update:modelValue",l.modelValue.filter((I,Q)=>Q!==S))}return(S,I)=>{const Q=zs;return r(),o("div",null,[p(Q,{modelValue:C.value,"onUpdate:modelValue":I[0]||(I[0]=j=>C.value=j),as:"select",class:"w-full",disabled:N.value,"aria-label":"Ajouter une opération liée"},{default:g(()=>[a("option",si,c(N.value?`Maximum atteint (${$t} opérations)`:"Ajouter une opération liéeâ¦"),1),(r(!0),o($,null,O(H.value,j=>(r(),o("option",{key:j.id,value:j.id},c(j.reference)+" · "+c(j.title)+" ("+c(j.status)+")",9,ai))),128))]),_:1},8,["modelValue","disabled"]),m.modelValue.length?(r(),o("ul",ni,[(r(!0),o($,null,O(m.modelValue,(j,R)=>(r(),o("li",{key:j,class:"flex items-center gap-2 rounded-lg border border-gray-200 px-3 py-1.5 dark:border-gray-700"}
1,[a("span",ii,c(R+1),1),a("span",{class:"min-w-0 flex-1 truncate text-sm text-dark dark:text-white",title:E(j)},c(E(j)),9,ri),a("button",{type:"button",class:"inline-flex min-h-11 items-center px-2 text-xs font-medium text-grey-text transition hover:text-dark disabled:cursor-not-allowed disabled:opacity-40 dark:hover:text-white",disabled:R===0,"aria-label":`Monter ${E(j)}`,onClick:re=>v(R)}," Monter ",8,li),a("button",{type:"button",class:"inline-flex min-h-11 items-center px-2 text-xs font-medium text-grey-text transition hover:text-red-700 dark:hover:text-red-300","aria-label":`Retirer ${E(j)}`,onClick:re=>P(R)}," Retirer ",8,oi)]))),128))])):f("",!0),a("p",{class:"mt-1 text-xs text-grey-text"}," Ordre d'affichage sur la page replay des inscrits. "+c($t)+" opérations au maximum. ")])}}}),Ds=Object.assign(di,{__name:"AdminEventClubDealsField"}),ui="Cet événement sera retiré du back-office et du site public. Les inscriptions et les emails déjà envoyés restent conservés dans lâhistorique. Cette action ne peut pas être annulée depuis cette interface.",ci="Cet événement sera retiré du back-office et du site public. Les emails non envoyés seront annulés et les accès des inscrits seront retirés. Les inscriptions et les emails déjà envoyés restent conservés dans lâhistorique. Cette action ne peut pas être annulée depuis cette interface.";function mi(m,u){return u?[...m]:m.filter(l=>l.is_staging_fixture!==!0)}function pi(m,u){return u&&m.is_staging_fixture!==!0&&["scheduled","ended","cancelled"].includes(m.status)}function fi(m){return m==="scheduled"?ci:ui}const bi=15*6e4;function yi(m,u=Date.now()){const l=Date.parse(m??"");return Number.isFinite(l)&&u>=l-bi}function Ms(m){return m.transcript_enabled===!1||m.transcript_status==="disabled"?"Direct lancé sans transcription. Les emails dâaccès sont mis en file.":m.bot_status==="connected"?"Bot connecté. Direct lancé et emails dâaccès mis en file.":"Direct lancé. Vérifiez le mode de transcription dans lâétat du webinaire."}function gi(m,u){const l=m==="live"?"Direct terminé":"Ãvénement clôturé";return u.bot_stop_pending?{tone:"error",message:`${l}, mais lâarrêt du bot nâest pas confirmé. La reprise automatique est active et une vérification est nécessaire.`}:u.transcript_status==="failed"||u.summary_status==="failed"?{tone:"error",message:`${l}, mais la finalisation nécessite une vérification.`}:u.summary_status==="review"?{tone:"success",message:`${l}. Transcript récupéré et synthèse prête à relire.`}:u.summary_status==="published"?{tone:"success",message:`${l}. La synthèse est déjà publiée.`}:u.transcript_status==="disabled"?{tone:"success",message:`${l}. Aucune transcription nâétait prévue.`}:u.transcript_status==="empty"&&u.summary_status==="none"?{tone:"success",message:`${l}. Aucun transcript ni synthèse à traiter.`}:u.transcript_status==="processing"||u.summary_status==="processing"?{tone:"success",message:`${l}. Transcript et synthèse en cours de traitement.`}:u.transcript_status==="ready"&&u.summary_status==="none"?{tone:"success",message:`${l}. Transcript récupéré, sans synthèse disponible.`}:{tone:"success",message:`${l}. Vérifiez les états de traitement.`}}function pt(m){return m==="off"}function xi(m,u){return m==="published"&&pt(u)?"Validée, diffusion bloquée":{none:"Absente",processing:"Traitement en cours",review:"à valider",published:"Publiée",failed:"Ãchec"}[m??"none"]??"à vérifier"}function _i(m,u=!1){return u||m.status!=="scheduled"||!!m.meet_session_id||!!m.live_start_requested_at||!!m.bot_start_attempt_id||["starting","connected","unknown"].includes(m.bot_status??"")}function hi(m,u=!1){return u||m.status!=="scheduled"||!!m.meet_session_id||!!m.live_start_requested_at||!!m.bot_start_attempt_id}function ki(m){return m.status==="scheduled"&&m.transcript_enabled!==!1&&!!m.live_start_requested_at&&["not_requested","starting","connected","unknown"].includes(m.bot_status??"not_requested")}function wi(m,u,l=!1){if(m.status!=="scheduled"||m.transcript_enabled===!1)return!1;if(l||m.bot_last_error||["failed","unknown"].includes(m.bot_status??""))return!0;
1if(m.bot_status!=="starting")return!1;const L=m.bot_requested_at??m.live_start_requested_at;if(!L)return!1;const C=Date.parse(L);return!Number.isNaN(C)&&u-C>=9e4}function Gt(m){return!!(m.meet_session_id||m.bot_start_attempt_id)&&["scheduled","live"].includes(m.status)&&!["stopped","not_requested"].includes(m.bot_status??"")}function vi(m){const u=Math.max(0,Math.floor(m));return Math.min(6e4,1e4*2**u)}function Qt(m,u){if(m.status!=="scheduled"||!m.starts_at)return!1;const l=Date.parse(m.starts_at);return!Number.isNaN(l)&&l<=u}function Ci(m,u){const l=new Map,L=v=>{const P=v.trim(),S=P.toLocaleLowerCase("fr-FR");return l.has(S)||l.set(S,{name:P,firstJoinedAt:null,lastObservedAt:null,connectionCount:0,durationMs:0,departureDetected:null,activeSinceMs:null}),l.get(S)};for(const v of m.participants??[])typeof v=="string"&&v.trim()&&L(v);const C=[...m.presence_events??[]].filter(v=>typeof v?.name=="string"&&v.name.trim()!==""&&(v.event==="join"||v.event==="leave")&&!Number.isNaN(Date.parse(v.at))).sort((v,P)=>Date.parse(v.at)-Date.parse(P.at));for(const v of C){const P=L(v.name),S=Date.parse(v.at);if(P.lastObservedAt=new Date(S).toISOString(),v.event==="join"){P.activeSinceMs===null&&(P.activeSinceMs=S,P.connectionCount+=1,P.firstJoinedAt??=new Date(S).toISOString()),P.departureDetected=!1;continue}P.activeSinceMs!==null&&(P.durationMs+=Math.max(0,S-P.activeSinceMs),P.activeSinceMs=null),P.departureDetected=!0}const N=u?Date.parse(u):Number.NaN,H=C.length?Date.parse(C[C.length-1].at):0,E=Number.isNaN(N)?H:N;for(const v of l.values())v.activeSinceMs!==null&&(v.durationMs+=Math.max(0,E-v.activeSinceMs),v.departureDetected=!1);return[...l.values()].map(({activeSinceMs:v,...P})=>P)}function $i(m){const u=Math.floor(Math.max(0,m)/6e4);if(u<1)return"moins dâune minute";if(u<60)return`${u} min`;const l=Math.floor(u/60),L=u%60;return L?`${l} h ${L}`:`${l} h`}const Li=30*6e4,Si=/^https:\/\/meet\.wiim\.(immo|ai)\/[^/?#]+/i;function Bs(m,u=Date.now()){if(!m.join_url||!Si.test(m.join_url))return null;if(m.replay_url?.trim())return{kind:"published",label:"Replay publié"};if(m.replay_candidate_url?.trim())return{kind:"received",label:"Reçu · à valider"};if(m.status==="live")return{kind:"expected",label:"Attendu après le direct"};if(m.status!=="ended")return null;const l=m.ended_at?Date.parse(m.ended_at):Number.NaN;return Number.isFinite(l)?u-l<Li?{kind:"expected",label:"Attendu sous 30 min"}:{kind:"missing",label:"Non reçu"}:null}const Ri="Aucun replay reçu 30 minutes après la fin du direct. Vérifiez lâenregistrement côté serveur WiiM Meet, ou collez le lien vidéo dans lâonglet Replay.",Ai=2880*6e4;function Ei(m,u=Date.now()){if(Bs(m,u)?.kind!=="missing")return null;const l=m.ended_at?Date.parse(m.ended_at):Number.NaN;return!Number.isFinite(l)||u-l>Ai?null:Ri}function Pi(m,u){return u==="stale"?"error":m?m.length?"ready":"empty":"loading"}function Ti(m){let u;const l=new Set;async function L(N){if(!l.has(N)){l.add(N);try{await m.refresh(N),m.onFreshnessChange?.(N,"fresh")}catch{m.onFreshnessChange?.(N,"stale")}finally{l.delete(N)}}}async function C(){const N=m.getEvents().filter(H=>H.status==="live"&&m.getOpenTab(H.id)==="inscrits").map(H=>H.id);await Promise.all(N.map(L))}return{start(){u||(u=Is(()=>{C()},m.intervalMs??3e4))},stop(){u&&clearInterval(u),u=void 0},refreshNow:L}}const Vi=[{value:"all",label:"Tous"},{value:"participant",label:"Participants"},{value:"brief",label:"Passages brefs"},{value:"absent",label:"Non détectés"},{value:"unverified",label:"à vérifier"},{value:"in_room",label:"En salle"},{value:"excluded",label:"Exclus du suivi commercial"}];function qi(m){return m.reduce((u,l)=>(u.total+=1,u[l.attendance.classification]+=1,l.attendance.in_room&&(u.inRoom+=1),l.attendance.commercial_excluded?(u.excluded+=1,u):(u.commercial[l.attendance.classification]+=1,l.attendance.in_room&&(u.commercial.inRoom+=1),u)),{total:0,participant:0,brief:0,absent:0,unverified:0,inRoom:0,excluded:0,commercial:{participant:0,brief:0,absent:0,unverified:0,inRoom:0}})}function Di(m){if(!m.excluded)return null;const u=m.commercial,l=[`${u.participant} participant${u.participant>1?"s":""}`,`${u.brief} passage${u.brief>1?"s":""} bref${u.brief>1?"s":""}`,`${u.absent} non détecté${u.absent>1?"s":""}`];u.unverified>0&&l.push(`${u.unverified}
1 à vérifier`),m.inRoom>0&&l.push(`${u.inRoom} en salle`);const L=m.excluded>1;return`Indicateurs commerciaux : ${l.join(", ")}. ${m.excluded} ${L?"personnes":"personne"} (équipe ou hôtes) ${L?"restent comptées":"reste comptée"} ci-dessus mais hors de ces indicateurs.`}function Mi(m,u){return u==="all"?m:u==="in_room"?m.filter(l=>l.attendance.in_room):u==="excluded"?m.filter(l=>l.attendance.commercial_excluded):m.filter(l=>l.attendance.classification===u)}function ji(m,u){return u?m:m.map(l=>l.attendance.in_room?{...l,attendance:{...l.attendance,current_state:"unverified",in_room:!1}}:l)}function Ui(m){const u=Math.floor(Math.max(0,m));if(u<60)return`${u} s`;const l=Math.floor(u/60);if(l<60)return`${l} min`;const L=Math.floor(l/60),C=l%60;return C?`${L} h ${C}`:`${L} h`}function zi(m){return m==="scheduled"?"upcoming":m==="live"?"live":"done"}function Oi(m,u="done"){return u==="upcoming"?"En attente du direct":{participant:"Participant",brief:"Passage bref",absent:"Non détecté",unverified:"à vérifier"}[m]}function js(m,u="done"){return u==="upcoming"?null:{in_room:"En salle maintenant",left:"Sorti de la salle",stale:"Signal interrompu",not_observed:u==="live"?"Pas encore en salle":"Aucune entrée détectée",unverified:"Ãtat indisponible"}[m]}function Ni(m){return m?{host:"Hôte",team:"Ãquipe WiiM",revoked:"Accès révoqué",manual_replay:"Ajout replay manuel"}[m]:null}function Fi(m,u="done"){return m.evidence_source==="unavailable"?"Présence non mesurable pour cet événement":m.evidence_finalized?"Présence certifiée, mesurée dans la salle WiiM Meet":u==="upcoming"?"La présence sera mesurée automatiquement dans la salle":"Mesure automatique de la présence en cours"}function Yt(m){return typeof m=="string"&&m.trim()?m.trim():null}function Lt(m){const u=m.utm?.last,l=Yt(u?.campaign),L=Yt(u?.source)?.toLowerCase()??"",C=Yt(u?.medium)?.toLowerCase()??"",N=`${L} ${C}`;return m.registration_source==="manual_replay"?{campaign:l,channel:"Ajout replay manuel",channelKey:"other"}:N.includes("whatsapp")?{campaign:l,channel:"WhatsApp",channelKey:"whatsapp"}:L==="calls"&&C==="sms"?{campaign:l,channel:"SMS post-appel",channelKey:"sms"}:N.includes("email")?{campaign:l,channel:"Email",channelKey:"email"}:N.includes("sms")?{campaign:l,channel:"SMS",channelKey:"sms"}:!L&&!C&&!l?{campaign:l,channel:"Direct / non attribué",channelKey:"direct"}:!L&&!C?{campaign:l,channel:"Canal non renseigné",channelKey:"other"}:{campaign:l,channel:`Autre · ${L||C}`,channelKey:"other"}}function Ii(m){const u={withCampaign:0,withoutCampaign:0,channels:{whatsapp:0,email:0,sms:0,direct:0,other:0},total:0};for(const l of m){if(l.revoked_at)continue;const L=Lt(l);u.total+=1,L.campaign?u.withCampaign+=1:u.withoutCampaign+=1,u.channels[L.channelKey]+=1}return u}function es(m){return m.status==="cancelled"?"blocked_cancelled":m.replay_sharing==="off"?"blocked_sharing":m.status!=="ended"?"waiting_end":m.attendance_tracking_mode==="personal_jitsi"&&m.attendance_tracking_version===1&&m.attendance_tracking_status!=="finalized"?"waiting_attendance":"ready"}function Bi(m){return es(m)==="ready"}function Xt(m){if(!m.replay_candidate_url||m.replay_url)return{status:"none",message:""};const u=es(m);return u==="blocked_cancelled"?{status:"blocked_cancelled",message:"Replay reçu, mais cet événement est annulé. Il ne sera pas publié."}:u==="blocked_sharing"?{status:"blocked_sharing",message:"Replay reçu. Autorisez la diffusion pour pouvoir le publier et envoyer lâemail replay."}:u==="waiting_end"?{status:"waiting_end",message:"Replay reçu. Il pourra être publié après la fin du direct."}:u==="waiting_attendance"?{status:"waiting_attendance",message:"Replay reçu. Il pourra être publié dès que les présences seront finalisées."}:{status:"ready",message:"Replay reçu. Vérifiez la vidéo, puis « Publier maintenant » : lâemail replay part aux inscrits."}}function mt(m){return(m.replay_emails_scheduled_count??0)>0?"scheduled":(m.replay_emails_sent_count??0)>0?"sent":"not_scheduled"}const Hi={class:"flex flex-wrap items-center justify-between gap-3 mb-1"},Wi={class:"grid sm:grid-cols-2 gap-3"},Ji={class:"sm:col-span-2 flex min-h-11 cursor-pointer items-start gap-2.5 text-sm"},Ki={class:"sm:col-span-2 flex min-h-11 cursor-pointer items-start gap-2.5 text-sm"},Gi={key:1,class:"mb-4 inline-flex min-h-11 cursor-pointer items-center gap-2 text-sm text-grey-text"}
vendor: 6,003 bytes, line 1
1,Qi={key:0,class:"text-xs uppercase tracking-[0.18em] font-semibold text-grey-text mt-8 mb-3"},Yi={class:"px-5 py-4"},Xi={class:"flex flex-wrap items-start gap-x-4 gap-y-2"},Zi={key:0,class:"relative flex h-2 w-2"},er={class:"min-w-0 flex-1"},tr={class:"font-semibold text-dark dark:text-white truncate"},sr={class:"text-xs text-grey-text mt-0.5"},ar={class:"flex w-full flex-wrap items-center justify-end gap-2 sm:w-auto sm:shrink-0"},nr=["title"],ir=["title"],rr={key:0,class:"flex flex-wrap items-center gap-2 mt-2"},lr={key:0,class:"inline-flex items-center rounded-full bg-amber-50 px-2 py-1 text-[11px] font-medium text-amber-700 dark:bg-amber-500/15 dark:text-amber-300",title:"Ãvénement interne : invisible sur le site (bandeau, agenda, replays, Flo)"},or={key:1,class:"inline-flex items-center rounded-full bg-gray-100 px-2 py-1 text-[11px] font-medium text-grey-text dark:bg-gray-700/60"},dr=["href"],ur=["title"],cr={key:3,class:"inline-flex items-center gap-1 px-2 py-1 rounded-full bg-amber-50 text-[11px] font-medium text-amber-700 dark:bg-amber-500/15 dark:text-amber-300",title:"Synthèse générée, validation humaine requise"},mr={key:4,class:"inline-flex items-center gap-1 rounded-full bg-amber-50 px-2 py-1 text-[11px] font-medium text-amber-700 dark:bg-amber-500/15 dark:text-amber-300",title:"Synthèse validée, mais masquée tant que la diffusion du replay est bloquée"},pr={key:5,class:"inline-flex items-center gap-1 px-2 py-1 rounded-full border border-gray-200 dark:border-gray-700 text-[11px] font-medium text-primary-600 dark:text-primary-300",title:"Synthèse publiée sur la page replay"},fr={class:"mt-3 flex flex-wrap gap-x-6 gap-y-2 text-xs","aria-label":"Ãtat de traitement du webinaire"},br={class:"flex min-w-0 items-center gap-1.5"},yr={class:"font-medium text-dark dark:text-white"},gr={class:"flex min-w-0 items-center gap-1.5"},xr={class:"font-medium text-dark dark:text-white"},_r={class:"flex min-w-0 items-center gap-1.5"},hr={class:"font-medium text-dark dark:text-white"},kr={key:0,class:"flex min-w-0 items-center gap-1.5"},wr={key:1,class:"flex min-w-0 items-center gap-1.5"},vr={class:"font-medium text-dark dark:text-white"},Cr={key:2,class:"flex min-w-0 items-center gap-1.5"},$r={class:"font-medium text-dark dark:text-white"},Lr={key:1,class:"flex flex-wrap items-center gap-2 mt-3"},Sr={key:2,class:"mt-2 text-xs leading-5 text-amber-700 dark:text-amber-300",role:"alert"},Rr=["aria-label"],Ar=["id","aria-expanded","aria-controls","onClick"],Er={key:0,class:"opacity-60"},Pr={key:1,class:"opacity-60"},Tr={key:2,class:"opacity-60"},Vr=["id","aria-labelledby"],qr={class:"grid sm:grid-cols-2 gap-3"},Dr={key:0,class:"mt-3 flex items-start gap-1.5 text-xs text-grey-text",role:"status"},Mr={key:1,class:"text-xs text-amber-600 dark:text-amber-400 mt-3 flex items-start gap-1.5"},jr={class:"mt-4 flex min-h-11 cursor-pointer items-start gap-2.5 text-sm"},Ur=["onUpdate:modelValue"],zr={class:"mt-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4"},Or={class:"grid grid-cols-2 sm:grid-cols-4 gap-2"},Nr={class:"inline-flex items-center gap-2 text-sm text-dark dark:text-white cursor-pointer"},Fr=["onUpdate:modelValue"],Ir={class:"inline-flex items-center gap-2 text-sm text-dark dark:text-white cursor-pointer"},Br=["onUpdate:modelValue"],Hr={class:"inline-flex items-center gap-2 text-sm text-dark dark:text-white cursor-pointer"},Wr=["onUpdate:modelValue"],Jr={class:"inline-flex items-center gap-2 text-sm text-dark dark:text-white cursor-pointer"},Kr=["onUpdate:modelValue"],Gr={class:"flex flex-wrap gap-2 mt-4"},Qr=["id"],Yr=["id","aria-labelledby"],Xr={key:0,class:"mb-4"},Zr={class:"flex flex-wrap items-center gap-2"},el={key:0,class:"mt-3 rounded-xl border border-gray-200 dark:border-gray-700 p-4"},tl={class:"relative max-w-md mb-3"},sl={key:0,class:"absolute z-10 mt-1 w-full rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 shadow-lg overflow-hidden"},al=["onClick"],nl={class:"truncate"},il={class:"font-medium text-dark dark:text-white"},rl={class:"text-grey-text"},ll={class:"grid sm:grid-cols-3 gap-3"},ol={key:1,class:"mb-4 flex max-w-3xl flex-col gap-3 rounded-xl bg-amber-50 px-4 py-3 text-sm leading-5 text-amber-800 sm:flex-row sm:items-center sm:justify-between dark:bg-amber-500/15 dark:text-amber-200",role:"alert"},dl={class:"flex min-w-0 items-start gap-2"},ul={key:0},cl={key:1},ml={key:2},pl={key:0,class:"mb-4 flex flex-wrap gap-2",role:"group","aria-label":"Filtrer les inscrits par participation"},fl=["aria-pressed","onClick"],bl={class:"rounded-full bg-gray-100 px-2 py-0.5 text-xs tabular-nums text-dark dark:bg-gray-700 dark:text-white"},yl={key:1,class:"mb-3 max-w-3xl text-xs leading-5 text-grey-text"},gl={key:2,class:"mb-3 max-w-3xl text-xs leading-5 text-grey-text"},xl={key:3,class:"mb-3 max-w-3xl text-xs leading-5 text-grey-text"},_l={class:"mb-4 rounded-xl bg-gray-50 p-3 dark:bg-white/[0.04]"},hl={class:"mt-2 grid gap-2 text-xs text-grey-text sm:grid-cols-2"},kl={key:4,class:"overflow-x-auto",role:"region","aria-label":"Liste détaillée des inscriptions et de leur origine",tabindex:"0"},wl={class:"w-full min-w-[1480px] text-sm"},vl={class:"max-w-[260px] py-3 pe-4"},Cl={class:"font-medium text-dark dark:text-white"},$l={class:"mt-0.5 break-all text-xs text-grey-text"},Ll={class:"mt-1 text-xs text-grey-text"},Sl=["title"],Rl={class:"max-w-[220px] py-3 pe-4 text-xs"},Al={key:0,class:"font-medium text-dark dark:text-white"},El={key:1,class:"text-grey-text"},Pl={class:"mt-1 text-grey-text"},Tl={class:"py-3 pe-4"},Vl={class:"flex max-w-[250px] flex-wrap gap-1.5"},ql={class:"mt-1.5 max-w-[250px] text-[11px] leading-4 text-grey-text"},Dl={class:"py-3 pe-4 text-grey-text"},Ml={key:0,class:"font-medium text-dark dark:text-white"},jl={class:"font-medium text-dark dark:text-white"},Ul={class:"mt-0.5 text-xs"},zl={class:"py-3 pe-4 text-xs text-grey-text"},Ol={class:"py-3 pe-4 text-xs text-grey-text"},Nl={class:"py-3 pe-4 text-xs text-grey-text"}
vendor: 5,746 bytes, line 1
1,Fl={class:"py-3 pe-4 text-xs text-grey-text"},Il={key:1},Bl={class:"py-3 pe-4"},Hl={key:0,class:"mt-1.5 block text-xs font-medium text-amber-800 dark:text-amber-200"},Wl={class:"py-3 text-right"},Jl={class:"flex flex-wrap items-center justify-end gap-1"},Kl=["onClick"],Gl=["onClick"],Ql=["onClick"],Yl={key:5,class:"rounded-xl bg-gray-50 px-4 py-6 text-center text-sm text-grey-text dark:bg-gray-800/60",role:"status"},Xl={key:1,class:"text-center py-6 text-grey-text text-sm"},Zl={key:2,class:"flex flex-wrap gap-2 mt-3"},eo={key:3,class:"text-sm text-grey-text",role:"status"},to=["id","aria-labelledby"],so={class:"mb-4 flex flex-wrap items-end gap-2"},ao={class:"relative max-w-md flex-1"},no={key:0,class:"absolute z-10 mt-1 w-full rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 shadow-lg overflow-hidden"},io=["onClick"],ro={class:"truncate"},lo={class:"font-medium text-dark dark:text-white"},oo={class:"text-grey-text"},uo={class:"flex items-end gap-2"},co=["value"],mo={key:0},po={key:0,class:"overflow-x-auto"},fo={class:"w-full min-w-[760px] text-sm"},bo={class:"py-3 pe-4"},yo={class:"py-3 pe-4 text-grey-text"},go={class:"py-3 pe-4"},xo=["value","aria-label","onChange"],_o=["value"],ho={class:"py-3 pe-4 text-xs text-grey-text"},ko={class:"py-3 pe-4"},wo={class:"inline-flex items-center gap-2 text-xs text-grey-text"},vo=["checked","aria-label","onChange"],Co={key:0},$o={class:"py-3 pe-4"},Lo={class:"py-3 text-right"},So=["onClick"],Ro={key:1,class:"text-center py-6 text-grey-text text-sm"},Ao={key:1,class:"text-sm text-grey-text"},Eo=["id","aria-labelledby"],Po={class:"mb-4 rounded-xl border border-gray-200 p-4 dark:border-gray-700"},To={class:"mb-2 flex flex-wrap items-center gap-2"},Vo={key:0,class:"rounded-full bg-primary-100 px-2 py-0.5 text-[11px] font-semibold text-primary-700 dark:bg-primary-950/40 dark:text-primary-300"},qo={class:"space-y-2"},Do={class:"flex items-center gap-2 text-sm font-medium text-dark dark:text-white"},Mo=["onUpdate:modelValue","aria-label"],jo={class:"text-xs text-grey-text"},Uo={class:"mt-1 text-xs text-grey-text"},zo={key:0,class:"mt-1 text-xs text-grey-text"},Oo={class:"mt-3 flex flex-wrap items-center gap-2"},No={key:1,class:"text-xs text-grey-text"},Fo={key:0},Io={class:"mb-3 grid gap-2 sm:grid-cols-3"},Bo=["value"],Ho={class:"mb-2 text-xs text-grey-text"},Wo={key:0,class:"overflow-x-auto"},Jo={class:"w-full min-w-[900px] text-sm"},Ko={class:"py-3 pe-4 font-medium text-dark dark:text-white"},Go={class:"mt-1 max-w-[360px] text-xs font-normal text-grey-text"},Qo={class:"rounded-xl bg-gray-50 p-3 leading-5 dark:bg-gray-800/60"},Yo={class:"mt-2 space-y-1"},Xo={key:0},Zo={class:"inline"},ed={key:1},td={class:"inline"},sd={key:2},ad={class:"inline"},nd={class:"inline"},id={key:3},rd={key:4},ld={key:5},od={class:"inline"},dd={key:6},ud={class:"inline"},cd={key:7},md={class:"inline"},pd={key:0},fd={class:"inline"},bd={key:8},yd={class:"inline"},gd={class:"py-3 pe-4 text-grey-text"},xd={class:"py-3 pe-4 text-xs text-grey-text"},_d={class:"py-3 pe-4"},hd=["title"],kd={class:"py-3"},wd={key:1,class:"py-6 text-center text-sm text-grey-text"},vd={key:2,class:"mt-3 flex items-center justify-end gap-2"},Cd={class:"text-xs text-grey-text"},$d={key:1,class:"text-center py-6 text-grey-text text-sm"},Ld={key:1,class:"text-sm text-grey-text"},Sd=["id","aria-labelledby"],Rd={class:"grid gap-x-6 gap-y-3 sm:grid-cols-3","aria-label":"Ãtat du traitement"},Ad={class:"mt-0.5 text-sm font-semibold text-dark dark:text-white"},Ed={key:0,class:"mt-1 text-xs text-grey-text"},Pd={class:"mt-0.5 text-sm font-semibold text-dark dark:text-white"},Td={class:"mt-0.5 text-sm font-semibold text-dark dark:text-white"},Vd={key:0,class:"mt-4 rounded-xl bg-amber-50 p-3 text-sm text-amber-800 dark:bg-amber-500/10 dark:text-amber-200",role:"status"},qd={class:"mt-1.5 space-y-1"},Dd={class:"font-medium"},Md={key:1,class:"mt-4 rounded-xl bg-amber-50 p-3 text-sm text-amber-800 dark:bg-amber-500/10 dark:text-amber-200",role:"alert"},jd=["checked","disabled","onChange"],Ud={key:0,class:"text-xs text-grey-text"},zd={key:1,class:"text-xs text-grey-text"},Od=["checked","disabled","onChange"],Nd={class:"flex flex-wrap items-center gap-2 mt-4"},Fd={key:1,class:"max-w-xl text-xs leading-5 text-amber-700 dark:text-amber-300",role:"alert"},Id={key:4,class:"mt-4 rounded-xl bg-gray-50 p-3 dark:bg-gray-800/60","aria-label":"Observations fournisseur non attribuées"},Bd={class:"grid gap-4 sm:grid-cols-2"},Hd={class:"text-xs font-semibold text-dark dark:text-white"},Wd={class:"mt-2 flex flex-wrap gap-1.5"},Jd={key:0,class:"text-xs text-grey-text"},Kd={class:"text-xs font-semibold text-dark dark:text-white"},Gd={class:"mt-2 flex flex-wrap gap-1.5"},Qd={key:5,class:"mt-3 text-xs leading-5 text-amber-700 dark:text-amber-300",role:"status"},Yd={key:6,class:"mt-3 text-xs leading-5 text-amber-700 dark:text-amber-300",role:"alert"},Xd={key:7,class:"mt-3 text-xs leading-5 text-amber-700 dark:text-amber-300",role:"alert"},Zd={class:"text-xs text-grey-text mt-3 flex items-start gap-1.5"},eu={key:0},tu={key:1},su={key:2},au={key:8,class:"mt-4 border-t border-gray-100 pt-4 dark:border-gray-800","aria-label":"Synthèse générée"},nu={class:"flex flex-wrap items-center justify-between gap-2"},iu={class:"text-sm font-semibold text-dark dark:text-white"},ru={class:"text-xs text-grey-text"},lu={key:0,class:"mt-2 max-w-3xl whitespace-pre-wrap text-sm leading-6 text-grey-text"},ou={key:1,class:"mt-3 list-disc space-y-1 ps-5 text-sm text-grey-text"},du={key:9,class:"mt-5 border-t border-gray-100 pt-4 dark:border-gray-800","aria-label":"Observations fournisseur non attribuées et transcript"},uu={class:"flex flex-wrap items-start justify-between gap-3"}
1,cu={key:0,class:"mt-3 rounded-xl bg-amber-50 p-3 text-sm text-amber-800 dark:bg-amber-500/10 dark:text-amber-200",role:"alert"},mu={key:1,class:"mt-3 text-sm text-grey-text",role:"status"},pu={key:2,class:"mt-4 overflow-x-auto"},fu={class:"w-full min-w-[680px] text-sm"},bu={class:"py-3 pe-4 font-medium text-dark dark:text-white"},yu={class:"py-3 pe-4 text-grey-text"},gu={class:"py-3 pe-4 text-grey-text"},xu={class:"py-3 pe-4 text-grey-text"},_u={class:"py-3 text-grey-text"},hu={key:3,class:"mt-3 text-sm text-grey-text"},ku=["onToggle"],wu={class:"flex min-h-11 cursor-pointer items-center justify-between gap-3 px-4 py-3 text-sm font-semibold text-dark dark:text-white"},vu={class:"text-xs font-normal text-grey-text"},Cu={key:0,class:"max-h-[32rem] space-y-3 overflow-y-auto border-t border-gray-100 px-4 py-4 dark:border-gray-800"},$u={class:"text-xs text-grey-text"},Lu={class:"text-xs font-semibold text-dark dark:text-white"},Su={class:"mt-0.5 whitespace-pre-wrap text-sm leading-6 text-grey-text"},Ru={key:5,class:"mt-4 text-sm text-grey-text"},Au=["id","aria-labelledby"],Eu={class:"mb-4"},Pu=["value","disabled","onChange"],Tu={class:"grid sm:grid-cols-2 gap-3"},Vu=["id"],qu=["disabled","onChange"],Du={key:0,role:"status","aria-live":"polite",class:"mt-1.5 text-xs text-grey-text"},Mu={key:1,role:"status","aria-live":"polite",class:"mt-1.5 text-xs text-success"},ju={key:2,class:"mt-1.5 text-xs text-amber-600 dark:text-amber-400"},Uu={key:1,class:"mt-3 text-xs text-grey-text"},zu={key:2,class:"mt-3 rounded-xl bg-gray-50 p-3 text-xs leading-5 text-grey-text dark:bg-gray-800/60"},Ou={key:3,class:"mt-3 rounded-xl bg-gray-50 p-3 text-xs leading-5 text-grey-text dark:bg-gray-800/60"},Nu={key:4,class:"mt-3 rounded-xl bg-gray-50 p-3 text-xs leading-5 text-grey-text dark:bg-gray-800/60"},Fu={class:"flex flex-wrap items-center gap-2 mt-4"},Iu={key:3,class:"text-xs text-grey-text ml-auto"},Bu={key:5,class:"mt-3 text-xs leading-5 text-amber-700 dark:text-amber-300",role:"status"},Hu={key:6,class:"mt-3 text-xs leading-5 text-amber-700 dark:text-amber-300",role:"status"},Wu={key:7,class:"mt-4 text-xs text-grey-text"},Ju={key:8,class:"mt-5 pt-4 border-t border-gray-100 dark:border-gray-800"},Ku={class:"flex flex-wrap items-end gap-2 mt-3"},Gu=["value"],Qu={class:"text-sm text-grey-text mt-1"},Yu={class:"font-semibold text-dark dark:text-white mt-4"},Xu={class:"text-sm text-grey-text mt-1"},Zu={class:"flex max-h-[90vh] w-full max-w-3xl flex-col overflow-hidden rounded-2xl bg-white shadow-2xl dark:bg-ink-800"},ec={class:"flex items-start justify-between gap-3 border-b border-gray-100 p-4 dark:border-white/10"},tc={class:"min-w-0"},sc={class:"truncate text-sm font-semibold text-dark dark:text-white"},ac={key:0,class:"text-xs text-grey-text"},nc={class:"min-h-0 flex-1 overflow-auto p-4"},ic={key:0,class:"text-sm text-grey-text"},rc={key:1,class:"text-sm text-danger"},lc=["srcdoc"],Us=25,kc=Zt({__name:"index",setup(m){const u=Fs(),l=Hn(),L=Mn(),C=jn(),N=[{key:"infos",label:"Infos & statut",icon:"solar:settings-linear"},{key:"inscrits",label:"Inscrits",icon:"solar:users-group-rounded-linear"},{key:"appels",label:"Appels",icon:"solar:phone-calling-rounded-linear"},{key:"emails",label:"Emails",icon:"solar:letter-linear"},{key:"bot",label:"Bot & synthèse",icon:"solar:bot-linear"},{key:"replay",label:"Replay",icon:"solar:videocamera-record-linear"}],H=[{v:"to_call",label:"à appeler"},{v:"called",label:"Appelé"},{v:"voicemail",label:"Répondeur"},{v:"relance",label:"Relancé"},{v:"failed",label:"Ãchec"},{v:"opted_out",label:"Ne plus appeler"}],E=W([]),v=W(!1),P=W(""),S=W(!1),I=Ae(()=>E.value.some(e=>e.is_staging_fixture===!0)),Q=Ae(()=>mi(E.value,S.value)),j=W([]),{isAdmin:R,load:re}=Wn(),ae=_({}),He=_({}),St=_({}),ts=Ae(()=>Object.fromEntries(Object.keys(ae).map(e=>[e,qi(rs(e))]))),xe=_({}),Rt=_({}),We=_({}),ss={},Ee=W([]),Je=_({}),Ke=_({}),Ge=_({}),Qe=_(new Set),z=_({}),pe=_({}),ne=_({}),A=_({title:"",starts_at:"",join_url:"",club_deal_ids:[],description:"",host_emails:"",transcript_enabled:!0,is_internal:!1}),D=_({}),_e=_({}),Pe=_({}),Ye=_({}),Te=_({}),Ve=_({}),fe=_({}),as={},Y=_({}),Hs={eventReminderJ1:"before",eventReminder1h:"before",eventPostEvent:"after"},ft={},Xe=_(new Set),At=_(new Map),Ws=new Set(["eventConfirmation","eventReminderJ1","eventReminder1h","eventLiveNow","eventPostEvent","eventReplay","eventUpdated","eventCancelled","accountInvite"]);function Js(e){return Ws.has(e)}const F=_({open:!1,loading:!1,subject:"",html:"",sentAt:null,error:""});function ns(){F.open=!1}async function Ks(e){F.open=!0,F.loading=!0,F.error="",F.subject="",F.html="",F.sentAt=e.status==="sent"?e.sent_at??null:null;try{const t=await u(`/admin/email-templates/${e.template}/preview`,{method:"POST",body:{scheduled_email_id:e.id}});F.subject=t.subject,F.html=t.html}catch(t){F.error=h(t,"Aperçu indisponible.")}finally{F.loading=!1}}const qe=_(new Set),Et=_(new Map),bt=W(!1),he=W(!1),be=_(new Set),De=_(new Set),Ze=_(new Set),Pt=_(new Map),Tt=_(new Map),Vt=_(new Map),ke=W(!1),X=_({}),yt=new Map,Me=Ti({getEvents:()=>E.value,getOpenTab:e=>X[e],refresh:e=>Ka(e),onFreshnessChange:(e,t)=>
1{St[e]=t}}),Z=_(new Set),et=_(new Set),je=_(new Set),ye=new Map,tt=_(new Set),le=W(Date.now());let qt;const oe=_({}),Ue=_(new Set),gt=_({}),Dt=_(new Set),we=_({}),te=_({}),xt=_({}),ze=_({}),Mt={},st=_({}),at=_({});function ve(e){return be.has(e)}function nt(e){return De.has(e)}const M=W(null),it=W(!1);async function Gs(){if(it.value||!M.value)return;const e=M.value;it.value=!0;try{await e.run(),M.value===e&&(M.value=null)}catch{}finally{it.value=!1}}function Qs(){it.value||(M.value=null)}const Ys=Ae(()=>{const e=Q.value.filter(d=>Qt(d,le.value)).sort((d,b)=>new Date(d.starts_at).getTime()-new Date(b.starts_at).getTime()),t=Q.value.filter(d=>d.status==="live"||d.status==="scheduled"&&!Qt(d,le.value)).sort((d,b)=>new Date(d.starts_at).getTime()-new Date(b.starts_at).getTime()),i=Q.value.filter(d=>!["scheduled","live"].includes(d.status)).sort((d,b)=>new Date(b.starts_at).getTime()-new Date(d.starts_at).getTime());return[{titre:"à clôturer",events:e},{titre:"à venir & en direct",events:t},{titre:"Passés & annulés",events:i}]});function Xs(e,t){if(X[e.id]===t){X[e.id]="";return}X[e.id]=t,t==="infos"&&(D[e.id]={title:e.title,starts_at:La(e.starts_at),join_url:e.join_url??"",club_deal_ids:It(e),description:e.description??"",host_emails:e.host_emails??"",is_internal:e.is_internal===!0,guest_chat:e.guest_chat??!0,guest_raise_hand:e.guest_raise_hand??!0,guest_camera:e.guest_camera??!0,guest_mic:e.guest_mic??!0}),t==="inscrits"&&Me.refreshNow(e.id),t==="appels"&&(xe[e.id]||Fe(e.id),Ee.value.length||Ts()),t==="emails"&&!_e[e.id]&&ge(e.id),t==="emails"&&!Y[e.id]&&Fa(e.id),t==="bot"&&["ended","cancelled"].includes(e.status)&&oe[e.id]===void 0&&Ie(e.id),t==="replay"&&!Ee.value.length&&Ts()}function Ce(e,t){return`event-${e}-tab-${t}`}function $e(e,t){return`event-${e}-panel-${t}`}const Zs=()=>window.location.origin;function J(e){return e?new Date(e).toLocaleString("fr-FR",{dateStyle:"medium",timeStyle:"short"}):""}function is(e){return Mi(rs(e),He[e]??"all")}function Le(e){return Ii(ae[e]??[])}function rs(e){const i=E.value.find(d=>d.id===e)?.status!=="live"||St[e]!=="stale";return ji(ae[e]??[],i)}function ls(e){return Pi(ae[e],St[e])}function ea(e,t){const i=ts.value[e];return i?{all:i.total,participant:i.participant,brief:i.brief,absent:i.absent,unverified:i.unverified,in_room:i.inRoom,excluded:i.excluded}[t]:0}function ee(e){return zi(e.status)}function os(e){const t=ts.value[e];return t?Di(t):null}function ta(e){return{participant:"bg-emerald-50 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300",brief:"bg-amber-50 text-amber-800 dark:bg-amber-500/15 dark:text-amber-200",absent:"bg-gray-100 text-grey-text dark:bg-gray-700/60",unverified:"bg-amber-50 text-amber-800 dark:bg-amber-500/15 dark:text-amber-200"}[e]}function sa(e){return e==="in_room"?"bg-emerald-50 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300":e==="unverified"?"bg-amber-50 text-amber-800 dark:bg-amber-500/15 dark:text-amber-200":"bg-gray-100 text-grey-text dark:bg-gray-700/60"}function ds(e){return e?{participant:"Participant",brief:"Passage bref",absent:"Non détecté",unverified:"à vérifier",neutral:"Neutre"}[e]:null}function us(e){return e==="manual_replay"?"Liste replay ajoutée manuellement":e==="standard"?"Inscription standard":null}function aa(e){return{personal_jitsi_v1:"WiiM Meet",unavailable:"Indisponible",manual_replay:"Ajout replay manuel. Aucune preuve de présence"}[e]}function _t(e){return e.registrations_total_count??e.registrations?.[0]?.count??0}function jt(e){return e.registrations_active_count??_t(e)}function ht(e){return[...new Set((e??"").split(",").map(t=>t.trim().toLowerCase()).filter(Boolean))]}function rt(e){return ht(e.host_emails)}function Ut(e){const t=D[e.id]?.host_emails;return t!==void 0&&ht(t).join(",")!==rt(e).join(",")}function na(e){return cs(e)}function cs(e){return he.value?"Enregistrement en cours. Attendez sa confirmation avant lâenvoi.":qe.has(e.id)?"Envoi des invitations en cours.":Ut(e)?"Enregistrez dâabord la liste dâhôtes modifiée.":rt(e).length?"Renvoie une confirmation du rôle dâhôte aux adresses enregistrées.":"Ajoutez au moins un hôte avec un compte équipe."}function ms(e){return e.emails_scheduled_count??0}function ps(e){return e.emails_sent_count??0}function ia(e){return{scheduled:"Programmé",live:"En direct",ended:"Terminé",cancelled:"Annulé"}[e]??e}function zt(e){return{not_requested:"Non demandé",starting:"Connexion en cours",connected:"Connecté",stopped:"Arrêté",failed:"Ãchec",unknown:"à vérifier"}
1[e??"not_requested"]??"à vérifier"}function fs(e){return{disabled:"Désactivée",idle:"En attente",capturing:"Capture en cours",processing:"Traitement en cours",ready:"Prête",empty:"Aucun contenu",failed:"Ãchec"}[e??"idle"]??"à vérifier"}function Ot(e,t){return xi(e,t)}function bs(e){return typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text??""):String(e??"")}function ys(e){const t=e.transcript_summary;return t?typeof t.summary_md=="string"&&t.summary_md.trim()?!0:Array.isArray(t.key_points)&&t.key_points.some(i=>bs(i).trim()):!1}function Nt(e){return Bs(e,le.value)}function gs(e){return[e.bot_last_error?{label:"Bot",message:e.bot_last_error}:null,e.transcript_last_error?{label:"Transcript",message:e.transcript_last_error}:null,e.summary_last_error?{label:"Synthèse",message:e.summary_last_error}:null,e.attendance_tracking_status==="failed"&&e.attendance_tracking_error?{label:"Présence",message:e.attendance_tracking_error}:null,(()=>{const t=Ei(e,le.value);return t?{label:"Enregistrement",message:t}:null})()].filter(t=>t!==null)}function xs(e){const t=oe[e.id];return t?Ci(t,t.provider_ended_at??e.ended_at??null):[]}function _s(e){return!e||Number.isNaN(Date.parse(e))?"":new Date(e).toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit"})}function ra(e){return e.status==="live"||Qt(e,le.value)}function hs(e){return yi(e.starts_at,le.value)}function Ft(e){const t=Date.parse(e.starts_at);return Number.isFinite(t)&&le.value>=t}function la(e){return e.join_url?hs(e)?"":"La préparation ouvre 15 minutes avant le webinaire":"Renseignez dâabord le lien visio dans Infos & statut"}function oa(e){return e.join_url?Ft(e)?"":"Disponible à lâheure prévue du webinaire":"Renseignez dâabord le lien visio dans Infos & statut"}function da(e){return e.transcript_enabled===!1?"Passer en direct sans transcription":Ft(e)?"Passer en direct":"Préparer le direct"}function ua(e){return wi(e,le.value,je.has(e.id))}function lt(e){return hi(e,Z.has(e.id)||et.has(e.id))}function Se(e){return _i(e,Z.has(e.id)||et.has(e.id))}function Oe(e){return pt(e.replay_sharing)?"Autorisez dâabord la diffusion du replay":e.summary_generated_at?!e.summary_version_id||!e.transcript_summary?"La version à relire nâest pas chargée. Actualisez le cockpit":ys(e)?"":"La synthèse chargée ne contient aucun contenu à valider":"Actualisez la récupération pour obtenir une version publiable"}function kt(e){const t=Wt[e.id]??e.bot_last_checked_at;return t?J(t):""}function ca(e){return!!e.meet_session_id||!!e.meet_meeting_id||["capturing","processing","ready"].includes(e.transcript_status??"")}function ma(e){return pi(e,R.value)}function pa(e){return{scheduled:"bg-primary-50 dark:bg-primary-600/20 text-primary-600 dark:text-primary-300",live:"bg-emerald-50 dark:bg-emerald-500/15 text-emerald-600 dark:text-emerald-400",ended:"bg-gray-100 dark:bg-gray-700/60 text-grey-text",cancelled:"bg-danger/10 text-danger"}[e]??"bg-gray-100 text-grey-text"}function fa(e){const t=j.value.find(i=>i.id===e);return t?`${t.reference} · ${t.title}`:e.slice(0,8)}function ba(e){return j.value.find(t=>t.id===e)?.reference??e.slice(0,8)}function It(e){return Bn(e)}const ks={eventInvitation:"Invitation",eventConfirmation:"Confirmation",eventReminderJ1:"Rappel J-1",eventReminder1h:"Rappel H-1",eventLiveNow:"En direct maintenant",eventPostEvent:"Merci après le direct (sans replay)",eventReplay:"Replay disponible",eventUpdated:"Nouvelle date",eventCancelled:"Annulation",eventHostBriefing:"Briefing hôte",eventHostInvitation:"Invitation hôte",eventTeamAlert:"Alerte inscription (équipe)",preSubscription:"Avant-première souscription",subscriptionOpened:"Souscription ouverte",priorityDeadline:"Accès prioritaire"},ya={eventInvitation:"Invite un contact dâune liste à réserver sa place au webinaire.",eventConfirmation:"Confirme lâinscription et donne accès à la page personnelle du webinaire.",eventReminderJ1:"Rappelle le webinaire la veille avec la date et le lien personnel.",eventReminder1h:"Rappelle le webinaire une heure avant le début.",eventLiveNow:"Prévient que le direct est ouvert et inv
1ite le destinataire à rejoindre sa page personnelle.",eventPostEvent:"Envoyé uniquement aux participants confirmés. Remercie et annonce un replay à venir. Cet email ne contient pas encore le replay.",eventReplay:"Envoyé après publication du replay. Le bouton ouvre la page personnelle contenant le replay.",eventUpdated:"Informe le destinataire dâune nouvelle date.",eventCancelled:"Informe le destinataire de lâannulation du webinaire.",eventHostBriefing:"Rappelle à lâhôte les informations opérationnelles avant le direct.",eventHostInvitation:"Confirme le rôle dâhôte et indique comment ouvrir le cockpit avant le direct.",eventTeamAlert:"Alerte lâéquipe dâune nouvelle inscription."};function ot(e){return ks[e]??e}function ga(e){return ya[e]??"Email lié à la séquence de ce webinaire."}function xa(e){return{pending:"à envoyer",processing:"En cours",sent:"Accepté par Resend",failed:"Ãchec",cancelled:"Annulé"}[e]??e}function _a(e){return{pending:"bg-primary-50 dark:bg-primary-600/20 text-primary-600 dark:text-primary-300",processing:"bg-amber-50 text-amber-700 dark:bg-amber-500/15 dark:text-amber-300",sent:"bg-emerald-50 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300",failed:"bg-danger/10 text-danger",cancelled:"bg-gray-100 text-grey-text dark:bg-gray-700/60"}[e]??"bg-gray-100 text-grey-text"}function ha(){return Object.keys(ks).sort((e,t)=>ot(e).localeCompare(ot(t),"fr"))}function ka(e){return!!(Ye[e]??"").trim()||(Te[e]??"all")!=="all"||(Ve[e]??"all")!=="all"}function wt(e){return Math.max(1,Math.ceil((Pe[e]??0)/Us))}function dt(e){return Math.min(Math.max(1,fe[e]??1),wt(e))}function ws(e){return!!(z[e]?.replay_url.trim()||z[e]?.deck_path.trim())}function ie(e){return!!e.replay_url?.trim()}function Bt(e){return!e.deck_migration_required&&!!e.deck_path?.trim()}function Ne(e){return ie(e)||Bt(e)}function se(e){return Bi(e)}function vs(e){const t=!Ne(e)||de(e),i=ie(e)&&de(e);return t&&se(e)&&!!z[e.id]?.replay_url.trim()&&!i}function de(e){const t=z[e.id];if(!t)return!1;const i=pe[e.id]===!0&&t.replay_url.trim()!==(e.replay_url?.trim()??""),d=ne[e.id]===!0&&t.deck_path.trim()!==(e.deck_path?.trim()??"");return i||d}function wa(e){return e.replay_candidate_url&&!e.replay_url?Xt(e).status==="ready"?"Publier maintenant":"Publication possible après la finalisation":vs(e)?Ne(e)?"Enregistrer et envoyer le replay":"Envoyer le replay aux inscrits":Ne(e)&&de(e)?"Enregistrer les modifications":se(e)?z[e.id]?.replay_url.trim()?"Envoyer le replay aux inscrits":"Enregistrer la présentation":z[e.id]?.replay_url.trim()?"Enregistrer le replay":"Enregistrer la présentation"}function Cs(e){return`replay-candidate-state-${e}`}function va(e){return Xt(e).message}function Ca(e){const t=Xt(e).status;return t!=="none"&&t!=="ready"}function $a(e){const t=es(e);if(t==="blocked_cancelled")return"Replay enregistré, mais événement annulé. Aucune diffusion ne partira.";if(t==="blocked_sharing")return"Replay enregistré. Autorisez la diffusion avant de le publier ou de lâenvoyer.";if(t==="waiting_end")return"Replay enregistré. Il pourra être publié après la fin du direct.";if(t==="waiting_attendance")return"Replay enregistré. Publication en attente de la finalisation des présences.";const i=mt(e);return i==="sent"?"Replay en ligne. Au moins un email replay a été envoyé.":i==="scheduled"?"Replay en ligne. Lâemail replay est programmé.":"Replay en ligne. Aucun email replay nâest encore programmé."}function La(e){const t=new Date(e),i=d=>String(d).padStart(2,"0");return`${t.getFullYear()}-${i(t.getMonth()+1)}-${i(t.getDate())}T${i(t.getHours())}:${i(t.getMinutes())}`}async function q(e={}){try{const[t,i]=await Promise.all([u("/admin/events"),u("/admin/club-deals").catch(()=>[])]);E.value=t,j.value=i,v.value=!0,P.value="";for(const d of E.value){d.bot_status&&(ue[d.id]=d.bot_status),d.status!=="scheduled"&&(Z.delete(d.id),je.delete(d.id),ye.delete(d.id)),["scheduled","live"].includes(d.status)||(Re[d.id]="");const b=d.deck_migration_required?"":d.deck_path??"",x=!d.replay_url&&!!d.replay_candidate_url,k=d.replay_url??d.replay_candidate_url??"";z[d.id]?(pe[d.id]||(z[d.id].replay_url=k),ne[d.id]||(z[d.id].deck_path=b)):z[d.id]={replay_url:k,deck_path:b},(pe[d.id]==null||!pe[d.id]&&x)&&(pe[d.id]=x),ne[d.id]==null&&(ne[d.id]=!1)}if(e.resumePolling!==!1)for(const d of E.value)ki(d)?(Z.add(d.id),Ls(d.id)):Gt(d
1)&&Kt(d.id)}catch(t){const i=h(t,"Chargement impossible.");P.value=i,l.error(i)}}async function Sa(){try{await re()}catch(e){l.error(h(e,"Impossible de vérifier le droit de suppression."))}}Ns(async()=>{qt=Is(()=>{le.value=Date.now()},3e4),Me.start(),await Promise.all([q(),Sa()])});async function Ra(){bt.value=!0;try{const e=ht(A.host_emails).length;await u("/admin/events",{method:"POST",body:{title:A.title,starts_at:new Date(A.starts_at).toISOString(),join_url:A.join_url||void 0,club_deal_ids:A.club_deal_ids.length?[...A.club_deal_ids]:void 0,description:A.description.trim()||void 0,host_emails:A.host_emails.trim()||void 0,transcript_enabled:A.transcript_enabled,is_internal:A.is_internal}}),l.success(e?`Ãvénement créé. ${e} invitation${e>1?"s":""} hôte programmée${e>1?"s":""}.`:"Ãvénement créé."),Object.assign(A,{title:"",starts_at:"",join_url:"",club_deal_ids:[],description:"",host_emails:"",transcript_enabled:!0,is_internal:!1}),ke.value=!1,await q()}catch(e){l.error(h(e,"Création impossible."))}finally{bt.value=!1}}async function Aa(e){const t=D[e.id];if(!t){l.error("Le formulaire de cet événement nâest plus disponible. Rouvrez lâonglet Infos.");return}he.value=!0;try{const i=new Set(rt(e)),d=ht(t.host_emails).filter(k=>!i.has(k)).length,b={title:t.title,club_deal_ids:[...t.club_deal_ids],description:t.description.trim()||null,host_emails:t.host_emails.trim()||null,is_internal:t.is_internal,guest_chat:t.guest_chat,guest_raise_hand:t.guest_raise_hand,guest_camera:t.guest_camera,guest_mic:t.guest_mic};lt(e)||(b.starts_at=new Date(t.starts_at).toISOString(),b.join_url=t.join_url||null),await u(`/admin/events/${e.id}`,{method:"PATCH",body:b});const x=lt(e)?"Ãvénement mis à jour. La date et le lien de connexion sont restés inchangés.":"Ãvénement mis à jour (emails re-programmés si la date a changé).";l.success(d?`${x} ${d} nouvelle${d>1?"s":""} invitation${d>1?"s":""} hôte programmée${d>1?"s":""}.`:x),X[e.id]="",await q()}catch(i){l.error(h(i,"Mise à jour impossible."))}finally{he.value=!1}}function Ea(e){const t=rt(e);!R.value||he.value||!t.length||Ut(e)||(M.value={title:`Inviter ${t.length} hôte${t.length>1?"s":""} ?`,description:`Un email réel sera envoyé à ${t.join(", ")}. Il confirme le rôle dâhôte et explique comment rejoindre le cockpit en modérateur.`,confirmLabel:"Envoyer les invitations",cancelLabel:"Retour",tone:"warning",icon:"solar:letter-linear",run:()=>Pa(e)})}async function Pa(e){if(qe.has(e.id))return;const t=Et.get(e.id)??crypto.randomUUID();Et.set(e.id,t),qe.add(e.id);try{const i=await u(`/admin/events/${e.id}/hosts/invite`,{method:"POST",body:{request_id:t}});Et.delete(e.id),_e[e.id]&&await ge(e.id),l.success(`${i.recipients} invitation${i.recipients>1?"s":""} hôte programmée${i.recipients>1?"s":""}.`)}catch(i){throw l.error(h(i,"Envoi des invitations hôtes impossible.")),i}finally{qe.delete(e.id)}}async function Ta(e,t){try{await u(`/admin/events/${e}`,{method:"PATCH",body:{replay_sharing:t}}),l.success("Diffusion du replay mise à jour."),await q()}catch(i){l.error(h(i,"Mise à jour impossible."))}}function Va(e){M.value={title:"Préparer et lancer le direct ?",description:"Le bot rejoint dâabord la salle. Le statut « En direct » et la mise en file des emails attendent la confirmation de sa connexion.",confirmLabel:"Préparer le direct",cancelLabel:"Retour",tone:"primary",icon:"solar:play-circle-linear",run:()=>$s(e,!1)}}async function $s(e,t){if(!(Z.has(e.id)&&!t)){t&&ye.delete(e.id),Z.add(e.id),t&&je.delete(e.id);try{const i=await u(`/admin/events/${e.id}/live/start`,{method:"POST",body:{without_transcript:t}});if(i.status==="live"){Z.delete(e.id),l.success(Ms(i)),await q();return}const d=Date.parse(i.scheduled_for??""),b=e.bot_agent_enabled!==!0||i.agent_status==="active";if(Number.isFinite(d)&&d>Date.now()&&i.bot_status==="connected"&&i.transcript_status==="capturing"&&b){Z.delete(e.id),l.success(`Bot connecté. Le direct démarrera automatiquement le ${J(i.scheduled_for??void 0)}.`),await q();return}l.success("Connexion du bot en cours. Le direct démarrera après confirmation."),Ls(e.id)}catch(i){throw Z.delete(e.id),t||je.add(e.id),l.error(h(i,"Le bot nâa pas pu être confirmé. Contrôlez son état ou démarrez explicitement sans transcription.")),i}}}async function Ls(e){if(ye.has(e))return;const t=Symbol(e);ye.set(e,t);const i=Date.now()+9e4;let d="";try{for(;!ct&&Date.now()<i;){if(await new Promise(k=>setTimeout(k,3e3)),ct||ye.get(e)!==t||!Z.has(e))return;try{const k=await u(`/admin/events/${e}/live/start`,{method:"POST",body:{without_transcript:!1}});if(ue[e]=k.bot_status??ue[e]??"starting",k.status==="live"){Z.delete(e),je.delete(e),l.success(Ms(k)),await q();return}if(["failed","unknown"].includes(k.bot_status??"")){d=k.bot_status==="failed"?"Le fournisseur a signalé un échec de connexion du bot.":"Le fournisseur nâa pas confirmé lâétat du bot.";break}}catch(k){d=h(k,"Le contrôle du bot a échoué.");break}}if(ct||ye.get(e)!==t)return;Z.delete(e),je.add(e),await q({resumePolling:!1});const b=E.value.find(k=>k.id===e),x=b?.bot_last_error?.trim();b&&Gt(b)&&Kt(e),l.error(x?`Connexion du bot non confirmée : ${x}
1`:d||"Connexion du bot non confirmée après 90 secondes. Vous pouvez démarrer explicitement sans transcription.")}finally{ye.get(e)===t&&ye.delete(e)}}function Ss(e){M.value={title:"Démarrer sans transcription ?",description:"Le direct sera lancé et les emails dâaccès seront mis en file, mais aucun transcript ni aucune synthèse automatique ne seront produits pour cette session.",confirmLabel:"Démarrer sans transcription",cancelLabel:"Retour",tone:"warning",icon:"solar:danger-triangle-linear",run:()=>$s(e,!0)}}function qa(e){const t=e.status==="live",i=ca(e);M.value={title:t?"Terminer le direct ?":"Clôturer cet événement passé ?",description:t?"Le direct sera clôturé pour tous. Le bot sera arrêté si une session est active, puis les contenus disponibles seront récupérés.":i?"Lâévénement sera marqué comme terminé. Une session bot ou une capture a été détectée, sa finalisation sera reprise.":"Lâévénement sera marqué comme terminé. Comme aucun direct ni bot nâa été détecté, aucun transcript ou synthèse ne sera inventé.",confirmLabel:t?"Terminer et finaliser":"Clôturer lâévénement",cancelLabel:"Retour",tone:"warning",icon:"solar:stop-circle-linear",run:()=>Da(e)}}async function Da(e){if(!tt.has(e.id)){tt.add(e.id);try{const t=await u(`/admin/events/${e.id}/live/end`,{method:"POST"}),i=gi(e.status,t);i.tone==="error"?l.error(i.message):l.success(i.message),await q(),X[e.id]==="bot"&&await Ie(e.id)}catch(t){throw l.error(h(t,"Le direct nâa pas pu être finalisé.")),t}finally{tt.delete(e.id)}}}function Ma(e){M.value={title:"Annuler cet événement ?",description:"Il disparaît du site public et tous les emails programmés sont annulés.",confirmLabel:"Annuler l'événement",cancelLabel:"Retour",run:async()=>{try{await u(`/admin/events/${e}`,{method:"PATCH",body:{status:"cancelled"}}),l.success("Ãvénement annulé."),await q()}catch(t){throw l.error(h(t,"Annulation impossible.")),t}}}}function ja(e){M.value={title:`Supprimer « ${e.title} » ?`,description:fi(e.status),confirmLabel:"Supprimer lâévénement",cancelLabel:"Annuler",run:async()=>{try{await u(`/admin/events/${e.id}`,{method:"DELETE"}),l.success("Ãvénement supprimé."),await q()}catch(t){throw l.error(h(t,"Suppression impossible.")),t}}}}async function ge(e){const t=(ft[e]??0)+1;ft[e]=t;try{Ye[e]??="",Te[e]??="all",Ve[e]??="all",fe[e]=Math.max(1,fe[e]??1);const i=new URLSearchParams({page:String(fe[e]),page_size:String(Us)}),d=Ye[e].trim();d&&i.set("recipient",d),Te[e]!=="all"&&i.set("template",Te[e]),Ve[e]!=="all"&&i.set("status",Ve[e]);const b=await u(`/admin/events/${e}/email-timeline?${i.toString()}`);if(ft[e]!==t)return;_e[e]=b.items,Pe[e]=b.total,fe[e]=b.page}catch(i){ft[e]===t&&l.error(h(i,"Chargement de la séquence emails impossible."))}}function Ua(e){return e.direction==="before"?20160:10080}function za(e){const t=Ua(e);return e.unit==="hours"?Math.floor(t/60):t}function Rs(e){const t=e.unit==="hours"?(e.value||0)*60:e.value||0;return(e.direction==="before"?-1:1)*Math.round(t)}function Ht(e){const t=Hs[e.key]??(e.offset_minutes<0?"before":"after"),i=Math.abs(e.offset_minutes),d=i!==0&&i%60===0?"hours":"minutes";return{key:e.key,label:e.label,direction:t,enabled:e.enabled,value:d==="hours"?i/60:i,unit:d}}function Oa(e,t){if(!t.enabled)return"Désactivé : cet email ne partira pas.";const i=Rs(t),b=new Date(new Date(e).getTime()+i*6e4).toLocaleString("fr-FR",{weekday:"long",day:"numeric",month:"long",hour:"2-digit",minute:"2-digit",timeZone:"Europe/Paris"}),x=t.direction==="before"?"avant le début":"après le début",k=Math.abs(i);return`${k===0?"au début":k%1440===0?`${k/1440} jour${k/1440>1?"s":""} ${x}`:k%60===0?`${k/60} h ${x}`:`${k} min ${x}`} · ${b}`}function vt(e){return JSON.stringify(e.map(t=>({enabled:t.enabled,value:t.value,unit:t.unit})))}function Na(e){return vt(e.steps)!==e.snapshot}async function Fa(e){try{const t=await u(`/admin/events/${e}/email-sequence`),i=t.steps.map(Ht);Y[e]={hasOverride:t.override!=null,saving:!1,steps:i,snapshot:vt(i)}}catch(t){l.error(h(t,"Chargement de la séquence impossible."))}}async function Ia(e){const t=Y[e.id];if(t){t.saving=!0;try{const i={};for(const x of t.steps)i[x.key]={enabled:x.enabled,offset_minutes:Rs(x)};const d=await u(`/admin/events/${e.id}/email-sequence`,{method:"PUT",body:i}),b=d.steps.map(Ht);Y[e.id]={hasOverride:d.override!=null,saving:!1,steps:b,snapshot:vt(b)},l.success("Séquence enregistrée."),await ge(e.id)}catch(i){t.saving=!1,l.error(h(i,"Enregistrement impossible."))}}}async function Ba(e){const t=Y[e.id];if(t){t.saving=!0;try{const i=await u(`/admin/events/${e.id}/email-sequence`,{method:"DELETE"}),d=i.steps.map(Ht);Y[e.id]={hasOverride:i.override!=null,saving:!1,steps:d,snapshot:vt(d)},l.success("Retour aux réglages globaux."),await ge(e.id)}catch(i){t.saving=!1,l.error(h(i,"Réinitialisation impossible."))}}}function As(e){fe[e]=1,ge(e)}function Ha(e){fe[e]=1,clearTimeout(as[e]),as[e]=setTimeout(()=>{ge(e)},250)}function Es(e,t){fe[e]=t,ge(e)}function Wa(e,t){!R.value||!t.resendable||(M.value={title:`Renvoyer « ${ot(t.template)} » ?`,description:`Un nouvel envoi sera programmé pour ${t.to_email}. La date et les liens seront reconstruits depuis lâévénement et lâinscription actuels.`,confirmLabel:"Programmer le renvoi",cancelLabel:"Retour",tone:"warning",icon:"solar:letter-linear",run:()=>Ja(e.id,t)}
1)}async function Ja(e,t){if(Xe.has(t.id))return;const i=At.get(t.id)??crypto.randomUUID();At.set(t.id,i),Xe.add(t.id);try{const d=await u(`/admin/events/${e}/emails/${t.id}/resend`,{method:"POST",body:{request_id:i}});At.delete(t.id),await ge(e),l.success(d.status==="sent"?"Ce renvoi avait déjà été accepté par Resend.":"Renvoi programmé.")}catch(d){throw l.error(h(d,"Renvoi impossible.")),d}finally{Xe.delete(t.id)}}function Ka(e){const t=yt.get(e);if(t)return t;let i;return i=(async()=>{try{const d=await u(`/admin/events/${e}/registrations`);ae[e]=d,He[e]??="all";const b=E.value.find(x=>x.id===e);b&&(b.registrations_total_count=d.length,b.registrations_active_count=d.filter(x=>!x.revoked_at).length)}catch(d){throw l.error(h(d,"Chargement des inscrits impossible.")),d}finally{yt.get(e)===i&&yt.delete(e)}})(),yt.set(e,i),i}function Ga(e){we[e]=!we[e],we[e]&&!te[e]&&(te[e]={email:"",full_name:"",phone:""})}function Qa(e,t){clearTimeout(Mt[e]);const i=t.trim();if(i.length<2){ze[e]=[];return}Mt[e]=setTimeout(async()=>{try{const d=await u(`/admin/crm/contacts?search=${encodeURIComponent(i)}&limit=8`);ze[e]=d.data??[]}catch(d){l.error(h(d,"Recherche de contacts impossible."))}},250)}function Ya(e,t){clearTimeout(Mt[e]),te[e]={email:t.email??"",full_name:t.full_name??"",phone:t.phone??""},xt[e]="",ze[e]=[]}async function Xa(e){const t=te[e.id];if(!(!t?.email.trim()||st[e.id])){st[e.id]=!0;try{const i=await u(`/admin/events/${e.id}/registrations`,{method:"POST",body:{email:t.email.trim(),full_name:t.full_name.trim()||void 0,phone:t.phone.trim()||void 0}});i.status==="active"?(l.success("Inscrit ajouté : confirmation envoyée, rappels programmés."),te[e.id]={email:"",full_name:"",phone:""},ze[e.id]=[],xt[e.id]="",we[e.id]=!1,await Me.refreshNow(e.id)):i.status==="revoked"?l.error("Cet email a été révoqué sur cet événement : réactivez-le dans la liste ci-dessous."):i.status==="registration_closed"?l.error("Inscriptions closes pour cet événement."):l.error("Ajout impossible.")}catch(i){l.error(h(i,"Ajout impossible."))}finally{st[e.id]=!1}}}async function Za(e){if(!at[e.id]){at[e.id]=!0;try{const t=await u(`/admin/events/${e.id}/registrants-list`,{method:"POST"});await Fn(C({path:"/admin/contacts/listes",query:{ouvrir:t.list_id}}))}catch(t){l.error(h(t,"Liste des inscrits indisponible."))}finally{at[e.id]=!1}}}async function en(e,t){if(t.revoked_at||!["scheduled","live"].includes(e.status)||!confirm(`Renvoyer l'email de confirmation à ${t.email} ?`))return;const i=`${e.id}:${t.id}`,d=Tt.get(i)??crypto.randomUUID();Tt.set(i,d);try{await u(`/admin/events/${e.id}/registrations/${t.id}/resend-confirmation`,{method:"POST",body:{request_id:d}}),Tt.delete(i),l.success("Confirmation renvoyée.")}catch(b){l.error(h(b,"Renvoi impossible."))}}function Ps(e){return(xe[e]??[]).filter(t=>t.status==="to_call").length}async function Ts(){try{Ee.value=await u("/admin/crm/lists")}catch(e){l.error(h(e,"Listes de contacts indisponibles."))}}async function tn(e){const t=Je[e.id];if(!(!t||Ke[e.id])){Ke[e.id]=!0;try{const i=await u(`/admin/events/${e.id}/calls/from-list`,{method:"POST",body:{list_id:t}});Je[e.id]="",await Fe(e.id),l.success(i.added?`${i.added} contact${i.added>1?"s":""} ajouté${i.added>1?"s":""}.`:"Tous les contacts de cette liste y étaient déjà .")}catch(i){l.error(h(i,"Chargement de la liste impossible."))}finally{Ke[e.id]=!1}}}async function sn(e,t,i){try{await u(`/admin/events/${e.id}/calls/${t.id}`,{method:"PATCH",body:{sms_sent:i}}),await Fe(e.id)}catch(d){l.error(h(d,"Mise à jour impossible."))}}async function Fe(e){try{xe[e]=await u(`/admin/events/${e}/calls`)}catch(t){l.error(h(t,"Chargement des appels impossible."))}}function an(e,t){clearTimeout(ss[e]);const i=t.trim();if(i.length<2){We[e]=[];return}ss[e]=setTimeout(async()=>{try{const d=await u(`/admin/crm/contacts?search=${encodeURIComponent(i)}&limit=8`),b=new Set((xe[e]??[]).map(x=>x.lead_id));We[e]=(d.data??[]).filter(x=>!b.has(x.id))}catch(d){l.error(h(d,"Recherche de contacts impossible."))}},250)}async function nn(e,t){try{await u(`/admin/events/${e.id}/calls`,{method:"POST",body:{lead_ids:[t.id]}}),Rt[e.id]="",We[e.id]=[],await Fe(e.id)}catch(i){l.error(h(i,"Ajout impossible."))}}async function rn(e,t,i){try{await u(`/admin/events/${e.id}/calls/${t.id}`,{method:"PATCH",body:{status:i}}),await Fe(e.id)}catch(d){l.error(h(d,"Mise à jour impossible."))}}async function ln(e,t){try{await u(`/admin/events/${e.id}/calls/${t.id}`,{method:"DELETE"}),await Fe(e.id)}catch(i){l.error(h(i,"Retrait impossible."))}}async function on(e,t){e.status==="cancelled"||t.revoked_at||await qs(l,`${Zs()}/webinaire/replay/${t.join_token}`,"Lien personnel copié.")}async function dn(e){await qs(l,(ae[e]??[]).filter(t=>!t.revoked_at).map(t=>t.email).join(", "),"Emails copiés.")}function un(e,t){const i=t.revoked_at?"unrevoke":"revoke";if(e.status==="cancelled"&&i==="unrevoke")return;const d=i==="unrevoke";M.value={title:d?"Réactiver cet accès ?":"Révoquer cet accès ?",description:d?`${t.email}
1 retrouvera son lien personnel, le replay et son éventuel accès prioritaire.`:`${t.email} ne pourra plus utiliser son lien personnel ni son éventuel accès prioritaire.`,confirmLabel:d?"Réactiver":"Révoquer",cancelLabel:"Retour",tone:d?"primary":"warning",icon:d?"solar:restart-linear":"solar:lock-keyhole-linear",run:()=>cn(e.id,t.id,i)}}async function cn(e,t,i){try{const b=(await u(`/admin/events/${e}/registrations/${t}/access`,{method:"PATCH",body:{action:i}})).emails_in_flight??0;l.success(i==="revoke"?b>0?`Accès révoqué. ${b} email déjà en cours dâenvoi ne peut plus être arrêté.`:"Accès révoqué.":"Accès réactivé."),await Me.refreshNow(e)}catch(d){throw l.error(h(d,"Modification de lâaccès impossible.")),d}}async function mn(e){try{const t=await u(`/admin/events/${e.id}/registrations.csv`),i=new Blob([t],{type:"text/csv;charset=utf-8"}),d=URL.createObjectURL(i),b=document.createElement("a");b.href=d,b.download=`inscrits-${e.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||e.id}.csv`,b.click(),URL.revokeObjectURL(d)}catch(t){l.error(h(t,"Export impossible."))}}async function Vs(e,t){if(be.has(e)||De.has(e))return!1;const i=E.value.find(b=>b.id===e);if(t&&(!i||!se(i)))return l.error("Terminez le webinaire et autorisez la diffusion avant de renvoyer le replay."),!1;const d=!!i&&ie(i)&&de(i);be.add(e);try{const b={resend:t||void 0,notify:i&&(!se(i)||d)&&!t?!1:void 0};if(t){const G=Pt.get(e)??crypto.randomUUID();Pt.set(e,G),b.request_id=G}pe[e]&&(b.replay_url=z[e].replay_url.trim()||null),ne[e]&&(b.deck_path=z[e].deck_path.trim()||null);const x=await u(`/admin/events/${e}/replay`,{method:"POST",body:b});t&&Pt.delete(e),d&&!t?l.success("Modifications du replay enregistrées."):x.saved&&!x.notified&&z[e].replay_url.trim()?l.success("Replay enregistré. Lâenvoi aux inscrits sera disponible après la fin du webinaire et la finalisation des présences."):x.saved&&!x.notified?l.success("Présentation validée et enregistrée. Ajoutez le lien du replay pour notifier les inscrits."):l.success(t?`Renvoi programmé pour ${x.notified} inscrit(s).`:`Envoi programmé pour ${x.notified} inscrit(s).`),await q();const k=E.value.find(G=>G.id===e);return k&&(z[e]={replay_url:k.replay_url??"",deck_path:k.deck_migration_required?"":k.deck_path??""},pe[e]=!1,ne[e]=!1),!0}catch(b){return l.error(h(b,"Envoi impossible.")),!1}finally{be.delete(e)}}async function pn(e){const t=e.id;if(!(be.has(t)||De.has(t))){if(!Bt(e)){z[t].deck_path="",ne[t]=!1;return}if(confirm(`Retirer la présentation de « ${e.title} » ? Les inscrits ne pourront plus l'ouvrir.`)){be.add(t);try{await u(`/admin/events/${t}/replay`,{method:"POST",body:{deck_path:null,notify:!1}}),z[t].deck_path="",ne[t]=!1,l.success("Présentation retirée."),await q()}catch(i){l.error(h(i,"Retrait de la présentation impossible."))}finally{be.delete(t)}}}}async function fn(e,t){const i=t.target,d=i.files?.[0];if(!d||De.has(e)||be.has(e))return;const b=25*1024*1024,x=d.name.split(".").pop()?.toLowerCase()??"",k={pdf:"application/pdf",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}[x];if(!k||d.type!==""&&d.type!==k){l.error("Choisissez un fichier PDF, PPT ou PPTX dont le format correspond à son extension."),i.value="";return}if(d.size>b){l.error("La présentation dépasse la limite de 25 Mio."),i.value="";return}De.add(e);try{const{bucket:G,path:Be,token:T}=await u(`/admin/events/${e}/deck/upload-url`,{method:"POST",body:{file_name:d.name,mime_type:k,size_bytes:d.size}}),{error:s}=await L.storage.from(G).uploadToSignedUrl(Be,T,d,{contentType:k});if(s)throw s;z[e].deck_path=Be,ne[e]=!0,l.success("Présentation téléversée. Enregistrez-la pour lancer la validation serveur.")}catch(G){l.error(h(G,"Chargement de la présentation impossible."))}finally{De.delete(e),i.value=""}}const B=_(new Set),ue=_({}),Wt=_({}),Re=_({}),Ct=_({}),ut=_({}),Jt=new Set;let ct=!1;Un(()=>{ct=!0,qt&&clearInterval(qt),Me.stop()});async function Ie(e){if(!Ue.has(e)){Ue.add(e),gt[e]="";try{oe[e]=await u(`/admin/events/${e}/transcript`)}catch(t){gt[e]=h(t,"Transcript et connexions détectées indisponibles.")}finally{Ue.delete(e)}}}function bn(e,t){t.currentTarget?.open===!0?Dt.add(e):Dt.delete(e)}async function yn(e,t){if(Se(e)){l.error("La transcription est verrouillée depuis la préparation du bot."),await q();return}try{await u(`/admin/events/${e.id}`,{method:"PATCH",body:{transcript_enabled:t}}),e.transcript_enabled=t,e.transcript_status=t?"idle":"disabled",t||(e.bot_agent_enabled=!1),l.success(t?"Transcription et synthèse activées pour ce direct.":"Transcription désactivée pour ce direct.")}catch(i){l.error(h(i,"Impossible de modifier la transcription.")),await q()}}async function gn(e,t){if(Se(e)){l.error("Le mode de Flo est verrouillé depuis la préparation du bot."),await q();return}try{await u(`/admin/events/${e.id}`,{method:"PATCH",body:{bot_agent_enabled:t}}),e.bot_agent_enabled=t,l.success(t?"Flo pourra parler en direct.":"Bot en écoute silencieuse.")}catch(i){l.error(h(i,"Impossible."))}}async function xn(e){if(Ze.has(e.id))return;Ze.add(e.id);const t=window.open("about:blank","_blank");t&&(t.opener=null);try{const i=await u(`/admin/events/${e.id}/host-link`);t?t.location.href=i.url:window.open(i.url,"_blank","noopener")}catch(i){t?.close(),l.error(h(i,"Ouverture en hôte impossible."))}finally{Ze.delete(e.id)}}async function _n(e){if(!et.has(e)){et.add(e),B.add(e);try{const t=await u(`/admin/events/${e}/bot/start`,{method:"POST"});ue[e]=t.status??"starting",l.success(t.status==="connected"?"Connexion du bot confirmée.":"Demande envoyée au bot. Connexion en cours."),await q(),Kt(e)}catch(t){l.error(h(t,"Lancement impossible."))}finally{et.delete(e),B.delete(e)}}}async function Kt(e){if(Jt.has(e))return;Jt.add(e);let t=0,i=0;try{for(;!ct;){const d=E.value.find(b=>b.id===e);if(!d||!Gt(d))return;try{const b=await u(`/admin/events/${e}/bot`),x=b.status||"unknown",k=new Date().toISOString();ue[e]=x,Ct[e]=Array.isArray(b.participants)?b.participants:[],ut[e]=Array.isArray(b.presentParticipants)?b.presentParticipants:[],Wt[e]=k;const G=E.value.find(Be=>Be.id===e);if(G&&(G.bot_status=x,G.bot_last_checked_at=k),["stopped","not_requested"].includes(x)){Re[e]="",await q({resumePolling:!1});return}["failed","unknown"].includes(x)?(t+=1,Re[e]=x==="failed"?"Le bot signale un échec. Son état reste contrôlé automatiquement pendant la préparation ou le direct.":"Le fournisseur nâa pas confirmé lâétat du bot. Nouvelle tentative automatique."):(t=0,Re[e]="")}catch(b){t+=1,Wt[e]=new Date().toISOString(),Re[e]=h(b,"Dernier contrôle du bot impossible. Nouvelle tentative automatique.")}i+=1,i%3===0&&await q({resumePolling:!1}),await new Promise(b=>setTimeout(b,vi(t)))}}finally{Jt.delete(e)}}async function hn(e){B.add(e);try{(await u(`/admin/events/${e}/bot/stop`,{method:"POST"})).stale?l.error("La session suivie a changé pendant lâarrêt. Son état a été actualisé, vérifiez la session encore active."):(ue[e]="stopped",l.success("Bot arrêté.")),await q()}catch(t){throw l.error(h(t,"Arrêt impossible.")),t}finally{B.delete(e)}}function kn(e){M.value={title:"Arrêter la transcription ?",description:e.status==="live"?"Le direct continuera, mais la capture sera interrompue et aucun second bot ne sera relancé automatiquement. Confirmez seulement si vous souhaitez poursuivre sans transcription.":"La session bot sera arrêtée. Les contenus déjà capturés seront conservés et leur finalisation pourra ensuite être reprise.",confirmLabel:"Arrêter le bot",cancelLabel:"Garder la transcription",tone:"warning",icon:"solar:stop-circle-linear",run:()=>hn(e.id)}}async function wn(e){B.add(e);try{const t=await u(`/admin/events/${e}/transcript/refresh`,{method:"POST"});l.success(t.summary_status==="review"?"Transcript récupéré et synthèse prête à relire.":"Transcript actualisé. La synthèse est encore en traitement."),await q(),await Ie(e)}catch(t){l.error(h(t,"Synthèse encore indisponible. Le transcript disponible a été conservé.")),await q(),await Ie(e)}finally{B.delete(e)}}function vn(e){M.value={title:"Abandonner ce traitement ?",description:"La récupération en cours sera invali
1dée. Les preuves déjà capturées restent conservées et une réponse fournisseur tardive ne pourra plus modifier cet événement. Vous pourrez relancer la récupération plus tard.",confirmLabel:"Abandonner lâattente",cancelLabel:"Continuer à attendre",tone:"warning",icon:"solar:close-circle-linear",run:()=>Cn(e)}}async function Cn(e){B.add(e.id);try{await u(`/admin/events/${e.id}/transcript/clear`,{method:"POST",body:{}}),l.success("Traitement abandonné. Vous pouvez le relancer ou supprimer lâévénement."),await q(),await Ie(e.id)}catch(t){throw l.error(h(t,"Impossible dâabandonner ce traitement.")),t}finally{B.delete(e.id)}}async function $n(e){if(pt(e.replay_sharing)){l.error("Publication bloquée. Autorisez dâabord la diffusion du replay.");return}if(!e.summary_generated_at){l.error("Version de synthèse manquante. Actualisez la récupération avant de publier.");return}if(!e.summary_version_id||!e.transcript_summary){l.error("La synthèse à relire nâest pas chargée. Actualisez le cockpit avant de publier.");return}if(!ys(e)){l.error("La synthèse ne contient aucun contenu à valider. Relancez sa récupération.");return}B.add(e.id);try{await u(`/admin/events/${e.id}/summary/publish`,{method:"POST",body:{generated_at:e.summary_generated_at}}),l.success("Synthèse publiée sur la page replay."),await q()}catch(t){throw l.error(h(t,"Publication de la synthèse impossible.")),t}finally{B.delete(e.id)}}function Ln(e){const t=Oe(e);if(t){l.error(t);return}M.value={title:"Publier cette synthèse ?",description:"Confirmez que vous avez relu le contenu affiché. Cette version deviendra visible sur la page replay selon les règles de diffusion choisies.",confirmLabel:"Jâai relu, publier",cancelLabel:"Continuer la relecture",tone:"primary",icon:"solar:check-circle-linear",run:()=>$n(e)}}async function Sn(e){if(!e.summary_generated_at){l.error("La version de synthèse manque. Actualisez avant de retirer sa publication.");return}B.add(e.id);try{await u(`/admin/events/${e.id}/summary/unpublish`,{method:"POST",body:{generated_at:e.summary_generated_at}}),l.success("Synthèse retirée de la page replay et conservée pour révision."),await q()}catch(t){l.error(h(t,"Retrait de la synthèse impossible."))}finally{B.delete(e.id)}}function Rn(e){const t=mt(e);if(t==="scheduled"){l.info("Le premier email replay est déjà programmé. Attendez son envoi avant un éventuel renvoi.");return}const i=t==="sent";M.value={title:i?"Renvoyer le replay ?":"Envoyer le replay ?",description:i?"L'email replay sera renvoyé à TOUS les inscrits actifs, y compris ceux qui l'ont déjà reçu.":"L'email replay sera envoyé à tous les inscrits actifs autorisés.",confirmLabel:i?"Renvoyer":"Envoyer",cancelLabel:"Retour",tone:"warning",icon:"solar:letter-linear",run:async()=>{if(!await Vs(e.id,!0))throw new Error("replay_email_delivery_failed")}}}function An(e){if(!se(e)){l.error("Terminez le webinaire et autorisez la diffusion avant cet envoi.");return}const t=Ge[e.id];if(!t||Qe.has(e.id))return;const i=Ee.value.find(d=>d.id===t);M.value={title:"Inscrire la liste et envoyer le replay ?",description:`Les contacts de « ${i?.name??"la liste"} » seront inscrits au webinaire et recevront l'email replay avec leur lien personnel. Les désinscrits sont exclus.`,confirmLabel:"Inscrire et envoyer",cancelLabel:"Retour",tone:"warning",icon:"solar:users-group-rounded-linear",run:()=>En(e,t)}}async function En(e,t){Qe.add(e.id);const i=`${e.id}:${t}`,d=Vt.get(i)??crypto.randomUUID();Vt.set(i,d);try{const b=await u(`/admin/events/${e.id}/replay/send-to-list`,{method:"POST",body:{list_id:t,request_id:d}});Vt.delete(i),Ge[e.id]="",l.success(`${b.invited} invité${b.invited>1?"s":""}, ${b.already} déjà inscrit${b.already>1?"s":""}, ${b.emailed} email${b.emailed>1?"s":""} programmé${b.emailed>1?"s":""}, ${b.revoked} accès révoqué${b.revoked>1?"s":""} exclu${b.revoked>1?"s":""}.`)}catch(b){throw l.error(h(b,"Envoi à la liste impossible.")),b}finally{Qe.delete(e.id)}}return zn({title:"Admin · Ãvénements"}),(e,t)=>{const i=Pn,d=Tn,b=zs,x=Vn,k=qn,G=Nn,Be=ti;return r(),o($,null,[a("div",null,[a("div",Hi,[t[12]||(t[12]=a("h1",{class:"font-display text-2xl font-bold text-dark dark:text-white"},"Ãvénements",-1)),p(d,{class:"gap-2",onClick:t[0]||(t[0]=T=>ke.value=!ke.value)},{default:g(()=>
1[p(i,{name:ke.value?"solar:close-circle-linear":"solar:add-circle-linear",class:"h-5 w-5"},null,8,["name"]),y(" "+c(ke.value?"Fermer":"Nouvel événement"),1)]),_:1})]),t[116]||(t[116]=a("p",{class:"text-sm text-grey-text mb-6"},"Inscrits : confirmation, rappels et accès au direct sont automatiques. Après le direct, le remerciement ne contient pas le replay. Lorsque lâenregistrement automatique de WiiM Meet est activé, lâupload YouTube, la publication et lâenvoi sâenchaînent sans action manuelle dès que le direct et les présences sont finalisés.",-1)),ke.value?(r(),U(k,{key:0,class:"mb-4 ring-1 ring-primary-500/30"},{default:g(()=>[t[16]||(t[16]=a("h2",{class:"text-lg font-semibold text-dark dark:text-white mb-3"},"Nouvel événement",-1)),a("div",Wi,[p(x,{label:"Titre"},{default:g(()=>[p(b,{modelValue:A.title,"onUpdate:modelValue":t[1]||(t[1]=T=>A.title=T),class:"w-full",placeholder:"WiiM 30 · 10áµ Co-Investissement"},null,8,["modelValue"])]),_:1}),p(x,{label:"Date & heure (heure de Paris)"},{default:g(()=>[p(b,{modelValue:A.starts_at,"onUpdate:modelValue":t[2]||(t[2]=T=>A.starts_at=T),type:"datetime-local",class:"w-full"},null,8,["modelValue"])]),_:1}),p(x,{label:"Lien de connexion (visio)"},{default:g(()=>[p(b,{modelValue:A.join_url,"onUpdate:modelValue":t[3]||(t[3]=T=>A.join_url=T),class:"w-full",placeholder:"Laissez vide : un lien WiiM Meet sera généré automatiquement"},null,8,["modelValue"])]),_:1}),p(x,{as:"div",label:"Opérations liées (optionnel)"},{default:g(()=>[p(Ds,{modelValue:A.club_deal_ids,"onUpdate:modelValue":t[4]||(t[4]=T=>A.club_deal_ids=T),deals:j.value},null,8,["modelValue","deals"])]),_:1}),p(x,{label:"Descriptif (affiché sur le site)",class:"sm:col-span-2"},{default:g(()=>[p(b,{modelValue:A.description,"onUpdate:modelValue":t[5]||(t[5]=T=>A.description=T),as:"textarea",rows:"3",maxlength:"2000",class:"w-full",placeholder:"Court résumé de la session, visible sur le bandeau, l'agenda et le formulaire d'inscription."},null,8,["modelValue"])]),_:1}),p(x,{label:"Hôtes de ce webinaire (emails, séparés par des virgules)",class:"sm:col-span-2"},{default:g(()=>[p(b,{modelValue:A.host_emails,"onUpdate:modelValue":t[6]||(t[6]=T=>A.host_emails=T),class:"w-full",maxlength:"1000",placeholder:"[email protected], [email protected]"},null,8,["modelValue"]),t[13]||(t[13]=a("p",{class:"text-xs text-grey-text mt-1"},"Les nouveaux hôtes reçoivent automatiquement cette invitation après lâenregistrement, puis un briefing 30 min avant le direct. Réservé aux comptes équipe WiiM (admin ou agent). Vide : le briefing utilise la liste équipe des Réglages.",-1))]),_:1}),a("label",Ji,[ce(a("input",{"onUpdate:modelValue":t[7]||(t[7]=T=>A.transcript_enabled=T),type:"checkbox",class:"mt-0.5 h-4 w-4 accent-primary-600 dark:accent-primary-400"},null,512),[[me,A.transcript_enabled]]),t[14]||(t[14]=a("span",null,[a("span",{class:"font-medium text-dark dark:text-white"},"Transcription et synthèse automatiques"),a("br"),a("span",{class:"text-xs text-grey-text"},"Activées par défaut. Le direct attend la confirmation du bot avant de démarrer.")],-1))]),a("label",Ki,[ce(a("input",{"onUpdate:modelValue":t[8]||(t[8]=T=>A.is_internal=T),type:"checkbox",class:"mt-0.5 h-4 w-4 accent-primary-600 dark:accent-primary-400"},null,512),[[me,A.is_internal]]),t[15]||(t[15]=a("span",null,[a("span",{class:"font-medium text-dark dark:text-white"},"Ãvénement interne (invisible sur le site, réservé aux tests)"),a("br"),a("span",{class:"text-xs text-grey-text"},"Absent du bandeau, de l'agenda, du replay public et des réponses de Flo. Reste accessible par le lien personnel envoyé aux inscrits et depuis ce back-office.")],-1))])]),t[17]||(t[17]=a("p",{class:"text-xs text-grey-text mt-2"},[y("ð¡ Fenêtre prioritaire : deal lié "),a("strong",null,"ouvert"),y(" + date d'ouverture publique future (fiche du deal) = seuls les inscrits réservent jusqu'à l'ouverture.")],-1)),p(d,{class:"mt-4",disabled:bt.value||!A.title||!A.starts_at,onClick:Ra},{default:g(()=>[y(c(bt.value?"Créationâ¦":"Créer l'événement"),1)]),_:1},8,["disabled"])]),_:1})):f("",!0),I.value?(r(),o("label",Gi,[ce(a("input",{"onUpdate:modelValue":t[9]||(t[9]=T=>S.value=T),type:"checkbox",class:"h-4 w-4 accent-primary-600 dark:accent-primary-400"},null,512),[[me,S.value]]),t[18]||(t[18]=a("span",null,"Afficher les données de test",-1))])):f("",!0),(r(!0),o($,null,O(Ys.value,T=>(r(),o($,{key:T.titre},[T.events.length?(r(),o("h2",Qi,c(T.titre),1)):f("",!0),(r(!0),o($,null,O(T.events,s=>(r(),U(k,{key:s.id,class:"mb-4 !p-0 overflow-hidden"},{default:g(()=>[a("div",Yi,[a("div",Xi,[a("span",{class:K(["inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-[11px] font-semibold shrink-0 mt-0.5",pa(s.status)])},[s.status==="live"?(r(),o("span",Zi,[...t[19]||(t[19]=[a("span",{class:"absolute h-full w-full rounded-full bg-emerald-400 animate-ping opacity-70"},null,-1),a("span",{class:"relative h-2 w-2 rounded-full bg-emerald-400"},null,-1)])])):f("",!0),y(" "+c(ia(s.status)),1)],2),a("div",er,[a("p",tr,c(s.title),1),a("p",sr,[p(i,{name:"solar:calendar-linear",class:"h-3.5 w-3.5 inline -mt-0.5"}),y(" "+c(J(s.starts_at)),1)])]),a("div",ar,[a("span",{class:"inline-flex items-center gap-1 px-2 py-1 rounded-full border border-gray-200 dark:border-gray-700 text-[11px] font-medium text-grey-text",title:`${jt(s)} inscription(s) active(s) sur ${_t(s)} au total`},[p(i,{name:"solar:users-group-rounded-linear",class:"h-3.5 w-3.5"}),y(" "+c(jt(s))+" inscriptions actives sur "+c(_t(s))+" cumulées ",1)],8,nr),a("span",{class:"inline-flex items-center gap-1 px-2 py-1 rounded-full border border-gray-200 dark:border-gray-700 text-[11px] font-medium text-grey-text",title:`Séquence emails : ${ms(s)} en attente d'envoi (cron), ${ps(s)} accepté(s) par Resend`},[p(i,{name:"solar:letter-linear",class:"h-3.5 w-3.5"}),y(" "+c(ms(s))+" à envoyer · "+c(ps(s))+" acceptés par Resend ",1)],8,ir),ma(s)?(r(),U(d,{key:0,variant:"danger",size:"sm",class:"min-h-11 gap-1.5 !text-red-700 hover:!text-red-800 dark:!text-red-300 dark:hover:!text-red-200","aria-label":`Supprimer lâévénement « ${s.title} »`,onClick:n=>ja(s)},{default:g(()=>[p(i,{name:"solar:trash-bin-trash-linear",class:"h-4 w-4"}),t[20]||(t[20]=y(" Supprimer ",-1))]),_:1},8,["aria-label","onClick"])):f("",!0)])]),s.is_internal||s.is_staging_fixture||s.join_url&&s.status!=="c
1ancelled"||It(s).length||["review","published"].includes(s.summary_status??"")?(r(),o("div",rr,[s.is_internal?(r(),o("span",lr,"Interne")):f("",!0),s.is_staging_fixture?(r(),o("span",or,"Donnée de test gérée automatiquement")):f("",!0),s.join_url&&s.status!=="cancelled"?(r(),o("a",{key:2,href:s.join_url,target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1 px-2 py-1 rounded-full border border-gray-200 dark:border-gray-700 text-[11px] font-medium text-grey-text hover:border-primary-500",title:"Lien technique de la salle (l'entrée se fait par Rejoindre en hôte)"},[p(i,{name:"solar:videocamera-linear",class:"h-3.5 w-3.5"}),t[21]||(t[21]=y(" visio",-1))],8,dr)):f("",!0),(r(!0),o($,null,O(It(s),n=>(r(),o("span",{key:n,class:"inline-flex items-center gap-1 px-2 py-1 rounded-full border border-gray-200 dark:border-gray-700 text-[11px] font-medium text-grey-text",title:fa(n)},[p(i,{name:"solar:case-round-linear",class:"h-3.5 w-3.5"}),y(" "+c(ba(n)),1)],8,ur))),128)),s.summary_status==="review"?(r(),o("span",cr,[p(i,{name:"solar:document-text-linear",class:"h-3.5 w-3.5"}),t[22]||(t[22]=y(" synthèse à valider",-1))])):f("",!0),s.summary_status==="published"&&w(pt)(s.replay_sharing)?(r(),o("span",mr,[p(i,{name:"solar:document-text-linear",class:"h-3.5 w-3.5"}),t[23]||(t[23]=y(" synthèse validée, diffusion bloquée",-1))])):s.summary_status==="published"?(r(),o("span",pr,[p(i,{name:"solar:document-text-linear",class:"h-3.5 w-3.5"}),t[24]||(t[24]=y(" synthèse publiée",-1))])):f("",!0)])):f("",!0),a("dl",fr,[a("div",br,[t[25]||(t[25]=a("dt",{class:"text-grey-text"},"Bot",-1)),a("dd",yr,c(zt(s.bot_status)),1)]),a("div",gr,[t[26]||(t[26]=a("dt",{class:"text-grey-text"},"Transcription",-1)),a("dd",xr,c(fs(s.transcript_status)),1)]),a("div",_r,[t[27]||(t[27]=a("dt",{class:"text-grey-text"},"Synthèse",-1)),a("dd",hr,c(Ot(s.summary_status,s.replay_sharing)),1)]),Nt(s)?(r(),o("div",kr,[t[28]||(t[28]=a("dt",{class:"text-grey-text"},"Enregistrement",-1)),a("dd",{class:K(["font-medium",Nt(s).kind==="missing"?"text-amber-700 dark:text-amber-300":"text-dark dark:text-white"])},c(Nt(s).label),3)])):f("",!0),kt(s)?(r(),o("div",wr,[t[29]||(t[29]=a("dt",{class:"text-grey-text"},"Dernier contrôle",-1)),a("dd",vr,c(kt(s)),1)])):f("",!0),s.status==="ended"?(r(),o("div",Cr,[t[30]||(t[30]=a("dt",{class:"text-grey-text"},"Noms détectés",-1)),a("dd",$r,c(s.attendance_detected_count??0),1)])):f("",!0)]),["scheduled","live"].includes(s.status)?(r(),o("div",Lr,[s.join_url?(r(),U(d,{key:0,variant:s.status==="live"?"primary":"ghost",size:"sm",class:"min-h-11 gap-1.5",disabled:Ze.has(s.id),title:"Rejoindre la salle en hôte (modérateur)",onClick:n=>xn(s)},{default:g(()=>[p(i,{name:"solar:play-circle-linear",class:"h-4 w-4"}),y(" "+c(Ze.has(s.id)?"Ouvertureâ¦":"Rejoindre en hôte"),1)]),_:2},1032,["variant","disabled","onClick"])):f("",!0),s.status==="scheduled"?(r(),U(d,{key:1,size:"sm",class:"min-h-11 gap-1.5",disabled:!s.join_url||Z.has(s.id)||!hs(s),title:la(s),onClick:n=>s.transcript_enabled===!1?Ss(s):Va(s)},{default:g(()=>[p(i,{name:"solar:play-circle-linear",class:"h-4 w-4"}),y(" "+c(Z.has(s.id)?"Connexion du botâ¦":da(s)),1)]),_:2},1032,["disabled","title","onClick"])):f("",!0),ua(s)?(r(),U(d,{key:2,variant:"ghost",size:"sm",class:"min-h-11 gap-1.5",disabled:!s.join_url||!Ft(s),title:oa(s),onClick:n=>Ss(s)},{default:g(()=>[p(i,{name:"solar:danger-triangle-linear",class:"h-4 w-4"}),t[31]||(t[31]=y(" Démarrer sans transcription ",-1))]),_:1},8,["disabled","title","onClick"])):f("",!0),ra(s)?(r(),U(d,{key:3,variant:"ghost",size:"sm",class:"min-h-11 gap-1.5",disabled:tt.has(s.id),onClick:n=>qa(s)},{default:g(()=>[p(i,{name:"solar:stop-circle-linear",class:"h-4 w-4"}),y(" "+c(tt.has(s.id)?"Finalisationâ¦":s.status==="live"?"Terminer":"Clôturer"),1)]),_:2},1032,["disabled","onClick"])):f("",!0)])):f("",!0),s.status==="scheduled"&&!s.join_url?(r(),o("p",Sr," Ajoutez le lien visio dans « Infos & statut » avant de passer en direct, avec ou sans transcription. ")):f("",!0)]),a("div",{class:"flex items-center gap-1 overflow-x-auto px-3 border-t border-gray-100 dark:border-gray-800 bg-gray-50/60 dark:bg-gray-900/40",role:"group","aria-label":`Sections de ${s.title}`},[(r(),o($,null,O(N,n=>a("button",{id:Ce(s.id,n.key),key:n.key,type:"button","aria-expanded":X[s.id]===n.key,"aria-controls":$e(s.id,n.key),class:K(["inline-flex min-h-11 shrink-0 items-center gap-1.5 px-3 py-2.5 text-[13px] font-medium border-b-2 transition-colors",X[s.id]===n.key?"text-primary-600 dark:text-primary-300 border-primary-500":"text-grey-text border-transparent hover:text-dark dark:hover:text-white"]),onClick:V=>Xs(s,n.key)},[p(i,{name:n.icon,class:"h-4 w-4"},null,8,["name"]),y(" "+c(n.label)+" ",1),n.key==="inscrits"?(r(),o("span",Er," ("+c(jt(s))+"/"+c(_t(s))+") ",1)):f("",!0),n.key==="appels"&&Ps(s.id)?(r(),o("span",Pr," ("+c(Ps(s.id))+" à appeler) ",1)):f("",!0),n.key==="emails"&&_e[s.id]?(r(),o("span",Tr," ("+c(Pe[s.id]??
10)+") ",1)):f("",!0)],10,Ar)),64))],8,Rr),X[s.id]==="infos"?(r(),o("div",{key:0,id:$e(s.id,"infos"),role:"region","aria-labelledby":Ce(s.id,"infos"),class:"px-5 py-4 border-t border-gray-100 dark:border-gray-800"},[a("div",qr,[p(x,{label:"Titre"},{default:g(()=>[p(b,{modelValue:D[s.id].title,"onUpdate:modelValue":n=>D[s.id].title=n,class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),p(x,{label:"Date & heure (heure de Paris)"},{default:g(()=>[p(b,{modelValue:D[s.id].starts_at,"onUpdate:modelValue":n=>D[s.id].starts_at=n,type:"datetime-local",class:"w-full disabled:cursor-not-allowed disabled:opacity-60",disabled:lt(s)},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1024),p(x,{label:"Lien de connexion (visio)"},{default:g(()=>[p(b,{modelValue:D[s.id].join_url,"onUpdate:modelValue":n=>D[s.id].join_url=n,class:"w-full disabled:cursor-not-allowed disabled:opacity-60",placeholder:"https://meet.wiim.immo/â¦",disabled:lt(s)},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1024),p(x,{as:"div",label:"Opérations liées"},{default:g(()=>[p(Ds,{modelValue:D[s.id].club_deal_ids,"onUpdate:modelValue":n=>D[s.id].club_deal_ids=n,deals:j.value},null,8,["modelValue","onUpdate:modelValue","deals"])]),_:2},1024),p(x,{label:"Descriptif (affiché sur le site)",class:"sm:col-span-2"},{default:g(()=>[p(b,{modelValue:D[s.id].description,"onUpdate:modelValue":n=>D[s.id].description=n,as:"textarea",rows:"3",maxlength:"2000",class:"w-full",placeholder:"Court résumé de la session, visible sur le bandeau, l'agenda et le formulaire d'inscription."},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),p(x,{label:"Hôtes de ce webinaire (emails, séparés par des virgules)",class:"sm:col-span-2"},{default:g(()=>[p(b,{modelValue:D[s.id].host_emails,"onUpdate:modelValue":n=>D[s.id].host_emails=n,class:"w-full",maxlength:"1000",placeholder:"[email protected], [email protected]"},null,8,["modelValue","onUpdate:modelValue"]),t[32]||(t[32]=a("p",{class:"text-xs text-grey-text mt-1"},"Les nouveaux hôtes reçoivent automatiquement cette invitation après lâenregistrement, puis un briefing 30 min avant le direct. Réservé aux comptes équipe WiiM (admin ou agent). Vide : le briefing utilise la liste équipe des Réglages.",-1))]),_:2},1024)]),lt(s)?(r(),o("p",Dr,[p(i,{name:"solar:lock-keyhole-linear",class:"h-4 w-4 shrink-0 mt-0.5"}),t[33]||(t[33]=y(" La date et le lien de connexion sont verrouillés dès la préparation du direct et restent figés comme identité historique. ",-1))])):(r(),o("p",Mr,[p(i,{name:"solar:info-circle-linear",class:"h-4 w-4 shrink-0 mt-0.5"}),t[34]||(t[34]=y(" Changer la date annule et re-programme les rappels, et envoie « Nouvelle date » aux inscrits. ",-1))])),a("label",jr,[ce(a("input",{"onUpdate:modelValue":n=>D[s.id].is_internal=n,type:"checkbox",class:"mt-0.5 h-4 w-4 accent-primary-600 dark:accent-primary-400"},null,8,Ur),[[me,D[s.id].is_internal]]),t[35]||(t[35]=a("span",null,[a("span",{class:"font-medium text-dark dark:text-white"},"Ãvénement interne (invisible sur le site, réservé aux tests)"),a("br"),a("span",{class:"text-xs text-grey-text"},"Absent du bandeau, de l'agenda, du replay public et des réponses de Flo. Reste accessible par le lien personnel envoyé aux inscrits et depuis ce back-office.")],-1))]),a("fieldset",zr,[t[40]||(t[40]=a("legend",{class:"px-1 text-sm font-semibold text-dark dark:text-white"},"Réglages du direct (invités)",-1)),t[41]||(t[41]=a("p",{class:"text-xs text-grey-text mb-3"},"Coché : le participant dispose du bouton correspondant dans sa barre d'outils en salle. Décoché : le bouton n'existe pas pour lui, il ne peut pas activer cette fonction du tout. Les hôtes ne sont pas concernés : ils gardent tous les contrôles, dont celui de couper le micro d'un participant.",-1)),a("div",Or,[a("label",Nr,[ce(a("input",{"onUpdate:modelValue":n=>D[s.id].guest_chat=n,type:"checkbox",class:"h-4 w-4 accent-primary-600"},null,8,Fr),[[me,D[s.id].guest_chat]]),t[36]||(t[36]=y(" Chat ",-1))]),a("label",Ir,[ce(a("input",{"onUpdate:modelValue":n=>D[s.id].guest_raise_hand=n,type:"checkbox",class:"h-4 w-4 accent-primary-600"},null,8,Br),[[me,D[s.id].guest_raise_hand]]),t[37]||(t[37]=y(" Main levée ",-1))]),a("label",Hr,[ce(a("input",{"onUpdate:modelValue":n=>D[s.id].guest_camera=n,type:"checkbox",class:"h-4 w-4 accent-primary-600"},null,8,Wr),[[me,D[s.id].guest_camera]]),t[38]||(t[38]=y(" Caméra ",-1))]),a("label",Jr,[ce(a("input",{"onUpdate:modelValue":n=>D[s.id].guest_mic=n,type:"checkbox",class:"h-4 w-4 accent-primary-600"},null,8,Kr),[[me,D[s.id].guest_mic]]),t[39]||(t[39]=y(" Micro ",-1))])])]),a("div",Gr,[p(d,{disabled:he.value,onClick:n=>Aa(s)},{default:g(()=>[y(c(he.value?"Enregistrementâ¦":"Enregistrer"),1)]),_:1},8,["disabled","onClick"]),w(R)&&["scheduled","live"].includes(s.status)?(r(),U(d,{key:0,variant:"ghost",size:"sm",disabled:qe.has(s.id)||he.value||!rt(s).length||Ut(s),"aria-describedby":`host-invite-help-${s.id}`,title:na(s),onClick:n=>Ea(s)},{default:g(()=>[p(i,{name:"solar:letter-linear",class:"h-4 w-4 mr-1.5"}),y(" "+c(qe.has(s.id)?"Envoiâ¦":"Inviter les hôtes"),1)]),_:2},1032,["disabled","aria-describedby","title","onClick"])):f("",!0),t[43]||(t[43]=a("span",{class:"flex-1"},null,-1)),s.status==="scheduled"?(r(),U(d,{key:1,variant:"danger",size:"sm",onClick:n=>
1Ma(s.id)},{default:g(()=>[...t[42]||(t[42]=[y("Annuler l'événement",-1)])]),_:1},8,["onClick"])):f("",!0)]),w(R)&&["scheduled","live"].includes(s.status)?(r(),o("p",{key:2,id:`host-invite-help-${s.id}`,class:"mt-2 text-xs text-grey-text",role:"status"},c(cs(s)),9,Qr)):f("",!0)],8,Vr)):f("",!0),X[s.id]==="inscrits"?(r(),o("div",{key:1,id:$e(s.id,"inscrits"),role:"region","aria-labelledby":Ce(s.id,"inscrits"),class:"px-5 py-4 border-t border-gray-100 dark:border-gray-800"},[s.status!=="cancelled"?(r(),o("div",Xr,[a("div",Zr,[p(d,{variant:"ghost",size:"sm",onClick:n=>Ga(s.id)},{default:g(()=>[p(i,{name:we[s.id]?"solar:close-circle-linear":"solar:user-plus-rounded-linear",class:"h-4 w-4 mr-1.5"},null,8,["name"]),y(" "+c(we[s.id]?"Fermer":"Ajouter un inscrit"),1)]),_:2},1032,["onClick"]),p(d,{variant:"ghost",size:"sm",disabled:at[s.id],onClick:n=>Za(s)},{default:g(()=>[p(i,{name:"solar:clipboard-list-linear",class:"h-4 w-4 mr-1.5"}),y(" "+c(at[s.id]?"Ouvertureâ¦":"Liste des inscrits"),1)]),_:2},1032,["disabled","onClick"])]),we[s.id]?(r(),o("div",el,[a("div",tl,[p(b,{modelValue:xt[s.id],"onUpdate:modelValue":n=>xt[s.id]=n,class:"w-full",placeholder:"Chercher un contact du répertoire (nom, email, téléphone)â¦",onInput:n=>Qa(s.id,n.target.value)},null,8,["modelValue","onUpdate:modelValue","onInput"]),ze[s.id]?.length?(r(),o("ul",sl,[(r(!0),o($,null,O(ze[s.id],n=>(r(),o("li",{key:n.id},[a("button",{type:"button",class:"flex w-full items-center justify-between gap-3 px-3 py-2.5 text-left text-sm hover:bg-gray-50 dark:hover:bg-gray-700/60",onClick:V=>Ya(s.id,n)},[a("span",nl,[a("span",il,c(n.full_name||n.email),1),a("span",rl," · "+c(n.phone||"sans téléphone"),1)]),p(i,{name:"solar:add-circle-linear",class:"h-4 w-4 shrink-0 text-primary-600"})],8,al)]))),128))])):f("",!0)]),a("div",ll,[p(x,{label:"Email"},{default:g(()=>[p(b,{modelValue:te[s.id].email,"onUpdate:modelValue":n=>te[s.id].email=n,type:"email",class:"w-full",placeholder:"[email protected]"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),p(x,{label:"Nom"},{default:g(()=>[p(b,{modelValue:te[s.id].full_name,"onUpdate:modelValue":n=>te[s.id].full_name=n,class:"w-full",placeholder:"Nom complet"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),p(x,{label:"Téléphone"},{default:g(()=>[p(b,{modelValue:te[s.id].phone,"onUpdate:modelValue":n=>te[s.id].phone=n,class:"w-full",placeholder:"+33â¦"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),t[44]||(t[44]=a("p",{class:"text-xs text-grey-text mt-2"},"La confirmation part tout de suite, les rappels J-1 et H-1 sont programmés automatiquement.",-1)),p(d,{class:"mt-3",disabled:!te[s.id].email.trim()||st[s.id],onClick:n=>Xa(s)},{default:g(()=>[y(c(st[s.id]?"Inscriptionâ¦":"Inscrire"),1)]),_:2},1032,["disabled","onClick"])])):f("",!0)])):f("",!0),ls(s.id)==="error"?(r(),o("div",ol,[a("div",dl,[p(i,{name:"solar:danger-triangle-linear",class:"mt-0.5 h-4 w-4 shrink-0"}),ae[s.id]?.length?(r(),o("p",ul,[t[45]||(t[45]=a("strong",null,"Actualisation interrompue.",-1)),s.status==="live"?(r(),o($,{key:0},[y(" Les données déjà chargées restent visibles. Les personnes précédemment en salle sont affichées « à vérifier » jusquâau prochain signal confirmé. ")],64)):(r(),o($,{key:1},[y(" Lâhistorique déjà chargé reste visible. Réessayez pour confirmer sa dernière version. ")],64))])):(r(),o("p",cl,[...t[46]||(t[46]=[a("strong",null,"Chargement interrompu.",-1),y(" La liste des inscrits nâa pas pu être actualisée. ",-1)])]))]),p(d,{variant:"ghost",size:"sm",class:"min-h-11 shrink-0 self-start sm:self-auto",onClick:n=>w(Me).refreshNow(s.id)},{default:g(()=>[...t[47]||(t[47]=[y(" Réessayer ",-1)])]),_:1},8,["onClick"])])):f("",!0),ae[s.id]?(r(),o("div",ml,[ae[s.id].length?(r(),o($,{key:0},[ee(s)!=="upcoming"?(r(),o("div",pl,[(r(!0),o($,null,O(w(Vi),n=>(r(),o("button",{key:`${s.id}-${n.value}`,type:"button",class:K(["inline-flex min-h-11 items-center gap-2 rounded-full border px-3 text-sm font-medium transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500",(He[s.id]??"all")===n.value?"border-primary-600 bg-primary-50 text-primary-800 dark:border-primary-400 dark:bg-primary-600/15 dark:text-primary-300":"border-gray-200 bg-white text-grey-text hover:border-primary-200 hover:text-dark dark:border-gray-700 dark:bg-gray-900 dark:hover:border-primary-400 dark:hover:text-white"]),"aria-pressed":(He[s.id]??"all")===n.value,onClick:V=>He[s.id]=n.value},[a("span",null,c(n.label),1),a("span",bl,c(ea(s.id,n.value)),1)],10,fl))),128))])):f("",!0),ee(s)==="upcoming"?(r(),o("p",yl," Les inscriptions sont ouvertes. Pendant le direct, la présence de chacun sera mesurée automatiquement dans la salle WiiM Meet via son lien personnel. ")):(r(),o("p",gl," La présence en salle vient du lien personnel WiiM Meet. Le premier accès à la page reste une donnée distincte. « En salle » exige un signal récent. ")),ee(s)!=="upcoming"&&os(s.id)?(r(),o("p",xl,c(os(s.id)),1)):f("",!0),a("div",_l,[t[50]||
1(t[50]=a("p",{class:"text-xs font-semibold text-dark dark:text-white"},"Origine des inscriptions actives, sur toute la durée de cet événement",-1)),a("dl",hl,[a("div",null,[t[48]||(t[48]=a("dt",{class:"font-medium text-dark dark:text-white"},"Attribution campagne",-1)),a("dd",null,c(Le(s.id).withCampaign)+" avec une clé campagne · "+c(Le(s.id).withoutCampaign)+" sans clé campagne",1)]),a("div",null,[t[49]||(t[49]=a("dt",{class:"font-medium text-dark dark:text-white"},"Canaux enregistrés",-1)),a("dd",null,"WhatsApp "+c(Le(s.id).channels.whatsapp)+" · Email "+c(Le(s.id).channels.email)+" · SMS "+c(Le(s.id).channels.sms)+" · Direct / non attribué "+c(Le(s.id).channels.direct)+" · Autres "+c(Le(s.id).channels.other),1)])])]),is(s.id).length?(r(),o("div",kl,[a("table",wl,[t[55]||(t[55]=a("thead",null,[a("tr",{class:"text-left text-xs text-grey-text"},[a("th",{scope:"col",class:"pb-2 font-medium"},"Contact"),a("th",{scope:"col",class:"pb-2 font-medium"},"Origine"),a("th",{scope:"col",class:"pb-2 font-medium"},"Participation"),a("th",{scope:"col",class:"pb-2 font-medium"},"Durée · connexions"),a("th",{scope:"col",class:"pb-2 font-medium"},"Première entrée"),a("th",{scope:"col",class:"pb-2 font-medium"},"Dernière sortie"),a("th",{scope:"col",class:"pb-2 font-medium"},"Dernière trace"),a("th",{scope:"col",class:"pb-2 font-medium",title:"Premier accès à la page personnelle, pas une preuve de présence en salle"},"Page personnelle"),a("th",{scope:"col",class:"pb-2 font-medium"},"Accès"),a("th",{scope:"col",class:"pb-2 text-right font-medium"},"Actions")])],-1)),a("tbody",null,[(r(!0),o($,null,O(is(s.id),n=>(r(),o("tr",{key:n.id,class:"border-t border-gray-100 align-top dark:border-gray-800"},[a("td",vl,[a("p",Cl,c(n.full_name||"Nom non renseigné"),1),a("p",$l,c(n.email),1),a("p",Ll,"Inscrit "+c(J(n.created_at)),1),n.callback_consent_at?(r(),o("p",{key:0,class:"mt-1 inline-flex items-center gap-1 text-[11px] font-medium text-primary-600 dark:text-primary-300",title:`Rappel accepté le ${J(n.callback_consent_at)}`},[p(i,{name:"solar:phone-calling-rounded-linear",class:"h-3.5 w-3.5"}),t[51]||(t[51]=y(" Rappel accepté ",-1))],8,Sl)):f("",!0)]),a("td",Rl,[w(Lt)(n).campaign?(r(),o("p",Al,"Campagne · "+c(w(Lt)(n).campaign),1)):(r(),o("p",El,"Sans campagne")),a("p",Pl,c(w(Lt)(n).channel),1)]),a("td",Tl,[a("div",Vl,[a("span",{class:K(["inline-flex items-center rounded-full px-2.5 py-1 text-xs font-semibold",ee(s)==="upcoming"?"bg-gray-100 text-grey-text dark:bg-gray-700/60":ta(n.attendance.classification)])},c(w(Oi)(n.attendance.classification,ee(s))),3),w(js)(n.attendance.current_state,ee(s))?(r(),o("span",{key:0,class:K(["inline-flex items-center rounded-full px-2.5 py-1 text-xs font-semibold",sa(n.attendance.current_state)])},c(w(js)(n.attendance.current_state,ee(s))),3)):f("",!0)]),a("p",ql,c(w(Fi)(n.attendance,ee(s))),1)]),a("td",Dl,[ee(s)==="upcoming"?(r(),o("p",Ml,"â")):(r(),o($,{key:1},[a("p",jl,c(w(Ui)(n.attendance.duration_seconds)),1),a("p",Ul,c(n.attendance.connection_count)+" connexion"+c(n.attendance.connection_count>1?"s":""),1)],64))]),a("td",zl,c(n.attendance.first_room_entry_at?J(n.attendance.first_room_entry_at):ee(s)==="done"?"Non détectée":"â"),1),a("td",Ol,c(n.attendance.last_explicit_exit_at?J(n.attendance.last_explicit_exit_at):ee(s)==="done"?"Non détectée":"â"),1),a("td",Nl,c(n.attendance.last_observed_at?J(n.attendance.last_observed_at):ee(s)==="done"?"Aucune trace":"â"),1),a("td",Fl,[n.joined_at?(r(),o($,{key:0},[a("p",null,"Ouverte le "+c(J(n.joined_at)),1),t[52]||(t[52]=a("p",{class:"mt-0.5"},"(ne prouve pas la présence)",-1))],64)):(r(),o("p",Il,c(ee(s)==="done"?"Jamais ouverte":"Pas encore ouverte"),1))]),a("td",Bl,[a("span",{class:K(["inline-flex items-center rounded-full px-2.5 py-1 text-xs font-semibold",n.revoked_at?"bg-gray-100 text-grey-text dark:bg-gray-700/60":"bg-emerald-50 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300"])},c(n.revoked_at?"Révoqué":"Actif"),3),n.attendance.commercial_excluded?(r(),o("span",Hl," Exclu : "+c(w(Ni)(n.attendance.commercial_exclusion_reason)||"à vérifier"),1)):f("",!0)]),a("td",Wl,[a("div",Jl,[!n.revoked_at&&s.status!=="c
1ancelled"?(r(),o("button",{key:0,type:"button",class:"inline-flex min-h-11 items-center px-2 text-sm font-medium text-primary-600 hover:underline focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500 dark:text-primary-300",onClick:V=>on(s,n)},[p(i,{name:"solar:copy-linear",class:"me-1 h-3.5 w-3.5"}),t[53]||(t[53]=y(" Copier le lien ",-1))],8,Kl)):f("",!0),!n.revoked_at&&["scheduled","live"].includes(s.status)?(r(),o("button",{key:1,type:"button",class:"inline-flex min-h-11 items-center px-2 text-sm font-medium text-primary-600 hover:underline focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500 dark:text-primary-300",onClick:V=>en(s,n)},[p(i,{name:"solar:letter-linear",class:"me-1 h-3.5 w-3.5"}),t[54]||(t[54]=y(" Renvoyer la confirmation ",-1))],8,Gl)):f("",!0),!n.revoked_at||s.status!=="cancelled"?(r(),o("button",{key:2,type:"button",class:K(["inline-flex min-h-11 items-center rounded-full px-3 text-sm font-semibold focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500",n.revoked_at?"text-primary-600 hover:bg-primary-50 dark:text-primary-300 dark:hover:bg-primary-600/15":"text-red-700 hover:bg-red-50 dark:text-red-300 dark:hover:bg-red-500/10"]),onClick:V=>un(s,n)},c(n.revoked_at?"Réactiver":"Révoquer"),11,Ql)):f("",!0)])])]))),128))])])])):(r(),o("div",Yl," Aucun inscrit dans ce filtre. "))],64)):(r(),o("div",Xl,[p(i,{name:"solar:users-group-rounded-linear",class:"h-7 w-7 mx-auto opacity-40"}),t[56]||(t[56]=a("p",{class:"mt-2"},"Aucun inscrit pour l'instant.",-1))])),ae[s.id].length?(r(),o("div",Zl,[p(d,{variant:"ghost",size:"sm",onClick:n=>dn(s.id)},{default:g(()=>[p(i,{name:"solar:copy-linear",class:"h-4 w-4 mr-1.5"}),t[57]||(t[57]=y(" Copier les emails actifs",-1))]),_:1},8,["onClick"]),p(d,{variant:"ghost",size:"sm",onClick:n=>mn(s)},{default:g(()=>[p(i,{name:"solar:download-minimalistic-linear",class:"h-4 w-4 mr-1.5"}),t[58]||(t[58]=y(" Export CSV",-1))]),_:1},8,["onClick"])])):f("",!0)])):ls(s.id)==="loading"?(r(),o("p",eo,"Chargementâ¦")):f("",!0)],8,Yr)):f("",!0),X[s.id]==="appels"?(r(),o("div",{key:2,id:$e(s.id,"appels"),role:"region","aria-labelledby":Ce(s.id,"appels"),class:"px-5 py-4 border-t border-gray-100 dark:border-gray-800"},[t[62]||(t[62]=a("p",{class:"text-xs text-grey-text mb-3"}," Qui appeler pour remplir ce webinaire. Les contacts viennent du répertoire (Relations ⺠Contacts) ; la colonne « Inscrit » se met à jour toute seule depuis les inscriptions. ",-1)),a("div",so,[a("div",ao,[p(b,{modelValue:Rt[s.id],"onUpdate:modelValue":n=>Rt[s.id]=n,class:"w-full",placeholder:"Chercher un contact à ajouter (nom, email, téléphone)â¦",onInput:n=>an(s.id,n.target.value)},null,8,["modelValue","onUpdate:modelValue","onInput"]),We[s.id]?.length?(r(),o("ul",no,[(r(!0),o($,null,O(We[s.id],n=>(r(),o("li",{key:n.id},[a("button",{type:"button",class:"flex w-full items-center justify-between gap-3 px-3 py-2.5 text-left text-sm hover:bg-gray-50 dark:hover:bg-gray-700/60",onClick:V=>nn(s,n)},[a("span",ro,[a("span",lo,c(n.full_name||n.email),1),a("span",oo," · "+c(n.phone||"sans téléphone"),1)]),p(i,{name:"solar:add-circle-linear",class:"h-4 w-4 shrink-0 text-primary-600"})],8,io)]))),128))])):f("",!0)]),a("div",uo,[p(b,{modelValue:Je[s.id],"onUpdate:modelValue":n=>Je[s.id]=n,as:"select",class:"h-10","aria-label":"Liste de contacts"},{default:g(()=>[t[59]||(t[59]=a("option",{value:""},"Charger une listeâ¦",-1)),(r(!0),o($,null,O(Ee.value,n=>(r(),o("option",{key:n.id,value:n.id},c(n.name)+" ("+c(n.members_count)+") ",9,co))),128))]),_:1},8,["modelValue","onUpdate:modelValue"]),p(d,{variant:"ghost",size:"sm",disabled:!Je[s.id]||Ke[s.id],onClick:n=>tn(s)},{default:g(()=>[y(c(Ke[s.id]?"Ajoutâ¦":"Ajouter"),1)]),_:2},1032,["disabled","onClick"])])]),xe[s.id]?(r(),o("div",mo,[xe[s.id].length?(r(),o("div",po,[a("table",fo,[t[60]||(t[60]=a("thead",null,[a("tr",{class:"text-left text-xs text-grey-text"},[a("th",{class:"pb-2 font-medium"},"Contact"),a("th",{class:"pb-2 font-medium"},"Téléphone"),a("th",{class:"pb-2 font-medium"},"Statut d'appel"),a("th",{class:"pb-2 font-medium"},"Dernière tentative"),a("th",{class:"pb-2 font-medium"},"SMS"),a("th",{class:"pb-2 font-medium"},"Inscrit"),a("th",{class:"pb-2 text-right font-medium"}
1,"Actions")])],-1)),a("tbody",null,[(r(!0),o($,null,O(xe[s.id],n=>(r(),o("tr",{key:n.id,class:"border-t border-gray-100 dark:border-gray-800"},[a("td",bo,[p(G,{to:w(C)(`/admin/contacts/${n.lead_id}`),class:"font-medium text-primary-600 hover:underline dark:text-primary-300"},{default:g(()=>[y(c(n.lead?.full_name||n.lead?.email||"Contact"),1)]),_:2},1032,["to"])]),a("td",yo,c(n.lead?.phone||"â"),1),a("td",go,[a("select",{value:n.status,class:"ui-select rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-900 px-2 py-1.5 text-xs","aria-label":`Statut d'appel de ${n.lead?.full_name||n.lead?.email||"ce contact"}`,onChange:V=>rn(s,n,V.target.value)},[(r(),o($,null,O(H,V=>a("option",{key:V.v,value:V.v},c(V.label),9,_o)),64))],40,xo)]),a("td",ho,c(n.last_attempt_at?J(n.last_attempt_at):"â"),1),a("td",ko,[a("label",wo,[a("input",{type:"checkbox",class:"h-4 w-4 accent-primary-600",checked:!!n.sms_sent_at,"aria-label":`SMS envoyé à ${n.lead?.full_name||n.lead?.email||"ce contact"}`,onChange:V=>sn(s,n,V.target.checked)},null,40,vo),n.sms_sent_at?(r(),o("span",Co,c(J(n.sms_sent_at)),1)):f("",!0)])]),a("td",$o,[a("span",{class:K(["inline-flex items-center rounded-full px-2.5 py-1 text-xs font-semibold",n.registered?"bg-emerald-50 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300":"bg-gray-100 text-grey-text dark:bg-gray-700/60"])},c(n.registered?"Inscrit":"Non inscrit"),3)]),a("td",Lo,[a("button",{type:"button",class:"inline-flex min-h-11 items-center px-2 text-sm font-medium text-danger hover:underline focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500",onClick:V=>ln(s,n)}," Retirer ",8,So)])]))),128))])])])):(r(),o("div",Ro,[p(i,{name:"solar:phone-calling-rounded-linear",class:"h-7 w-7 mx-auto opacity-40"}),t[61]||(t[61]=a("p",{class:"mt-2"},"Aucun appel prévu. Ajoutez des contacts ci-dessus.",-1))]))])):(r(),o("p",Ao,"Chargementâ¦"))],8,to)):f("",!0),X[s.id]==="emails"?(r(),o("div",{key:3,id:$e(s.id,"emails"),role:"region","aria-labelledby":Ce(s.id,"emails"),class:"px-5 py-4 border-t border-gray-100 dark:border-gray-800"},[t[86]||(t[86]=a("p",{class:"text-xs text-grey-text mb-3"}," Séquence des emails de ce webinaire : programmés (le cron les remet au fournisseur à l'heure prévue), acceptés par Resend ou annulés. ",-1)),t[87]||(t[87]=a("p",{class:"mb-3 rounded-xl bg-gray-50 p-3 text-xs leading-5 text-grey-text dark:bg-gray-800/60",role:"status"}," Les statuts prouvent la programmation et la remise au fournisseur. « Accepté par Resend » ne prouve pas la livraison. Les ouvertures et les clics ne sont pas encore connectés. ",-1)),a("div",Po,[a("div",To,[t[63]||(t[63]=a("h3",{class:"text-sm font-semibold text-dark dark:text-white"},"Séquence automatique",-1)),Y[s.id]?.hasOverride?(r(),o("span",Vo,"Réglage propre à cet événement")):f("",!0)]),t[66]||(t[66]=a("p",{class:"mb-3 text-xs text-grey-text"}," Choisissez quand partent les emails programmés de ce webinaire. Les horaires sont calculés à partir du début. ",-1)),Y[s.id]?(r(),o($,{key:0},[a("div",qo,[(r(!0),o($,null,O(Y[s.id].steps,n=>(r(),o("div",{key:n.key,class:"rounded-lg bg-gray-50 p-3 dark:bg-gray-800/40"},[a("label",Do,[n.key!=="eventPostEvent"?ce((r(),o("input",{key:0,"onUpdate:modelValue":V=>n.enabled=V,type:"checkbox",class:"h-4 w-4 accent-primary-600 dark:accent-primary-400","aria-label":`Activer : ${n.label}`},null,8,Mo)),[[me,n.enabled]]):f("",!0),y(" "+c(n.label),1)]),a("div",{class:K(["mt-2 flex flex-wrap items-center gap-2",{"opacity-50":!n.enabled}])},[p(b,{modelValue:n.value,"onUpdate:modelValue":V=>n.value=V,modelModifiers:{number:!0},type:"number",min:"0",max:za(n),class:"w-20",disabled:!n.enabled,"aria-label":`Décalage : ${n.label}`},null,8,["modelValue","onUpdate:modelValue","max","disabled","aria-label"]),p(b,{modelValue:n.unit,"onUpdate:modelValue":V=>n.unit=V,as:"select",class:"w-28",disabled:!n.enabled,"aria-label":`Unité : ${n.label}`},{default:g(()=>[...t[64]||(t[64]=[a("option",{value:"minutes"},"minutes",-1),a("option",{value:"hours"},"heures",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","disabled","aria-label"]),a("span",jo,c(n.direction==="before"?"avant le début":"après le début"),1)],2),a("p",Uo,c(Oa(s.starts_at,n)),1),n.key==="eventPostEvent"?(r(),o("p",zo,"Envoyé après le direct aux participants mesurés ; le décalage fixe l'heure d'envoi.")):f("",!0)]))),128))]),a("div",Oo,[p(d,{size:"sm",disabled:Y[s.id].saving||!Na(Y[s.id]),onClick:n=>
1Ia(s)},{default:g(()=>[y(c(Y[s.id].saving?"Enregistrementâ¦":"Enregistrer"),1)]),_:2},1032,["disabled","onClick"]),Y[s.id].hasOverride?(r(),U(d,{key:0,variant:"ghost",size:"sm",disabled:Y[s.id].saving,onClick:n=>Ba(s)},{default:g(()=>[...t[65]||(t[65]=[y("Revenir aux réglages globaux",-1)])]),_:1},8,["disabled","onClick"])):f("",!0)])],64)):(r(),o("p",No,"Chargementâ¦"))]),_e[s.id]?(r(),o("div",Fo,[(Pe[s.id]??0)>0||ka(s.id)?(r(),o($,{key:0},[a("div",Io,[p(b,{modelValue:Ye[s.id],"onUpdate:modelValue":n=>Ye[s.id]=n,class:"w-full",placeholder:"Rechercher un destinataire","aria-label":"Rechercher dans les emails du webinaire",onInput:n=>Ha(s.id)},null,8,["modelValue","onUpdate:modelValue","onInput"]),p(b,{modelValue:Te[s.id],"onUpdate:modelValue":n=>Te[s.id]=n,as:"select",class:"w-full","aria-label":"Filtrer les emails par type",onChange:n=>As(s.id)},{default:g(()=>[t[67]||(t[67]=a("option",{value:"all"},"Tous les types",-1)),(r(!0),o($,null,O(ha(),n=>(r(),o("option",{key:n,value:n},c(ot(n)),9,Bo))),128))]),_:1},8,["modelValue","onUpdate:modelValue","onChange"]),p(b,{modelValue:Ve[s.id],"onUpdate:modelValue":n=>Ve[s.id]=n,as:"select",class:"w-full","aria-label":"Filtrer les emails par statut",onChange:n=>As(s.id)},{default:g(()=>[...t[68]||(t[68]=[a("option",{value:"all"},"Tous les statuts",-1),a("option",{value:"pending"},"à envoyer",-1),a("option",{value:"processing"},"En cours",-1),a("option",{value:"sent"},"Acceptés par Resend",-1),a("option",{value:"failed"},"En échec",-1),a("option",{value:"cancelled"},"Annulés",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])]),a("p",Ho,c(Pe[s.id]??0)+" résultat"+c((Pe[s.id]??0)>1?"s":""),1),_e[s.id].length?(r(),o("div",Wo,[a("table",Jo,[t[82]||(t[82]=a("thead",null,[a("tr",{class:"text-left text-xs text-grey-text"},[a("th",{class:"pb-2 font-medium"},"Type"),a("th",{class:"pb-2 font-medium"},"Destinataire"),a("th",{class:"pb-2 font-medium"},"Prévu le"),a("th",{class:"pb-2 font-medium"},"Statut"),a("th",{class:"pb-2 font-medium"},"Action")])],-1)),a("tbody",null,[(r(!0),o($,null,O(_e[s.id],n=>(r(),o("tr",{key:n.id,class:"border-t border-gray-100 align-top dark:border-gray-800"},[a("td",Ko,[y(c(ot(n.template))+" ",1),a("details",Go,[t[80]||(t[80]=a("summary",{class:"min-h-11 cursor-pointer py-2 text-primary-600 dark:text-primary-300"},"Voir le contenu et le suivi",-1)),a("div",Qo,[a("p",null,c(ga(n.template)),1),a("dl",Yo,[n.content?.event_title?(r(),o("div",Xo,[t[69]||(t[69]=a("dt",{class:"inline font-medium text-dark dark:text-white"},"Ãvénement : ",-1)),a("dd",Zo,c(n.content.event_title),1)])):f("",!0),n.content?.recipient_name?(r(),o("div",ed,[t[70]||(t[70]=a("dt",{class:"inline font-medium text-dark dark:text-white"},"Prénom ou nom : ",-1)),a("dd",td,c(n.content.recipient_name),1)])):f("",!0),n.content?.starts_at?(r(),o("div",sd,[t[71]||(t[71]=a("dt",{class:"inline font-medium text-dark dark:text-white"},"Date intégrée : ",-1)),a("dd",ad,c(J(n.content.starts_at)),1)])):f("",!0),a("div",null,[t[72]||(t[72]=a("dt",{class:"inline font-medium text-dark dark:text-white"},"Lien personnel : ",-1)),a("dd",nd,c(n.content?.has_personal_link?"inclus":"non inclus"),1)]),n.template==="eventPostEvent"?(r(),o("div",id,[...t[73]||(t[73]=[a("dt",{class:"inline font-medium text-dark dark:text-white"},"Replay : ",-1),a("dd",{class:"inline"},"non inclus, annoncé à venir",-1)])])):f("",!0),n.template==="eventReplay"?(r(),o("div",rd,[...t[74]||(t[74]=[a("dt",{class:"inline font-medium text-dark dark:text-white"},"Replay : ",-1),a("dd",{class:"inline"},"disponible via la page personnelle",-1)])])):f("",!0),ds(n.content?.attendance_segment)?(r(),o("div",ld,[t[75]||(t[75]=a("dt",{class:"inline font-medium text-dark dark:text-white"},"Segment de présence : ",-1)),a("dd",od,c(ds(n.content?.attendance_segment)),1)])):f("",!0),us(n.content?.audience_source)?(r(),o("div",dd,[t[76]||(t[76]=a("dt",{class:"inline font-medium text-dark dark:text-white"},"Source dâaudience : ",-1)),a("dd",ud,c(us(n.content?.audience_source)),1)])):f("",!0),n.content?.attendance_evidence_source?(r(),o("div",cd,[t[77]||(t[77]=a("dt",{class:"inline font-medium text-dark dark:text-white"},"Preuve utilisée : ",-1)),a("dd",md,[y(c(aa(n.content.attendance_evidence_source)),1),n.content.attendance_evidence_version!=null?(r(),o("span",pd," · v"+c(n.content.attendance_evidence_version),1
1)):f("",!0)])])):f("",!0),a("div",null,[t[78]||(t[78]=a("dt",{class:"inline font-medium text-dark dark:text-white"},"Tentatives : ",-1)),a("dd",fd,c(n.attempts??0),1)]),n.sent_at?(r(),o("div",bd,[t[79]||(t[79]=a("dt",{class:"inline font-medium text-dark dark:text-white"},"Accepté par Resend le : ",-1)),a("dd",yd,c(J(n.sent_at)),1)])):f("",!0)])])])]),a("td",gd,c(n.to_email),1),a("td",xd,c(J(n.send_at)),1),a("td",_d,[a("span",{class:K(["inline-flex items-center rounded-full px-2.5 py-1 text-xs font-semibold",_a(n.status)])},c(xa(n.status)),3),n.status==="failed"&&n.last_error?(r(),o("span",{key:0,class:"mt-1 block max-w-[260px] truncate text-[11px] text-danger",title:n.last_error},c(n.last_error),9,hd)):f("",!0)]),a("td",kd,[Js(n.template)?(r(),U(d,{key:0,variant:"ghost",size:"sm",class:"min-h-11 mr-1",onClick:V=>Ks(n)},{default:g(()=>[...t[81]||(t[81]=[y(" Voir ",-1)])]),_:1},8,["onClick"])):f("",!0),w(R)&&n.resendable?(r(),U(d,{key:1,variant:"ghost",size:"sm",class:"min-h-11",disabled:Xe.has(n.id),onClick:V=>Wa(s,n)},{default:g(()=>[y(c(Xe.has(n.id)?"Programmationâ¦":"Renvoyer"),1)]),_:2},1032,["disabled","onClick"])):f("",!0)])]))),128))])])])):(r(),o("p",wd,"Aucun email ne correspond à ces filtres.")),wt(s.id)>1?(r(),o("div",vd,[p(d,{variant:"ghost",size:"sm",class:"min-h-11",disabled:dt(s.id)<=1,onClick:n=>Es(s.id,dt(s.id)-1)},{default:g(()=>[...t[83]||(t[83]=[y("Précédent",-1)])]),_:1},8,["disabled","onClick"]),a("span",Cd,"Page "+c(dt(s.id))+" sur "+c(wt(s.id)),1),p(d,{variant:"ghost",size:"sm",class:"min-h-11",disabled:dt(s.id)>=wt(s.id),onClick:n=>Es(s.id,dt(s.id)+1)},{default:g(()=>[...t[84]||(t[84]=[y("Suivant",-1)])]),_:1},8,["disabled","onClick"])])):f("",!0)],64)):(r(),o("div",$d,[p(i,{name:"solar:letter-linear",class:"h-7 w-7 mx-auto opacity-40"}),t[85]||(t[85]=a("p",{class:"mt-2"},"Aucun email programmé pour ce webinaire.",-1))]))])):(r(),o("p",Ld,"Chargementâ¦"))],8,Eo)):f("",!0),X[s.id]==="bot"?(r(),o("div",{key:4,id:$e(s.id,"bot"),role:"region","aria-labelledby":Ce(s.id,"bot"),class:"px-5 py-4 border-t border-gray-100 dark:border-gray-800"},[a("dl",Rd,[a("div",null,[t[88]||(t[88]=a("dt",{class:"text-xs text-grey-text"},"Ãtat du bot",-1)),a("dd",Ad,c(zt(s.bot_status)),1),kt(s)?(r(),o("p",Ed,"Dernier contrôle "+c(kt(s)),1)):f("",!0)]),a("div",null,[t[89]||(t[89]=a("dt",{class:"text-xs text-grey-text"},"Transcription",-1)),a("dd",Pd,c(fs(s.transcript_status)),1)]),a("div",null,[t[90]||(t[90]=a("dt",{class:"text-xs text-grey-text"},"Synthèse",-1)),a("dd",Td,c(Ot(s.summary_status,s.replay_sharing)),1)])]),gs(s).length?(r(),o("div",Vd,[t[91]||(t[91]=a("p",{class:"font-semibold"},"Points à vérifier",-1)),a("ul",qd,[(r(!0),o($,null,O(gs(s),n=>(r(),o("li",{key:`${n.label}-${n.message}`},[a("span",Dd,c(n.label)+" :",1),y(" "+c(n.message),1)]))),128))])])):f("",!0),Re[s.id]?(r(),o("p",Md,c(Re[s.id]),1)):f("",!0),s.status==="scheduled"?(r(),o("label",{key:2,class:K(["mt-4 flex min-h-11 items-start gap-2.5 text-sm",Se(s)?"cursor-not-allowed opacity-60":"cursor-pointer"])},[a("input",{type:"checkbox",checked:s.transcript_enabled!==!1,disabled:Se(s),class:"mt-0.5 h-4 w-4 accent-primary-600 dark:accent-primary-400",onChange:n=>yn(s,n.target.checked)},null,40,jd),a("span",null,[t[92]||(t[92]=a("span",{class:"font-medium text-dark dark:text-white"},"Transcription et synthèse automatiques",-1)),t[93]||(t[93]=a("br",null,null,-1)),Se(s)?(r(),o("span",Ud,"Réglage verrouillé depuis la préparation du bot pour préserver le mode réellement lancé.")):(r(),o("span",zd,"Le bot rejoint la salle avant le passage en direct. La synthèse reste privée jusqu'à votre validation."))])],2)):f("",!0),["scheduled","live"].includes(s.status)?(r(),o("label",{key:3,class:K(["mt-3 flex min-h-11 items-start gap-2.5 text-sm",s.transcript_enabled===!1||Se(s)?"cursor-not-allowed opacity-60":"cursor-pointer"])},[a("input",{type:"checkbox",checked:s.bot_agent_enabled,disabled:s.transcript_enabled===!1||Se(s),class:"mt-0.5 h-4 w-4 accent-primary-600 dark:accent-primary-400",onChange:n=>gn(s,n.target.checked)},null,40,Od),t[94]||(t[94]=a("span",null,[a("span",{class:"font-medium text-dark dark:text-white"},"Autoriser Flo à parler pendant le Q&A"),a("br"),a("span",{class:"text-xs text-grey-text"},"Option séparée, désactivée par défaut. Sans elle, le bot écoute et transcrit en silence.")],-1))],2)):f("",!0),a("div",Nd,[s.status==="live"&&s.transcript_enabled!==!1&&!s.meet_session_id&&!s.bot_start_attempt_id&&!s.meet_meeting_id?(r(),U(d,{key:0,class:"min-h-11",disabled:!s.join_url||B.has(s.id),title:s.join_url?"":"Renseignez d'abord le lien visio (onglet Infos)",onClick:n=>_n(s.id)},{default:g(()=>[p(i,{name:"solar:play-linear",class:"h-4 w-4 mr-1.5"}),y(" "+c(s.bot_agent_enabled?"Faire entrer Flo":"Lancer la transcription"),1)]),_:2},1032,["disabled","title","onClick"])):s.status==="live"&&!s.meet_session_id&&s.meet_meeting_id?(r(),o("p",Fd," La capture initiale sâest interrompue. Un second bot nâest pas relancé pour éviter un transcript incomplet ou mélangé. Terminez le direct en mode dégradé puis vérifiez lâincident. ")):f("",!0),s.meet_session_id||s.bot_start_attempt_id?(r(),o($,{key:2},[a("span",{class:K(["inline-flex items-center gap-1.5 text-sm font-medium",ue[s.id]==="connected"?"text-emerald-600 dark:text-emerald-400":"text-grey-text"])},[a("span",{class:K(["h-2 w-2 rounded-full",ue[s.id]==="connected"?"bg-emerald-500":"bg-gray-400"])},null,2),y(" "+c(zt(ue[s.id]??s.bot_status)),1)],2),p(d,{variant:"ghost",size:"sm",class:"min-h-11",disabled:B.has(s.id),onClick:n=>kn(s)},{default:g(()=>[p(i,{name:"solar:stop-linear",class:"h-4 w-4 mr-1.5"}),t[95]||(t[95]=y(" Arrêter",-1))]),_:1},8,["disabled","onClick"])],64)):f("",!0),t[99]||(t[99]=a("span",{class:"flex-1"},null,-1)),w(R)&&s.status==="ended"&&(["processing","failed"].includes(s.summary_status??"")||["processing","failed"].includes(s.transcript_status??""))?(r(),U(d,{key:3,variant:"ghost",size:"sm",class:"min-h-11",disabled:B.has(s.id),onClick:n=>wn(s.id)},{default:g(()=>[p(i,{name:"solar:refresh-linear",class:"h-4 w-4 mr-1.5"}),t[96]||(t[96]=y(" Relancer la récupération",-1))]),_:1},8,["disabled","onClick"])):f("",!0),w(R)&&s.status==="ended"&&(s.transcript_refresh_attempt_id||s.summary_regeneration_attempt_id)?(r(),U(d,{key:4,variant:"ghost",size:"sm",class:"min-h-11",disabled:B.has(s.id),onClick:n=>vn(s)},{default:g(()=>[p(i,{name:"solar:close-circle-linear",class:"h-4 w-4 mr-1.5"}),t[97]||(t[97]=y(" Abandonner lâattente",-1))]),_:1},8,["disabled","onClick"])):f("",!0),w(R)&&s.summary_status==="review"?(r(),U(d,{key:5,size:"sm",class:"min-h-11",disabled:B.has(s.id)||!!Oe(s),title:Oe(s),onClick:n=>Ln(s)},{default:g(()=>[p(i,{name:"solar:check-circle-linear",class:"h-4 w-4 mr-1.5"}),y(" "+c(Oe(s)?"Publication bloquée":"Relire puis publier"),1)]),_:2},1032,["disabled","title","onClick"])):f("",!0),w(R)&&s.summary_status==="published"?(r(),U(d,{key:6,variant:"ghost",size:"sm",class:"min-h-11",disabled:B.has(s.id),onClick:n=>Sn(s)},{default:g(()=>[p(i,{name:"solar:eye-closed-linear",class:"h-4 w-4 mr-1.5"}),t[98]||(t[98]=y(" Retirer de la page replay",-1))]),_:1},8,["disabled","onClick"])):f("",!0)]),(ut[s.id]?.length??0)||(Ct[s.id]?.length??0)?(r(),o("section",Id,[t[100]||(t[100]=a("p",{class:"mb-3 text-sm font-semibold text-dark dark:text-white"},"Observations fournisseur non attribuées",-1)),a("div",Bd,[a("div",null,[a("p",Hd," En salle maintenant ("+c(ut[s.id]?.length??0)+") ",1),a("div",Wd,[(r(!0),o($,null,O(ut[s.id]??[],n=>(r(),o("span",{key:`present-${s.id}-${n}`,class:"rounded-full bg-white px-2.5 py-1 text-xs text-dark shadow-sm dark:bg-gray-900 dark:text-white"},c(n),1))),128)),ut[s.id]?.length?f("",!0):(r(),o("span",Jd,"Personne détectée."))])]),a("div",null,[a("p",Kd," Vus depuis le début ("+c(Ct[s.id]?.length??0)+") ",1),a("div",Gd,[(r(!0),o($,null,O(Ct[s.id]??[],n=>(r(),o("span",{key:`seen-${s.id}-${n}`,class:"rounded-full bg-white px-2.5 py-1 text-xs text-dark shadow-sm dark:bg-gray-900 dark:text-white"},c(n),1))),128))])])]),t[101]||(t[101]=a("p",{class:"mt-3 text-xs leading-5 text-grey-text"}," Noms fournis par la salle, sans rapprochement avec les inscrits. Ils servent au pilotage du direct, mais ne prouvent pas une identité et ne déclenchent aucun email ciblé. ",-1))])):f("",!0),s.summary_status==="review"&&w(pt)(s.replay_sharing)?(r(),o("p",Qd," La synthèse reste privée. Sa publication est bloquée tant que Diffusion du replay est « Bloquée ». ")):s.summary_status==="review"&&!s.summary_generated_at?(r(),o("p",Yd," La version de synthèse manque. Relancez la récupération avant de publier. ")):s.summary_status==="review"&&Oe(s)?(r(),o("p",Xd,c(Oe(s))+". ",1)):f("",!0),a("p",Zd,[p(i,{name:"solar:lightbulb-linear",class:"h-4 w-4 shrink-0 mt-0.5"}),s.status==="scheduled"?(r(),o("span",eu,"Le passage en direct attend une connexion confirmée. En cas d'échec, une option explicite permet de continuer sans transcription.")):s.status==="live"?(r(),o("span",tu,"Le bot est suivi pendant le direct. Quitter votre fenêtre WiiM Meet ne termine pas le webinaire.")):(r(),o("span",su,"Après la fin, la récupération se relance automatiquement. Une synthèse prête reste privée jusqu'à sa publication."))]),s.transcript_summary?(r(),o("section",au,[a("div",nu,[a("h3",iu,c(s.transcript_summary.title||"Synthèse générée"),1),a("span",ru,c(Ot(s.summary_status,s.replay_sharing)),1)]),s.transcript_summary.summary_md?(r(),o("p",lu,c(s.transcript_summary.summary_md),1)):f("",!0),s.transcript_summary.key_points?.length?(r(),o("ul",ou,[(r(!0),o($,null,O(s.transcript_summary.key_points,(n,V)=>(r(),o("li",{key:V},c(bs(n)),1))),128))])):f("",!0)])):f("",!0),["ended","cancelled"].includes(s.status)?(r(),o("section",du,[a("div",uu,[t[102]||(t[102]=a("div",null,[a("h3",{class:"text-sm font-semibold text-dark dark:text-white"},"Observations fournisseur non attribuées"),a("p",{class:"mt-1 max-w-3xl text-xs leading-5 text-grey-text"}," Ces noms viennent de la salle et ne sont jamais fusionnés avec les inscriptions. Ils permettent de piloter le direct, sans prouver une identité ni cibler automatiquement un email. ")],-1)),p(d,{variant:"ghost",size:"sm",class:"min-h-11",disabled:Ue.has(s.id),onClick:n=>Ie(s.id)},{default:g(()=>[p(i,{name:"solar:refresh-linear",class:"mr-1.5 h-4 w-4"}),y(" "+c(Ue.has(s.id)?"Chargementâ¦":"Actualiser les données"),1)]),_:2},1032,["disabled","onClick"])]),gt[s.id]?(r(),o("p",cu,c(gt[s.id]),1)):Ue.has(s.id)&&oe[s.id]===void 0?(r(),o("p",mu,"Chargement du transcript et des connexions détectéesâ¦")):xs(s).length?(r(),o("div",pu,[a("table",fu,[t[103]||(t[103]=a("thead",null,[a("tr",{class:"text-left text-xs text-grey-text"},[a("th",{class:"pb-2 font-medium"},"Nom fourni par la salle"),a("th",{class:"pb-2 font-medium"},"Première connexion"),a("th",{class:"pb-2 font-medium"},"Connexions"),a("th",{class:"pb-2 font-medium"},"Durée observée"),a("th",{class:"pb-2 font-medium"},"Dernier état")])],-1)),a("tbody",null,[(r(!0),o($,null,O(xs(s),n=>(r(),o("tr",{key:n.name,class:"border-t border-gray-100 dark:border-gray-800"},[a("td",bu,c(n.name),1),a("td",yu,c(_s(n.firstJoinedAt)||"Non horodatée"),1),a("td",gu,c(n.connectionCount||"Détectée seulement"),1),a("td",xu,c(n.connectionCount?w($i)(n.durationMs):"Non mesurée"),1),a("td",_u,c(n.departureDetected===!0?"Départ détecté":n.departureDetected===!1?"Aucun départ détecté":"Présence non horodatée"),1)]))),128))])])])):oe[s.id]?(r(),o("p",hu,"Aucun nom de participant nâa été détecté dans la salle.")):f("",!0),oe[s.id]?.segments?.length?(r(),o("details",{key:4,class:"mt-5 rounded-xl border border-gray-200 dark:border-gray-700",onToggle:n=>bn(s.id,n)},[a("summary",wu,[t[104]||(t[104]=a("span",null,"Transcript complet",-1)),a("span",vu,c(oe[s.id]?.segments?.length)+" segments",1)]),Dt.has(s.id)?(r(),o("div",Cu,[(r(!0),o($,null,O(oe[s.id]?.segments,(n,V)=>(r(),o("article",{key:`${n.at??"segment"}-${V}`,class:"grid gap-1 sm:grid-cols-[7rem_minmax(0,1fr)]"},[a("p",$u,c(_s(n.at)),1),a("div",null,[a("p",Lu,c(n.speaker),1),a("p",Su,c(n.text),1)])]))),128))])):f("",!0)],40,ku)):oe[s.id]?(r(),o("p",Ru,"Le transcript complet nâest pas encore disponible.")):f("",!0)])):f("",!0)],8,Sd)):f("",!0),X[s.id]==="replay"?(r(),o("div",{key:5,id:$e(s.id,"replay"),role:"region","aria-labelledby":Ce(s.id,"replay"),class:"px-5 py-4 border-t border-gray-100 dark:border-gray-800"},[a("div",Eu,[p(x,{label:"Diffusion du replay"},{default:g(()=>[a("select",{value:s.replay_sharing??"members",class:"ui-select rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-900 px-3 py-2 text-sm",disabled:!w(R)||ve(s.id)||s.status==="cancelled","aria-label":"Diffusion du replay",onChange:n=>Ta(s.id,n.target.value)},[...t[105]||(t[105]=[a("option",{value:"members"},"Membres connectés",-1),a("option",{value:"registered"},"Inscrits seulement",-1),a("option",{value:"off"},"Bloquée",-1)])],40,Pu)]),_:2},1024),t[106]||(t[106]=a("p",{class:"mt-1.5 text-xs text-grey-text"},"Bloquée coupe replay et synthèse partout, inscrits compris.",-1))]),s.status==="ended"&&ie(s)&&s.replay_sharing!=="off"&&!s.is_internal?(r(),U(Be,{key:0,"event-id":s.id,open:s.replay_access_open===!0,editable:w(R),onChanged:n=>s.replay_access_open=n},null,8,["event-id","open","editable","onChanged"])):f("",!0),a("div",Tu,[p(x,{label:"Lien du replay (YouTube/Vimeo)"},{default:g(()=>[p(b,{modelValue:z[s.id].replay_url,"onUpdate:modelValue":n=>z[s.id].replay_url=n,class:"w-full",placeholder:"https://youtube.com/watch?v=â¦",disabled:!w(R)||ve(s.id),onInput:n=>pe[s.id]=!0},null,8,["modelValue","onUpdate:modelValue","disabled","onInput"]),s.replay_candidate_url&&!s.replay_url?(r(),o("p",{key:0,id:Cs(s.id),class:"mt-1.5 text-xs leading-5 text-amber-700 dark:text-amber-300",role:"status"},c(va(s))+c(s.replay_candidate_received_at?` Réception : ${J(s.replay_candidate_received_at)}.`:""),9,Vu)):f("",!0)]),_:2},1024),p(x,{label:"Présentation (fichier privé)"},{default:g(()=>[a("input",{type:"file",accept:".pdf,.ppt,.pptx,application/pdf,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation",class:"block w-full min-h-11 rounded-lg border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900 px-3 py-2 text-sm text-dark dark:text-white file:mr-3 file:rounded-full file:border-0 file:bg-primary-50 file:px-3 file:py-1.5 file:text-sm file:font-semibold file:text-primary-700",disabled:!w(R)||nt(s.id)||ve(s.id)||s.status==="cancelled",onChange:n=>fn(s.id,n)},null,40,qu),nt(s.id)?(r(),o("p",Du," Chargement sécurisé en cours⦠")):z[s.id].deck_path?(r(),o("p",Mu,c(ne[s.id]?"Présentation privée prête à enregistrer.":"Présentation privée val
1idée et enregistrée."),1)):f("",!0),s.deck_migration_required?(r(),o("p",ju," Ancienne présentation non migrée. Chargez à nouveau le fichier pour la rendre disponible. ")):f("",!0),w(R)&&(Bt(s)||z[s.id].deck_path)?(r(),U(d,{key:3,variant:"ghost",size:"sm",class:"mt-2",disabled:nt(s.id)||ve(s.id)||s.status==="cancelled",onClick:n=>pn(s)},{default:g(()=>[p(i,{name:"solar:trash-bin-trash-linear",class:"h-4 w-4 mr-1.5"}),t[107]||(t[107]=y(" Retirer la présentation ",-1))]),_:1},8,["disabled","onClick"])):f("",!0)]),_:2},1024)]),ws(s.id)?f("",!0):(r(),o("p",Uu," Ajoutez un lien de replay ou une présentation pour pouvoir valider ce formulaire. ")),vs(s)?(r(),o("p",zu,[s.replay_candidate_url?(r(),o($,{key:0},[y(" La publication et lâemail « Replay disponible » sont automatiques après lâupload. Ce bouton sert de secours. ")],64)):(r(),o($,{key:1},[y(" Ce bouton publie le lien saisi et programme lâemail « Replay disponible » aux inscrits autorisés. ")],64)),t[108]||(t[108]=y(" Le remerciement envoyé après le direct reste séparé et annonce seulement un replay à venir. ",-1))])):se(s)&&z[s.id]?.deck_path.trim()&&!z[s.id]?.replay_url.trim()?(r(),o("p",Ou," La présentation seule sera enregistrée sans envoyer dâemail replay. Ajoutez un lien de replay pour pouvoir prévenir les inscrits. ")):se(s)&&ie(s)&&de(s)?(r(),o("p",Nu," Les modifications sont enregistrées sans nouvel email. Utilisez ensuite « Renvoyer lâemail replay » si les inscrits doivent être prévenus à nouveau. ")):f("",!0),a("div",Fu,[w(R)&&(!Ne(s)||de(s))?(r(),U(d,{key:0,disabled:ve(s.id)||nt(s.id)||!ws(s.id)||Ca(s)||s.status==="cancelled","aria-describedby":s.replay_candidate_url&&!s.replay_url?Cs(s.id):void 0,title:s.replay_sharing==="off"&&!s.replay_candidate_url?"Diffusion bloquée. Enregistrez sans envoyer.":void 0,onClick:n=>Vs(s.id,!1)},{default:g(()=>[p(i,{name:"solar:letter-linear",class:"h-4 w-4 mr-1.5"}),y(" "+c(ve(s.id)?"Enregistrementâ¦":wa(s)),1)]),_:2},1032,["disabled","aria-describedby","title","onClick"])):f("",!0),w(R)&&ie(s)&&se(s)?(r(),U(d,{key:1,variant:"ghost",size:"sm",disabled:ve(s.id)||nt(s.id)||de(s)||w(mt)(s)==="scheduled",title:de(s)?"Enregistrez dâabord vos modifications.":void 0,onClick:n=>Rn(s)},{default:g(()=>[y(c(w(mt)(s)==="scheduled"?"Envoi programmé":w(mt)(s)==="sent"?"Renvoyer lâemail replay":"Envoyer lâemail replay"),1)]),_:2},1032,["disabled","title","onClick"])):f("",!0),Ne(s)&&!de(s)?(r(),o("p",{key:2,class:K(["ml-auto text-xs",ie(s)&&!se(s)?"text-amber-700 dark:text-amber-300":"text-success"])},[p(i,{name:ie(s)&&!se(s)?"solar:clock-circle-linear":"solar:check-circle-linear",class:"h-4 w-4 inline -mt-0.5"},null,8,["name"]),y(" "+c(ie(s)?$a(s):"Présentation privée enregistrée."),1)],2)):Ne(s)?(r(),o("p",Iu,"Modifications non enregistrées.")):f("",!0)]),s.replay_sharing==="off"?(r(),o("p",Bu," Diffusion bloquée. Enregistrez sans envoyer. Aucun email replay ne partira. ")):f("",!0),s.status==="cancelled"?(r(),o("p",Hu," Ãvénement annulé. Le replay ne peut plus être modifié, publié ou envoyé. ")):f("",!0),w(R)?f("",!0):(r(),o("p",Wu," Consultation uniquement. La validation et les envois de replay sont réservés aux administrateurs. ")),w(R)&&ie(s)&&se(s)?(r(),o("div",Ju,[t[110]||(t[110]=a("p",{class:"text-sm font-semibold text-dark dark:text-white"},"Envoyer le replay à une liste de contacts",-1)),t[111]||(t[111]=a("p",{class:"mt-1 text-xs text-grey-text"},"Les contacts de la liste sont inscrits au webinaire et reçoivent l'email replay avec leur lien personnel. Les désinscrits sont exclus.",-1)),a("div",Ku,[p(b,{modelValue:Ge[s.id],"onUpdate:modelValue":n=>Ge[s.id]=n,as:"select",class:"h-10","aria-label":"Liste de contacts à inviter au replay"},{default:g(()=>[t[109]||(t[109]=a("option",{value:""},"Choisir une listeâ¦",-1)),(r(!0),o($,null,O(Ee.value,n=>(r(),o("option",{key:n.id,value:n.id},c(n.name)+" ("+c(n.members_count)+") ",9,Gu))),128))]),_:1},8,["modelValue","onUpdate:modelValue"]),p(d,{variant:"ghost",size:"sm",disabled:!Ge[s.id]||Qe.has(s.id),onClick:n=>An(s)},{default:g(()=>[y(c(Qe.has(s.id)?"Envoiâ¦":"Inscrire la liste et envoyer"),1)]),_:2},1032,["disabled","onClick"])])])):f("",!0)],8,Au)):f("",!0)]),_:2},1024))),128))],64))),128)),!Q.value.length&&P.value?(r(),U(k,{key:2,as:"div",class:"mb-4 text-center py-12",role:"alert"},{default:g(()=>[p(i,{name:"solar:danger-triangle-linear",class:"h-10 w-10 text-amber-500/70 mx-auto"}),t[113]||(t[113]=a("p",{class:"font-semibold text-dark dark:text-white mt-4"},"La liste n'a pas pu être chargée",-1)),a("p",Qu,c(P.value),1),p(d,{class:"mt-5",onClick:t[10
1]||(t[10]=T=>q())},{default:g(()=>[...t[112]||(t[112]=[y("Réessayer",-1)])]),_:1})]),_:1})):!Q.value.length&&!v.value?(r(),U(k,{key:3,as:"div",class:"mb-4 text-center py-12",role:"status","aria-live":"polite"},{default:g(()=>[p(i,{name:"solar:refresh-linear",class:"h-10 w-10 animate-spin text-primary-600/40 dark:text-primary-300/40 mx-auto"}),t[114]||(t[114]=a("p",{class:"text-sm text-grey-text mt-4"},"Chargement des événementsâ¦",-1))]),_:1})):Q.value.length?f("",!0):(r(),U(k,{key:4,as:"div",class:"mb-4 text-center py-12"},{default:g(()=>[p(i,{name:"solar:calendar-add-linear",class:"h-10 w-10 text-primary-600/40 dark:text-primary-300/40 mx-auto"}),a("p",Yu,c(E.value.length?"Aucun événement hors données de test":"Aucun événement"),1),a("p",Xu,c(E.value.length?"Seules des données de test existent. Cochez « Afficher les données de test » pour les voir.":"Créez votre premier webinaire investisseurs : la séquence d'emails se met en place toute seule."),1),p(d,{class:"mt-5",onClick:t[11]||(t[11]=T=>ke.value=!0)},{default:g(()=>[...t[115]||(t[115]=[y("Nouvel événement",-1)])]),_:1})]),_:1}))]),p(In,{show:!!M.value,title:M.value?.title??"",description:M.value?.description,"confirm-label":M.value?.confirmLabel,"cancel-label":M.value?.cancelLabel,tone:M.value?.tone,icon:M.value?.icon,busy:it.value,onConfirm:Gs,onCancel:Qs},null,8,["show","title","description","confirm-label","cancel-label","tone","icon","busy"]),F.open?(r(),o("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",role:"dialog","aria-modal":"true","aria-label":"Aperçu de l'email",onClick:On(ns,["self"])},[a("div",Zu,[a("div",ec,[a("div",tc,[a("p",sc,c(F.subject||"Aperçu"),1),F.sentAt?(r(),o("p",ac,"Envoyé le "+c(J(F.sentAt))+" · rendu actuel du gabarit",1)):f("",!0)]),a("button",{type:"button",class:"grid h-9 w-9 shrink-0 place-items-center rounded-lg text-grey-text hover:bg-gray-100 dark:hover:bg-white/10","aria-label":"Fermer",onClick:ns},[p(i,{name:"solar:close-circle-linear",class:"h-5 w-5"})])]),a("div",nc,[F.loading?(r(),o("p",ic,"Chargement de l'aperçuâ¦")):F.error?(r(),o("p",rc,c(F.error),1)):(r(),o("iframe",{key:2,sandbox:"",srcdoc:F.html,class:"w-full rounded-xl border border-gray-200 dark:border-gray-700",style:{height:"640px"},title:"Aperçu de l'email"},null,8,lc))])])])):f("",!0)],64)}}});export{kc 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.