1import{j as e,a2 as V,r as _,b5 as R,ar as U,o as S,p as G,B as y,a3 as H,q as Z,as as Y,s as m,x as w,bt as J,b2 as X,bu as T,cb as O,df as ee,co as te,db as le,an as ae,l as se,cK as oe,cL as re,cM as ie,cN as ne}from"./index-BTrKqWIn.js";import{C as L}from"./card-vCGE_HIz.js";import{A as ce,a as ue,b as de,c as pe,d as ge,e as ye,f as be,g as me}from"./alert-dialog-D9Qc8TP5.js";import{D}from"./DynamicLucideIcon-Cq0AwPWv.js";import{L as he}from"./label-t1-XzSMS.js";import{S as xe}from"./switch-DqwVG63i.js";import{S as _e,a as ke,b as fe,c as ve,f as Se}from"./select-C5QQdRg6.js";import{C as we,a as je,b as Ne}from"./collapsible-CwWBKP0h.js";import"./index-CXDJVP3B.js";import"./index-BdQq_4o_.js";import"./index-B_plQHJ4.js";const E=[{id:"donation",label:"Donation",description:"Widget de don avec progression",icon:"Heart",defaultSettings:{title:"SOUTENEZ ROOTS",subtitle:"En soutenant ROOTS, vous participez à la riposte contre la haine.",cta_text:"Choisir le montant",cta_url:"/don",show_progress:!0,show_amounts:!0,background_color:"",text_color:""},presets:[{id:"donation_full",label:"Complet",icon:"CreditCard",settings:{show_progress:!0,show_amounts:!0}},{id:"donation_simple",label:"Simple",icon:"Heart",settings:{show_progress:!1,show_amounts:!1}},{id:"donation_urgent",label:"Urgent",icon:"AlertTriangle",settings:{show_progress:!0,show_amounts:!0,background_color:"#E31C25",text_color:"#FFFFFF"}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"SOUTENEZ ROOTS"},{key:"subtitle",label:"Description",type:"textarea",group:"content",placeholder:"En soutenant ROOTS..."},{key:"show_progress",label:"Afficher la barre de progression",type:"boolean",group:"content"},{key:"show_amounts",label:"Afficher les montants prédéfinis",type:"boolean",group:"content"},{key:"cta_text",label:"Texte du bouton",type:"text",group:"cta",placeholder:"Choisir le montant"},{key:"cta_url",label:"URL du bouton",type:"text",group:"cta",placeholder:"/don"},{key:"background_color",label:"Couleur de fond",type:"color",group:"style"},{key:"text_color",label:"Couleur du texte",type:"color",group:"style"}]},{id:"newsletter",label:"Newsletter",description:"Inscription à la newsletter",icon:"Mail",defaultSettings:{title:"Newsletter",subtitle:"Restez informé de nos dernières publications",cta_text:"S'inscrire",cta_url:"/newsletter",style:"default",background_color:"",text_color:""},presets:[{id:"newsletter_simple",label:"Simple",icon:"Mail",settings:{style:"default"}},{id:"newsletter_highlight",label:"Mise en avant",icon:"Star",settings:{style:"highlight",background_color:"#E31C25",text_color:"#FFFFFF"}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"Newsletter"},{key:"subtitle",label:"Description",type:"textarea",group:"content",placeholder:"Restez informé..."},{key:"style",label:"Style",type:"select",group:"style",options:[{value:"default",label:"Par défaut"},{value:"highlight",label:"Mise en avant"},{value:"minimal",label:"Minimal"}]},{key:"cta_text",label:"Texte du bouton",type:"text",group:"cta",placeholder:"S'inscrire"},{key:"cta_url",label:"URL du bouton",type:"text",group:"cta",placeholder:"/newsletter"},{key:"background_color",label:"Couleur de fond",type:"color",group:"style"},{key:"text_color",label:"Couleur du texte",type:"color",group:"style"}]},{id:"cta",label:"Call to Action",description:"Bouton d'appel à l'action personnalisé",icon:"MousePointer",defaultSettings:{title:"",subtitle:"",cta_text:"En savoir plus",cta_url:"/",image_url:"",background_color:"#E31C25",text_color:"#FFFFFF"},presets:[{id:"cta_primary",label:"Primaire",icon:"Zap",settings:{background_color:"#E31C25",text_color:"#FFFFFF"}},{id:"cta_dark",label:"Sombre",icon:"Moon",settings:{background_color:"#1a1a1a",text_color:"#FFFFFF"}},{id:"cta_light",label:"Clair",icon:"Sun",settings:{background_color:"#f5f5f5",text_color:"#1a1a1a"}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"Titre du CTA"},{key:"subtitle",label:"Sous-titre",type:"textarea",group:"content",placeholder:"Description..."},{key:"image_url",label:"Image de fond",type:"image_upload",group:"content"},{key:"cta_text",label:"Texte du bouton",type:"text",group:"cta",placeholder:"En savoir plus"},{key:"cta_url",label:"URL du bouton",type:"text",group:"cta",placeholder:"/"},{key:"background_color",label:"Couleur de fond",type:"color",group:"style"},{key:"text_color",label:"Couleur du texte",type:"color",group:"style"}]},{id:"custom",label:"Contenu libre",description:"Contenu HTML personnalisé",icon:"Code",defaultSettings:{title:"",content:"",cta_text:"",cta_url:"",background_color:"",text_color:""},presets:[{id:"custom_info",label:"Info",icon:"Info",settings:{background_color:"#3b82f6",text_color:"#FFFFFF"}},{id:"custom_warning",label:"Alerte",icon:"AlertTriangle",settings:{background_color:"#f59e0b",text_color:"#FFFFFF"}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"Titre (optionnel)"},{key:"content",label:"Contenu HTML",type:"textarea",group:"content",placeholder:"<p>Votre contenu...</p>"},{key:"cta_text",label:"Texte du lien",type:"text",group:"cta",placeholder:"Lien (optionnel)"},{key:"cta_url",label:"URL",type:"text",group:"cta",placeholder:"/"},{key:"background_color",label:"Couleur de fond",type:"color",group:"style"},{key:"text_color",label:"Couleur du texte",type:"color",group:"style"}]},{id:"social",label:"Réseaux sociaux",description:"Liens vers les réseaux sociaux",icon:"Share2",defaultSettings:{title:"Suivez-nous",show_instagram:!0,show_facebook:!0,show_t
1witter:!0,show_youtube:!0,show_linkedin:!1,show_tiktok:!1,style:"icons",instagram_url:"https://instagram.com/roots_officiel",facebook_url:"https://facebook.com/roots",twitter_url:"https://twitter.com/roots",youtube_url:"https://youtube.com/roots",linkedin_url:"",tiktok_url:""},presets:[{id:"social_icons",label:"Icônes",icon:"Grid2x2",settings:{style:"icons"}},{id:"social_buttons",label:"Boutons",icon:"LayoutList",settings:{style:"buttons"}},{id:"social_colored",label:"Colorés",icon:"Palette",settings:{style:"colored"}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"Suivez-nous"},{key:"style",label:"Style",type:"select",group:"style",options:[{value:"icons",label:"Icônes simples"},{value:"buttons",label:"Boutons"},{value:"colored",label:"Couleurs de marque"}]},{key:"show_instagram",label:"Instagram",type:"boolean",group:"content"},{key:"instagram_url",label:"URL Instagram",type:"text",group:"content"},{key:"show_facebook",label:"Facebook",type:"boolean",group:"content"},{key:"facebook_url",label:"URL Facebook",type:"text",group:"content"},{key:"show_twitter",label:"Twitter/X",type:"boolean",group:"content"},{key:"twitter_url",label:"URL Twitter",type:"text",group:"content"},{key:"show_youtube",label:"YouTube",type:"boolean",group:"content"},{key:"youtube_url",label:"URL YouTube",type:"text",group:"content"},{key:"show_linkedin",label:"LinkedIn",type:"boolean",group:"content"},{key:"linkedin_url",label:"URL LinkedIn",type:"text",group:"content"},{key:"show_tiktok",label:"TikTok",type:"boolean",group:"content"},{key:"tiktok_url",label:"URL TikTok",type:"text",group:"content"}]},{id:"quote",label:"Citation",description:"Citation inspirante",icon:"Quote",defaultSettings:{content:"",author:"",author_role:"",style:"classic",background_color:"",text_color:""},presets:[{id:"quote_classic",label:"Classique",icon:"Quote",settings:{style:"classic"}},{id:"quote_modern",label:"Moderne",icon:"Sparkles",settings:{style:"modern",background_color:"#f5f5f5"}},{id:"quote_bold",label:"Impactant",icon:"Zap",settings:{style:"bold",background_color:"#1a1a1a",text_color:"#FFFFFF"}}],settingsSchema:[{key:"content",label:"Citation",type:"textarea",group:"content",placeholder:"Votre citation..."},{key:"author",label:"Auteur",type:"text",group:"content",placeholder:"Nom de l'auteur"},{key:"author_role",label:"Fonction/Titre",type:"text",group:"content",placeholder:"PDG, Ãcrivain..."},{key:"style",label:"Style",type:"select",group:"style",options:[{value:"classic",label:"Classique"},{value:"modern",label:"Moderne"},{value:"bold",label:"Impactant"}]},{key:"background_color",label:"Couleur de fond",type:"color",group:"style"},{key:"text_color",label:"Couleur du texte",type:"color",group:"style"}]},{id:"poll_teaser",label:"Teaser Sondage",description:"Lien vers le dernier sondage",icon:"Vote",defaultSettings:{title:"Donnez votre avis",subtitle:"Participez à notre dernier sondage",cta_text:"Participer",cta_url:"/",show_stats:!0,style:"default"},presets:[{id:"poll_default",label:"Par défaut",icon:"Vote",settings:{style:"default",show_stats:!0}},{id:"poll_compact",label:"Compact",icon:"Minus",settings:{style:"compact",show_stats:!1}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"Donnez votre avis"},{key:"subtitle",label:"Description",type:"textarea",group:"content",placeholder:"Participez..."},{key:"show_stats",label:"Afficher les stats",type:"boolean",group:"content"},{key:"style",label:"Style",type:"select",group:"style",options:[{value:"default",label:"Par défaut"},{value:"compact",label:"Compact"},{value:"highlight",label:"Mise en avant"}]},{key:"cta_text",label:"Texte du bouton",type:"text",group:"cta",placeholder:"Participer"},{key:"cta_url",label:"URL",type:"text",group:"cta",placeholder:"/"}]},{id:"app_download",label:"Télécharger l'app",description:"Lien vers l'application mobile",icon:"Smartphone",defaultSettings:{title:"Téléchargez notre app",subtitle:"Disponible sur iOS et Android",show_ios:!0,show_android:!0,ios_url:"",android_url:"",style:"badges"},presets:[{id:"app_badges",label:"Badges",icon:"Store",settings:{style:"badges"}},{id:"app_qr",label:"QR Code",icon:"QrCode",settings:{style:"qr"}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"Téléchargez notre app"},{key:"subtitle",label:"Description",type:"textarea",group:"content",placeholder:"Disponible sur..."},{key:"show_ios",label:"Bouton iOS",type:"boolean",group:"content"},{key:"ios_url",label:"URL App Store",type:"text",group:"content"},{key:"show_android",label:"Bouton Android",type:"boolean",group:"content"},{key:"android_url",label:"URL Play Store",type:"text",group:"content"},{key:"style",label:"Style",type:"select",group:"style",options:[{value:"badges",label:"Badges officiels"},{value:"buttons",label:"Boutons"},{value:"qr",label:"QR Code"}]}]},{id:"related_links",label:"Liens rapides",description:"Liste de liens utiles",icon:"Link",defaultSettings:{title:"Liens utiles",links:[{label:"à propos",url:"/about"},{label:"Contact",url:"/contact"}],style:"list"},presets:[{id:"links_list",label:"Liste",icon:"List",settings:{style:"list"}},{id:"links_buttons",label:"Boutons",icon:"LayoutGrid",settings:{style:"buttons"}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"Liens utiles"},{key:"style",label:"Style",type:"select",group:"style",options:[{value:"list",label:"Liste"},{value:"buttons",label:"Boutons"},{value:"cards",label:"Cartes"}]}]},{id:"countdown",label:"Compte à rebours",description:"Compte à rebours vers une date",icon:"Clock",defaultSettings:{title:"Ãvénement à venir",target_date:"",expired_message:"C'est maintenant !",cta_text:"",cta_url:"",style:"default"},presets:[{id:"countdown_default",label:"Par défaut",icon:"Clock",settings:{style:"default"}},{id:"countdown_urgent",label:"Urgent",icon:"AlertTriangle",settings:{style:"urgent",background_color:"#E31C25",text_color:"#FFFFFF"}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"Ãvénement à venir"},{key:"target_date",label:"Date cible",type:"text",group:"content",placeholder:"2025-12-31T23:59:59"},{key:"expired_message",label:"Message après expiration",type:"text",group:"content",placeholder:"C'est maintenant !"},{key:"style",label:"Style",type:"select",group:"style",options:[{value:"default",label:"Par défaut"},{value:"compact",label:"Compact"},{value:"urgent",label:"Urgent"}]},{key:"cta_text",label:"Texte du bouton",type:"text",group:"cta",placeholder:"En savoir plus"},{key:"cta_url",label:"URL",type:"text",group:"cta",placeholder:"/"},{key:"background_color",label:"Couleur de fond",type:"color",group:"style"},{key:"text_color",label:"Couleur du texte",type:"color",group:"style"}]},{id:"articles_list",label:"Liste d'articles",description:"Derniers articles, plus populaires ou par catégorie",icon:"Newspaper",defaultSettings:{title:"Derniers articles",mode:"latest",category:"",limit:5,show_image:!0,show_date:!0,show_category:!1},presets:[{id:"articles_latest",label:"Derniers",icon:"Clock",settings:{mode:"latest",title:"Derniers articles"}},{id:"articles_popular",label:"Populaires",icon:"TrendingUp",settings:{mode:"popular",title:"Les plus lus"}},{id:"articles_category",label:"Par catégorie",icon:"Tag",settings:{mode:"category",title:"Sur le même thème"}}],settingsSchema:[{key:"title",label:"Titre",type:"text",group:"content",placeholder:"Derniers articles"},{key:"mode",label:"Type de liste",type:"select",group:"content",options:[{value:"latest",label:"Derniers articles"},{value:"popular",label:"Plus populaires"},{value:"category",label:"Par catégorie"}]},{key:"category",label:"Catégorie (si mode = catégorie)",type:"select",group:"content",options:[{value:"",label:"â Aucune â"},{value:"analyse",label:"Analyse"},{value:"fact-checking",label:"Fact-checking"},{value:"interviews",label:"Paroles"},{value:"histoire-juive",label:"Mémoire"},{value:"culture",label:"Culture"},{value:"jewish-world",label:"Société"},{value:"tsarfatim",label:"Tsarfatim"},{value:"histoire-disrael",label:"Histoire d'Israël"}]},{key:"limit",label:"Nombre d'articles",type:"number",group:"content",placeholder:"5"},{key:"show_image",label:"Afficher la miniature",type:"boolean",group:"style"},{key:"show_date",label:"Afficher la date",type:"boolean",group:"style"},{key:"show_category",label:"Afficher la catégorie",type:"boolean",group:"style"}]}],I=n=>E.find(o=>o.id===n),Ce=({presets:n,currentSettings:o,onSelectPreset:p})=>{if(!n||n.length===0)return null;const u=(()=>{for(const c of n)if(Object.keys(c.settings).every(b=>o[b]===c.settings[b]))return c.id;return null})();return e.jsxs("div",{className:"space-y-3 pb-4 border-b",children:[e.jsx("h4",{className:"text-sm font-medium text-muted-foreground",children:"Modèles rapides"}),e.jsx("div",{className:"grid grid-cols-3 gap-2",children:n.map(c=>{const i=c.id===u;return e.jsxs(L,{className:`p-2 cursor-pointer transition-all relative ${i?"border-primary bg-primary/5 ring-1 ring-primary":"hover:border-primary/50 hover:bg-muted/50"}`,onClick:()=>p(c),children:[i&&e.jsx("div",{className:"absolute -top-1 -right-1 w-4 h-4 bg-primary rounded-full flex items-center justify-center",children:e.jsx(V,{className:"h-2.5 w-2.5 text-white"})}),e.jsxs("div",{className:"flex flex-col items-center gap-1.5 text-center",children:[e.jsx("div",{className:`p-1.5 rounded-lg ${i?"bg-primary/20":"bg-muted"}`,children:e.jsx(D,{name:c.icon,className:`h-4 w-4 ${i?"text-primary":"text-muted-foreground"}`})}),e.jsx("span",{className:`text-[10px] font-medium ${i?"text-primary":""}`,children:c.label})]})]},c.id)})})]})},A=({title:n,icon:o,defaultOpen:p=!1,children:d})=>{const[u,c]=_.useState(p);return e.jsxs(we,{open:u,onOpenChange:c,children:[e.jsxs(je,{className:"flex items-center justify-between w-full py-2 px-1 border-b hover:bg-muted/50 transition-colors rounded-t",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-base",children:o}),e.jsx("span",{className:"font-medium text-sm",children:n})]}),u?e.jsx(R,{className:"h-4 w-4 text-muted-foreground"}):e.jsx(U,{className:"h-4 w-4 text-muted-foreground"})]}),e.jsx(Ne,{className:"pt-3 pb-2 space-y-3",children:d})]})},Fe=({widgetType:n,settings:o,onChange:p})=>{const d=I(n),[u,c]=_.useState(!1);if(!d)return e.jsx("p",{className:"text-sm text-muted-foreground",children:"Widget non reconnu"});const i=(l,a)=>{p({...o,[l]:a})},g=async(l,a)=>{try{c(!0);const h=a.name.split(".").pop(),j=`sidebar/${`${Date.now()}-${Math.random().toString(36).substring(7)}.${h}`}`,{error:N}=await m.storage.from("editorial-images").upload(j,a);if(N)throw N;const{data:{publicUrl:C}}=m.storage.from("editorial-images").getPublicUrl(j);i(l,C),w.success("Image uploadée")}catch(h){w.error(h.message||"Erreur lors de l'upload")}finally{c(!1)}},b=d.settingsSchema.filter(l=>l.group==="content"||!l.group),v=d.settingsSchema.filter(l=>l.group==="style"),f=d.settingsSchema.filter(l=>l.group==="cta"),k=l=>e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(he,{htmlFor:l.key,className:"text-xs",children:l.label}),l.type==="text"&&e.jsx(S,{id:l.key,value:String(o[l.key]||""),onChange:a=>i(l.key,a.target.value),placeholder:l.placeholder,className:"h-9"}),l.type==="textarea"&&e.jsx(G,{id:l.key,value:String(o[l.key]||""),onChange:a=>i(l.key,a.target.value),placeholder:l.placeholder,rows:3}),l.type==="number"&&e.jsx(S,{id:l.key,type:"number",value:Number(o[l.key])||0,onChange:a=>i(l.key,parseInt(a.target.value)),className:"h-9"}),l.type==="boolean"&&e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(xe,{id:l.key,checked:!!o[l.key],onCheckedChange:a=>i(l.key,a)})}),l.type==="select"&&l.options&&e.jsxs(_e,{value:String(o[l.key]||""),onValueChange:a=>i(l.key,a),children:[e.jsx(ke,{className:"h-9",children:e.jsx(fe,{})}),e.jsx(ve,{children:l.options.map(a=>e.jsx(Se,{value:a.value,children:a.label},a.value))})]}),l.type==="color"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(S,{id:l.key,type:"color",value:String(o[l.key]||"#000000"),onChange:a=>i(l.key,a.target.value),className:"h-9 w-14 p-1"}),e.jsx(S,{value:String(o[l.key]||""),onChange:a=>i(l.key,a.target.value),placeholder:"#E31C25",className:"h-9 flex-1"})]}),l.type==="image_upload"&&e.jsxs("div",{className:"space-y-2",children:[o[l.key]&&e.jsxs("div",{className:"relative",children:[e.jsx("img",{src:String(o[l.key]),alt:"Preview",className:"w-full h-24 object-cover rounded-lg border"}),e.jsx(y,{variant:"destructive",size:"icon",className:"absolute top-1 right-1 h-5 w-5",onClick:()=>i(l.key,""),children:e.jsx(H,{className:"h-3 w-3"})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(S,{type:"file",accept:"image/*",className:"hidden",id:`upload-${l.key}
1`,onChange:a=>{var x;const h=(x=a.target.files)==null?void 0:x[0];h&&g(l.key,h)}}),e.jsxs(y,{variant:"outline",size:"sm",className:"w-full h-8",disabled:u,onClick:()=>{var a;return(a=document.getElementById(`upload-${l.key}`))==null?void 0:a.click()},children:[u?e.jsx(Z,{className:"h-3 w-3 mr-1 animate-spin"}):e.jsx(Y,{className:"h-3 w-3 mr-1"}),u?"Upload...":"Image"]})]})]})]},l.key);return e.jsxs("div",{className:"space-y-4",children:[d.presets&&d.presets.length>0&&e.jsx(Ce,{presets:d.presets,currentSettings:o,onSelectPreset:l=>{p({...o,...l.settings})}}),e.jsx(A,{title:"Contenu",icon:"ð",defaultOpen:!0,children:b.map(k)}),f.length>0&&e.jsx(A,{title:"Bouton",icon:"ð",children:f.map(k)}),v.length>0&&e.jsx(A,{title:"Style",icon:"ð¨",children:v.map(k)})]})},Me=()=>{const n=J(),[o,p]=_.useState(null),[d,u]=_.useState(!1),[c,i]=_.useState(!1),[g,b]=_.useState(null),[v,f]=_.useState({}),[k,l]=_.useState(null),{data:a,isLoading:h}=X({queryKey:["admin-sidebar-widgets"],queryFn:async()=>{const{data:t,error:s}=await m.from("article_sidebar_widgets").select("*").order("display_order",{ascending:!0});if(s)throw s;return t}}),x=T({mutationFn:async t=>{if(t.id){const{error:s}=await m.from("article_sidebar_widgets").update(t).eq("id",t.id);if(s)throw s}else{const{error:s}=await m.from("article_sidebar_widgets").insert(t);if(s)throw s}},onSuccess:()=>{n.invalidateQueries({queryKey:["admin-sidebar-widgets"]}),n.invalidateQueries({queryKey:["article-sidebar-widgets"]}),u(!1),p(null),i(!1),b(null),w.success("Widget sauvegardé")},onError:()=>{w.error("Erreur lors de la sauvegarde")}}),j=T({mutationFn:async t=>{const{error:s}=await m.from("article_sidebar_widgets").delete().eq("id",t);if(s)throw s},onSuccess:()=>{n.invalidateQueries({queryKey:["admin-sidebar-widgets"]}),n.invalidateQueries({queryKey:["article-sidebar-widgets"]}),l(null),w.success("Widget supprimé")}}),N=T({mutationFn:async({id:t,is_visible:s})=>{const{error:r}=await m.from("article_sidebar_widgets").update({is_visible:s}).eq("id",t);if(r)throw r},onSuccess:()=>{n.invalidateQueries({queryKey:["admin-sidebar-widgets"]}),n.invalidateQueries({queryKey:["article-sidebar-widgets"]})}}),C=T({mutationFn:async({id:t,direction:s})=>{if(!a)return;const r=a.findIndex($=>$.id===t),F=s==="up"?r-1:r+1;if(F<0||F>=a.length)return;const K=a[F];await m.from("article_sidebar_widgets").update({display_order:F}).eq("id",t),await m.from("article_sidebar_widgets").update({display_order:r}).eq("id",K.id)},onSuccess:()=>{n.invalidateQueries({queryKey:["admin-sidebar-widgets"]}),n.invalidateQueries({queryKey:["article-sidebar-widgets"]})}}),M=["title","subtitle","content","cta_text","cta_url","background_color","text_color","image_url"],P=t=>{const s={};return Object.keys(t).forEach(r=>{M.includes(r)||(s[r]=t[r])}),Object.keys(s).length===0?String(t.content||""):JSON.stringify(t.content?{...s,__content_text:t.content}:s)},z=()=>{if(o)x.mutate(o);else if(g){const t=I(g),s={...t==null?void 0:t.defaultSettings,...v};x.mutate({widget_type:g,title:String(s.title||""),subtitle:String(s.subtitle||""),content:P(s),cta_text:String(s.cta_text||""),cta_url:String(s.cta_url||""),background_color:String(s.background_color||""),text_color:String(s.text_color||""),image_url:String(s.image_url||""),display_order:(a==null?void 0:a.length)||0,is_visible:!0})}},W=t=>{p(t),i(!1),b(null),u(!0)},q=()=>{p(null),i(!0),b(null),f({}),u(!0)},B=t=>{const s=I(t);b(t),f((s==null?void 0:s.defaultSettings)||{})},Q=t=>E.find(s=>s.id===t);return h?e.jsx("div",{className:"p-4",children:"Chargement..."}):e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-bold",children:"Widgets Sidebar Articles"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Widgets affichés dans la colonne latérale des articles"})]}),e.jsxs(y,{onClick:q,className:"gap-2",children:[e.jsx(O,{className:"h-4 w-4"}),"Ajouter"]})]}),e.jsxs("div",{className:"space-y-2",children:[a==null?void 0:a.map((t,s)=>{const r=Q(t.widget_type);return e.jsx(L,{className:`p-3 transition-opacity ${t.is_visible?"":"opacity-50"}`,children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ee,{className:"h-4 w-4 text-muted-foreground cursor-grab shrink-0"}),e.jsx("div",{className:"p-2 rounded-lg bg-primary/10 shrink-0",children:e.jsx(D,{name:(r==null?void 0:r.icon)||"Box",className:"h-4 w-4 text-primary"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs font-medium text-primary",children:(r==null?void 0:r.label)||t.widget_type}),!t.is_visible&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-muted text-muted-foreground rounded",children:"Masqué"})]}),e.jsx("p",{className:"text-sm font-medium truncate",children:t.title||"Sans titre"})]}),e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[e.jsx(y,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>C.mutate({id:t.id,direction:"up"}),disabled:s===0,children:e.jsx(R,{className:"h-4 w-4"})}),e.jsx(y,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>C.mutate({id:t.id,direction:"down"}),disabled:s===((a==null?void 0:a.length)||0)-1,children:e.jsx(U,{className:"h-4 w-4"})}),e.jsx(y,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>N.mutate({id:t.id,is_visible:!t.is_visible}),children:t.is_visible?e.jsx(te,{className:"h-4 w-4"}):e.jsx(le,{className:"h-4 w-4"})}),e.jsx(y,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>W(t),children:e.jsx(ae,{className:"h-4 w-4"})}),e.jsx(y,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>l(t.id),children:e.jsx(se,{className:"h-4 w-4 text-destructive"})})]})]})},t.id)}),(!a||a.length===0)&&e.jsxs("div",{className:"text-center py-12 text-muted-foreground border-2 border-dashed rounded-lg",children:[e.jsx("p",{className:"mb-2",children:"Aucun widget configuré"}),e.jsxs(y,{variant:"outline",size:"sm",onClick:q,children:[e.jsx(O,{className:"h-4 w-4 mr-2"}),"Ajouter un widget"]})]})]}),e.jsx(oe,{open:d,onOpenChange:u,children:e.jsxs(re,{className:"w-full sm:max-w-md overflow-y-auto",children:[e.jsx(ie,{children:e.jsx(ne,{children:o?"Modifier le widget":c&&!g?"Nouveau widget":"Configurer"})}),e.jsxs("div",{className:"mt-6 space-y-6",children:[c&&!g&&e.jsx("div",{className:"grid grid-cols-2 gap-2",children:E.map(t=>e.jsx(L,{className:"p-3 cursor-pointer hover:border-primary hover:bg-primary/5 transition-all",onClick:()=>B(t.id),children:e.jsxs("div",{className:"flex flex-col items-center gap-2 text-center",children:[e.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:e.jsx(D,{name:t.icon,
1className:"h-5 w-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:t.label}),e.jsx("p",{className:"text-[10px] text-muted-foreground line-clamp-1",children:t.description})]})]})},t.id))}),(o||g)&&e.jsxs(e.Fragment,{children:[e.jsx(Fe,{widgetType:(o==null?void 0:o.widget_type)||g,settings:o?(()=>{let t={},s=o.content||"";try{const r=o.content?JSON.parse(o.content):null;r&&typeof r=="object"&&(t=r,"__content_text"in t?(s=String(t.__content_text||""),delete t.__content_text):s="")}catch{}return{...t,title:o.title||"",subtitle:o.subtitle||"",content:s,cta_text:o.cta_text||"",cta_url:o.cta_url||"",background_color:o.background_color||"",text_color:o.text_color||"",image_url:o.image_url||""}})():v,onChange:t=>{o?p({...o,title:String(t.title||""),subtitle:String(t.subtitle||""),content:P(t),cta_text:String(t.cta_text||""),cta_url:String(t.cta_url||""),background_color:String(t.background_color||""),text_color:String(t.text_color||""),image_url:String(t.image_url||"")}):f(t)}}),e.jsxs("div",{className:"flex gap-2 pt-4 border-t",children:[c&&g&&e.jsx(y,{variant:"outline",onClick:()=>b(null),className:"flex-1",children:"Retour"}),e.jsx(y,{onClick:z,disabled:x.isPending,className:"flex-1",children:x.isPending?"Sauvegarde...":"Sauvegarder"})]})]})]})]})}),e.jsx(ce,{open:!!k,onOpenChange:()=>l(null),children:e.jsxs(ue,{children:[e.jsxs(de,{children:[e.jsx(pe,{children:"Supprimer ce widget ?"}),e.jsx(ge,{children:"Cette action est irréversible."})]}),e.jsxs(ye,{children:[e.jsx(be,{children:"Annuler"}),e.jsx(me,{onClick:()=>k&&j.mutate(k),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Supprimer"})]})]})})]})};export{Me as ArticleSidebarManager};
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.