1import{d as W,a as X,u as Z,z as ee,b as te,B as g,o as oe,c as d,l as o,h as i,v as ae,p as y,t as x,e as a,F as E,r as S,i as w,g as F,k as u,ah as L,j as c,Q as le}from"./CiKtckVa.js";import{_ as C}from"./5DDz-OcZ.js";import{V as v}from"./DjYJYkEl.js";import{V as N}from"./CgrWSzAG.js";import{_ as ne}from"./BdHjvwH4.js";import{V as M}from"./CHCaeQPP.js";import{u as se}from"./Drx3cB6G.js";import{u as ie}from"./CQtUmiOh.js";import"./kyA1SXwn.js";const re={class:"min-h-screen bg-gray-50 dark:bg-gray-900 font-sans"},de={class:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-6"},ce={class:"text-2xl font-bold text-gray-900 dark:text-white mb-6"},ue={key:0,class:"space-y-4"},me={key:1,class:"bg-white dark:bg-gray-800 rounded-lg border border-gray-100 dark:border-gray-700 p-8 text-center"},pe={key:2,class:"bg-white dark:bg-gray-800 rounded-xl border border-gray-100 dark:border-gray-700 p-5 sm:p-6 space-y-5"},fe={class:"flex flex-wrap gap-2"},be=["onClick"],ge={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},ye={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},xe={class:"pt-1"},ve={class:"pt-2"},ke={class:"notification-content"},_e={class:"notification-text"},he={class:"notification-title"},Ve={key:0,class:"notification-description whitespace-pre-line"},we={key:0,class:"notification-actions"},Ce={class:"club-info-btn"},Te={class:"flex justify-end gap-3 pt-4 border-t border-gray-100 dark:border-gray-700"},De=W({__name:"[token]",setup($e){const T=X(),k=Z(),R=ee(),q=se(),{items:b,fetchAll:D,create:H,update:j,fetchSections:O}=ie(),_=u(()=>T.params.token),m=u(()=>_.value==="new"),h=u(()=>T.query.from),$=u(()=>m.value&&!!h.value),I=u(()=>$.value?"Dupliquer l'information":m.value?"Nouvelle information":"Modifier l'information");te({title:()=>I.value});const p=g(!m.value||$.value),U=g(!1),f=g(!1),Q=[{label:"Information",value:"info"},{label:"Avertissement",value:"warning"},{label:"Erreur / important",value:"error"}],e=L({title:"",description:"",type:"info",icon:"",section:"all",cta_label:"",cta_link:"",start_at:null,end_at:null,enabled:!0}),A=g([{label:"Tous les membres et invités",value:"all"}]),Y=["heroicons:megaphone","heroicons:information-circle","heroicons:exclamation-triangle","heroicons:bell","heroicons:calendar-days","heroicons:clock","heroicons:gift","heroicons:academic-cap","heroicons:trophy","heroicons:map-pin","heroicons:currency-euro","heroicons:document-text","heroicons:sparkles","heroicons:heart","heroicons:users","heroicons:wrench-screwdriver","heroicons:fire","heroicons:star","heroicons:hand-raised","heroicons:shield-check"],r=L({}),P=u(()=>e.type==="error"?"heroicons:x-circle":e.type==="warning"?"heroicons:exclamation-triangle":"heroicons:information-circle"),G=u(()=>e.icon||P.value),B=l=>{if(!l)return null;const t=s=>String(s).padStart(2,"0");return`${l.getFullYear()}-${t(l.getMonth()+1)}-${t(l.getDate())}T${t(l.getHours())}:${t(l.getMinutes())}`},z=l=>{e.title=l.title,e.description=l.description||"",e.type=l.type,e.icon=l.icon||"",e.section=l.section||"all",e.cta_label=l.cta_label||"",e.cta_link=l.cta_link||"",e.start_at=l.start_at?new Date(l.start_at):null,e.end_at=l.end_at?new Date(l.end_at):null,e.enabled=l.enabled},J=()=>{r.title=void 0,r.cta_link=void 0,r.end_at=void 0;let l=!0;return e.title.trim()||(r.title="Le titre est obligatoire.",l=!1),e.cta_link&&!/^(https?:\/\/|\/)/i.test(e.cta_link.trim())&&(r.cta_link="Lien invalide (doit commencer par / ou http).",l=!1),e.start_at&&e.end_at&&e.end_at<e.start_at&&(r.end_at="La fin doit être après le début.",l=!1),l},K=async()=>{if(!(!J()||f.value)){f.value=!0;try{const l={title:e.title.trim(),description:e.description.trim()||null,type:e.type,icon:e.icon||null,section:e.section||"all",cta_label:e.cta_label.trim()||null,cta_link:e.cta_link.trim()||null,start_at:B(e.start_at),end_at:B(e.end_at),enabled:e.enabled};(m.value?await H(l):await j(_.value,l))&&(R.add({title:"Enregistré",description:"L'information a été enregistrée.",color:"green",icon:"heroicons:check-circle"}),k.push("/app/admin/club-info"))}finally{f.value=!1}}},V=()=>k.push("/app/admin/club-info");return oe(async()=>
1{if(!await q.hasPermissionAsync("club_edit")){k.push("/app");return}const t=await O();if(A.value=[{label:"Tous les membres et invités",value:"all"},...t.map(s=>({label:s.name,value:s.token}))],m.value){if(h.value){p.value=!0;try{b.value.length===0&&await D();const s=b.value.find(n=>n.token===h.value);s&&(z(s),e.title=`${s.title} (copie)`)}finally{p.value=!1}}return}p.value=!0;try{b.value.length===0&&await D();const s=b.value.find(n=>n.token===_.value);if(!s){U.value=!0;return}z(s)}finally{p.value=!1}}),(l,t)=>{const s=ae;return c(),d("div",re,[o("div",de,[o("button",{class:"inline-flex items-center text-sm text-gray-500 dark:text-gray-400 hover:text-primary mb-4",onClick:V},[i(s,{name:"heroicons:arrow-left",class:"w-4 h-4 mr-1.5"}),t[10]||(t[10]=y(" Retour aux informations ",-1))]),o("h1",ce,x(a(I)),1),a(p)?(c(),d("div",ue,[(c(),d(E,null,S(5,n=>o("div",{key:n,class:"h-12 bg-white dark:bg-gray-800 rounded-lg border border-gray-100 dark:border-gray-700 animate-pulse"})),64))])):a(U)?(c(),d("div",me,[i(s,{name:"heroicons:exclamation-circle",class:"w-10 h-10 text-gray-300 dark:text-gray-600 mx-auto mb-3"}),t[11]||(t[11]=o("p",{class:"text-gray-500 dark:text-gray-400"},"Cette information est introuvable.",-1)),i(C,{class:"mt-4 mx-auto",text:"Retour",color:"secondary",size:"sm",onClick:V})])):(c(),d("div",pe,[o("div",null,[t[12]||(t[12]=o("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5"},[y("Titre "),o("span",{class:"text-red-500"},"*")],-1)),i(v,{modelValue:a(e).title,"onUpdate:modelValue":t[0]||(t[0]=n=>a(e).title=n),placeholder:"Titre de l'information","max-length":255,error:a(r).title},null,8,["modelValue","error"])]),o("div",null,[t[13]||(t[13]=o("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5"},"Description",-1)),i(v,{modelValue:a(e).description,"onUpdate:modelValue":t[1]||(t[1]=n=>a(e).description=n),placeholder:"Détail de l'information","is-textarea":"",rows:5},null,8,["modelValue"])]),o("div",null,[t[14]||(t[14]=o("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5"},"Type",-1)),i(N,{modelValue:a(e).type,"onUpdate:modelValue":t[2]||(t[2]=n=>a(e).type=n),options:Q,vertical:""},null,8,["modelValue"])]),o("div",null,[t[15]||(t[15]=o("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5"},[y("Visibilité "),o("span",{class:"text-red-500"},"*")],-1)),i(N,{modelValue:a(e).section,"onUpdate:modelValue":t[3]||(t[3]=n=>a(e).section=n),options:a(A),vertical:""},null,8,["modelValue","options"]),t[16]||(t[16]=o("p",{class:"text-gray-500 dark:text-gray-400 text-xs mt-1 italic"}," « Tous les membres et invités », ou une section pour restreindre l'affichage à ses membres. ",-1))]),o("div",null,[t[18]||(t[18]=o("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5"},"Icône",-1)),o("div",fe,[o("button",{type:"button",class:w(["icon-choice",{"is-selected":!a(e).icon}]),title:"Par défaut (selon le type)",onClick:t[4]||(t[4]=n=>a(e).icon="")},[i(s,{name:a(P),class:"w-5 h-5"},null,8,["name"]),t[17]||(t[17]=o("span",{class:"text-[10px] leading-none mt-1"},"Défaut",-1))],2),(c(),d(E,null,S(Y,n=>o("button",{key:n,type:"button",class:w(["icon-choice",{"is-selected":a(e).icon===n}]),onClick:Ie=>a(e).icon=n},[i(s,{name:n,class:"w-5 h-5"},null,8,["name"])],10,be)),64))])]),o("div",ge,[o("div",null,[t[19]||(t[19]=o("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5"},"Bouton â libellé",-1)),i(v,{modelValue:a(e).cta_label,"onUpdate:modelValue":t[5]||(t[5]=n=>a(e).cta_label=n),placeholder:"Ex. En savoir plus","max-length":255},null,8,["modelValue"])]),o("div",null,[t[20]||(t[20]=o("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5"},"Bouton â lien",-1)),i(v,{modelValue:a(e).cta_link,"onUpdate:modelValue":t[6]||(t[6]=n=>a(e).cta_link=n),type:"url",placeholder:"/app/... ou https://...",error:a(r).cta_link},null,8,["modelValue","error"])])]),o("div",ye,[o("div",null,[t[21]||(t[21]=o("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5"},"Début d'affichage",-1)),i(M,{modelValue:a(e).start_at,"onUpdate:modelValue":t[7]||(t[7]=n=>a(e).start_at=n),"date-type":"datetime","with-time":"",help:"Vide = dès maintenant"},null,8,["modelValue"])]),o("div",null,[t[22]||(t[22]=o("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5"},"Fin d'affichage",-1)),i(M,{modelValue:a(e).end_at,"onUpdate:modelValue":t[8]||(t[8]=n=>a(e).end_at=n),"date-type":"datetime","with-time":"",help:"Vide = sans fin",error:a(r).end_at},null,8,["modelValue","error"])])]),o("div",xe,[i(ne,{modelValue:a(e).enabled,"onUpdate:modelValue":t[9]||(t[9]=n=>a(e).enabled=n),label:"Activée",subtitle:"Décochez pour masquer sans supprimer"},null,8,["modelValue"])]),o("div",ve,[t[23]||(t[23]=o("p",{class:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},"Aperçu sur la page d'accueil",-1)),o("div",{class:w(["club-info-notification",`is-${a(e).type}`])},[o("div",ke,[o("div",_e,[o("h3",he,[i(s,{name:a(G),class:"notification-icon w-5 h-5 mr-2"},null,8,["name"]),y(" "+x(a(e).title||"Titre de l'information"),1)]),a(e).description?(c(),d("p",Ve,x(a(e).description),1)):F("",!0)]),a(e).cta_label&&a(e).cta_link?(c(),d("div",we,[o("span",Ce,x(a(e).cta_label),1)])):F("",!0)])],2)]),o("div",Te,[i(C,{text:"Annuler",color:"secondary",size:"sm",onClick:V}),i(C,{text:a(m)?"Publier":"Enregistrer",color:"primary",size:"sm",icon:"heroicons:check","icon-position":"left",loading:a(f),disabled:a(f),onClick:K},null,8,["text","loading","disabled"])])]))])])}}}),Ne=le(De,[["__scopeId","data-v-b8c0c44e"]]);export{Ne 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.