"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4862],{41683:(e,s,t)=>{t.d(s,{t:()=>v});var i=t(4208),a=t(91356),n=t(78606),r=t(81613),l=t(93497),o=t(61554),d=t(13746),c=t(19096),u=t(89342),m=t(85349),p=t(66987),h=t(4023),x=t(36189),f=t(58113);function g(e,s){return e.map(e=>({provider:(0,x.SR)(e),configured:(0,x.d_)(e,{apiKeyConfigured:s?.[e.id]?.configured})}))}function v({providers:e,defaultProviderId:s,onProvidersChange:t,onDefaultProviderIdChange:b,className:j,columns:_=2,providerSecrets:N,renderDefaultModelInput:y}){let w=g(e,N),[C,A]=(0,a.useState)(null);function k(e){t(e.map(x.SR))}function L(s,t){let i=[...e];i[s]={...i[s],...t},k(i)}return(0,a.useEffect)(()=>{C&&!e.some(e=>e.id===C)&&A(null)},[C,e]),(0,i.jsxs)("div",{className:(0,f.cn)("w-full space-y-4",j),children:[e.length>0?(0,i.jsxs)(m.M,{children:[(0,i.jsx)(c.J,{className:"text-xs",children:"Fournisseur par d\xe9faut"}),(0,i.jsxs)(u.l6,{value:s||e[0]?.id||"__none__",onValueChange:e=>b("__none__"===e?"":e),children:[(0,i.jsx)(u.bq,{className:"h-9 w-full min-w-0",children:(0,i.jsx)(u.yv,{placeholder:"Choisir…"})}),(0,i.jsx)(u.gC,{children:w.map(({provider:e,configured:s})=>{let t=(0,x.RH)(e),a=(0,x.XR)(t);return(0,i.jsx)(u.eb,{value:e.id,disabled:!s,children:(0,i.jsx)(p.c,{brand:t,icon:a.icon,suffix:s?void 0:" (incomplet)",children:e.name||a.label})},e.id)})})]}),w.some(e=>!e.configured)?(0,i.jsx)("p",{className:"text-xs text-muted-foreground",children:"Les fournisseurs incomplets restent visibles mais ne peuvent pas \xeatre s\xe9lectionn\xe9s par d\xe9faut."}):null]}):null,(0,i.jsx)(h.I,{columns:_,children:e.map((a,l)=>{let h=(0,x.SR)(a),f=(0,x.RH)(h),v=(0,x.XR)(f),j=N?.[a.id]?.configured??!1,_=(0,x.d_)(a,{apiKeyConfigured:j}),w=C===a.id,z=h.name||v.label||`Fournisseur ${l+1}`;return w?(0,i.jsxs)("div",{className:"w-full rounded-lg border border-border py-4",children:[(0,i.jsxs)("div",{className:"flex items-start justify-between gap-2 px-4",children:[(0,i.jsxs)("div",{className:"min-w-0",children:[(0,i.jsx)(p.c,{brand:f,icon:v.icon,className:"text-sm font-medium",children:z}),_?j&&!(a.api_key??"").trim()?(0,i.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Cl\xe9 API enregistr\xe9e sur le serveur"}):null:(0,i.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Configuration incompl\xe8te"})]}),(0,i.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,i.jsx)(o.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>A(null),children:"Fermer"}),(0,i.jsx)(o.$,{type:"button",variant:"ghost",size:"icon","aria-label":"Supprimer le fournisseur",onClick:()=>{let i,a,n,r;return i=e[l],C===i?.id&&A(null),n=g(a=e.filter((e,s)=>s!==l),N),void((r=s)===i?.id&&(r=n.find(e=>e.configured)?.provider.id??a[0]?.id??""),t(a.map(x.SR)),b(r))},children:(0,i.jsx)(n.A,{className:"size-4"})})]})]}),(0,i.jsxs)("div",{className:"mt-4 space-y-4 border-t px-4 pt-4",children:[(0,i.jsxs)(m.M,{children:[(0,i.jsx)(c.J,{className:"text-xs",children:"Fournisseur"}),(0,i.jsxs)(u.l6,{value:f,onValueChange:s=>{let t,i,a;return t=e[l],(0,x.XR)(s),i={...(0,x.gh)(s),id:t?.id??(0,x.gh)(s).id,api_key:t?.api_key??""},void((a=[...e])[l]=i,k(a))},children:[(0,i.jsx)(u.bq,{className:"h-9 w-full min-w-0",children:(0,i.jsx)(u.yv,{children:(0,i.jsx)(p.c,{brand:f,icon:v.icon,children:v.label})})}),(0,i.jsx)(u.gC,{className:"max-h-72",children:x.Og.map(e=>(0,i.jsx)(u.eb,{value:e.type,children:(0,i.jsx)(p.c,{brand:e.type,icon:e.icon,children:e.label})},e.type))})]}),(0,i.jsx)("p",{className:"text-xs text-muted-foreground",children:v.description}),v.docsUrl?(0,i.jsxs)("a",{href:v.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs text-muted-foreground hover:underline",children:["Documentation",(0,i.jsx)(r.A,{className:"size-3"})]}):null]}),(0,i.jsxs)(m.M,{children:[(0,i.jsx)(c.J,{className:"text-xs",children:"Nom affich\xe9"}),(0,i.jsx)(d.p,{className:"h-9",value:a.name,onChange:e=>L(l,{name:e.target.value}),placeholder:v.label})]}),(0,i.jsxs)(m.M,{children:[(0,i.jsx)(c.J,{className:"text-xs",children:"URL de base"}),(0,i.jsx)(d.p,{className:"h-9",value:a.base_url,onChange:e=>L(l,{base_url:e.target.value}),placeholder:v.baseURLPlaceholder??v.defaultBaseURL})]}),"ollama"!==f?(0,i.jsxs)(m.M,{children:[(0,i.jsx)(c.J,{className:"text-xs",children:"Cl\xe9 API"}),(0,i.jsx)(d.p,{className:"h-9",type:"password",autoComplete:"off",value:a.api_key??"",onChange:e=>L(l,{api_key:e.target.value}),placeholder:j&&!(a.api_key??"").trim()?"•••••••• (laisser vide pour conserver)":"openai"===f?"sk-…":void 0})]}):null,(0,i.jsxs)(m.M,{children:[(0,i.jsx)(c.J,{className:"text-xs",children:"Mod\xe8le par d\xe9faut"}),y?y({provider:a,index:l,onChange:e=>L(l,{default_model:e})}):(0,i.jsx)(d.p,{className:"h-9",value:a.default_model,onChange:e=>L(l,{default_model:e.target.value}),placeholder:v.defaultModel||"gpt-4o-mini"})]})]})]},a.id):(0,i.jsxs)("div",{className:"flex w-full items-center justify-between gap-3 rounded-lg border border-border px-4 py-3",children:[(0,i.jsx)(p.c,{brand:f,icon:v.icon,className:"min-w-0 text-sm font-medium",children:z}),(0,i.jsx)(o.$,{type:"button",variant:"outline",size:"sm",onClick:()=>A(a.id),children:"Modifier"})]},a.id)})}),(0,i.jsxs)(o.$,{type:"button",variant:"outline",size:"sm",onClick:function(){let t=(0,x.gh)("openai");k([...e,t]),A(t.id),s||b(t.id)},children:[(0,i.jsx)(l.A,{className:"mr-2 size-4"}),"Ajouter un fournisseur"]})]})}},44862:(e,s,t)=>{t.r(s),t.d(s,{AiAssistantSection:()=>I});var i=t(4208),a=t(91356),n=t(90773),r=t(12551),l=t(13746),o=t(19096),d=t(85569),c=t(58113);function u({models:e,onChange:s,availableModelIds:t,disabled:n,emptyHint:m}){let[p,h]=(0,a.useState)(""),[x,f]=(0,a.useState)(!1),[g,v]=(0,a.useState)(0),b=(0,a.useRef)(null),j=(0,a.useMemo)(()=>new Set(e.map(e=>e.model_id)),[e]),_=(0,a.useMemo)(()=>{let e=p.trim().toLowerCase(),s=t.filter(e=>!j.has(e));return(e?s.filter(s=>s.toLowerCase().includes(e)):s).sort((e,s)=>e.localeCompare(s))},[t,p,j]),N=x&&!n&&_.length>0;function y(t){let i=t.trim();!i||j.has(i)||(s([...e,{model_id:i,label:i,enabled:!0}]),h(""),v(0))}return(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsxs)("div",{className:"relative",children:[(0,i.jsx)(l.p,{value:p,disabled:n,placeholder:"Rechercher ou saisir un mod\xe8le…",className:"h-9",onChange:e=>{h(e.target.value),v(0)},onFocus:()=>{b.current&&window.clearTimeout(b.current),f(!0)},onBlur:()=>{b.current=window.setTimeout(()=>f(!1),120)},onKeyDown:e=>{if("Enter"===e.key){let s;e.preventDefault(),(s=p.trim())&&(_[g]?y(_[g]):j.has(s)||y(s));return}N&&0!==_.length&&("ArrowDown"===e.key?(e.preventDefault(),v(e=>(e+1)%_.length)):"ArrowUp"===e.key?(e.preventDefault(),v(e=>(e-1+_.length)%_.length)):"Escape"===e.key&&f(!1))}}),N?(0,i.jsx)("ul",{className:"absolute z-20 mt-1 w-full overflow-y-auto rounded-md border border-border bg-popover py-1 shadow-md",style:{maxHeight:"11.25rem"},children:_.map((e,s)=>(0,i.jsx)("li",{children:(0,i.jsx)("button",{type:"button",className:(0,c.cn)("block w-full px-3 py-1.5 text-left text-xs hover:bg-muted",s===g&&"bg-muted"),onMouseDown:s=>{s.preventDefault(),y(e)},children:(0,i.jsx)("span",{className:"block truncate font-mono",children:e})})},e))}):null]}),e.length>0?(0,i.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.map(t=>{let a;return(0,i.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border bg-muted/60 px-2 py-0.5 text-[11px] text-foreground",children:[(0,i.jsxs)(d.AM,{children:[(0,i.jsx)(d.Wv,{asChild:!0,children:(0,i.jsx)("button",{type:"button",className:"max-w-[14rem] truncate text-left hover:underline",title:t.model_id,children:(a=t.label.trim())&&a!==t.model_id?a:t.model_id})}),(0,i.jsxs)(d.hl,{align:"start",className:"w-72 space-y-2 p-3",children:[(0,i.jsxs)("div",{className:"space-y-1",children:[(0,i.jsx)(o.J,{className:"text-xs",children:"ID mod\xe8le"}),(0,i.jsx)("p",{className:"truncate font-mono text-xs text-muted-foreground",children:t.model_id})]}),(0,i.jsxs)("div",{className:"space-y-1",children:[(0,i.jsx)(o.J,{className:"text-xs",children:"Surnom utilisateur"}),(0,i.jsx)(l.p,{className:"h-8 text-xs",value:t.label,onChange:i=>{var a,n;return a=t.model_id,n=i.target.value,void s(e.map(e=>e.model_id===a?{...e,label:n}:e))},placeholder:t.model_id})]})]})]}),(0,i.jsx)("button",{type:"button",className:"shrink-0 rounded-full p-0.5 hover:bg-background/80","aria-label":`Retirer ${t.model_id}`,onClick:()=>{var i;return i=t.model_id,void s(e.filter(e=>e.model_id!==i))},children:(0,i.jsx)(r.A,{className:"size-3"})})]},t.model_id)})}):m?(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:m}):null]})}var m=t(35855),p=t.n(m),h=t(25729),x=t(70324),f=t(49845);function g({enabledTools:e,onChange:s,webSearchSettingsHref:t=`${f.gH}/automation`}){return(0,i.jsx)(h.KT,{title:"Tools UltiAI",description:(0,i.jsxs)(i.Fragment,{children:["Groupes d'outils MCP expos\xe9s \xe0 l'assistant. La recherche web supporte Brave, Bing, DuckDuckGo, SearXNG et API JSON — config dans"," ",(0,i.jsx)(p(),{href:t,className:"underline underline-offset-2",children:"Automatisations → Recherche"})," ","(utilisateur) ou Administration → Moteur de recherche (organisation)."]}),children:x.vB.map(t=>(0,i.jsx)(h.Kk,{title:t.label,description:t.description,checked:e.includes(t.id),onCheckedChange:i=>s((0,x.Cv)(e,t.id,i))},t.id))})}var v=t(58564),b=t(82595);function j({draft:e,setDraft:s}){return(0,i.jsxs)(h.KT,{title:"Politique LLM",description:"Contr\xf4le l'acc\xe8s aux fournisseurs IA pour les utilisateurs de l'organisation.",children:[(0,i.jsx)(h.Kk,{title:"Imposer les fournisseurs org.",description:"Les utilisateurs ne peuvent pas utiliser d'autres cl\xe9s API.",checked:e.enforce_org_providers,onCheckedChange:e=>s(s=>({...s,enforce_org_providers:e}))}),(0,i.jsx)(h.Kk,{title:"Autoriser surcharge utilisateur",checked:e.allow_user_override,onCheckedChange:e=>s(s=>({...s,allow_user_override:e}))})]})}var _=t(41683),N=t(36189),y=t(4023),w=t(37820),C=t(17745),A=t(94927),k=t(12154),L=t(61554),z=t(51355),M=t(89342);function I(){let e=(0,w.U)(e=>e.aiAssistant),s=(0,w.U)(e=>e.setAiAssistant),t=(0,w.U)(e=>e.setPlugins),r=(0,w.U)(e=>e.plugins),o=(0,w.U)(e=>e.llm),d=(0,w.U)(e=>e.setLlm),c=(0,w.U)(e=>e.meta?.secrets),m=(0,w.U)(e=>e.meta?.effective.ai_assistant),p=(0,b.V)("ai_assistant","enabled"),x=(0,b.V)("ai_assistant","public_path"),f=(0,b.V)("ai_assistant","openwebui_internal_url"),I=r.find(e=>"ai-assistant"===e.id)?.enabled??!1,U=m?.enabled??!1,S=e.enabled||I,[P,R]=(0,a.useState)(o);(0,a.useEffect)(()=>{R({...o,providers:(o.providers??[]).map(N.SR)})},[o]);let[D,$]=(0,a.useState)(o.default_provider_id),[E,T]=(0,a.useState)([]),q=(0,a.useMemo)(()=>P.providers.find(e=>e.id===D)??P.providers[0],[D,P.providers]),J=(0,C.n)({mutationFn:e=>A.uE.post("/admin/org/llm/discover-models",{provider_id:e})}),K=(0,a.useMemo)(()=>{let s=new Set;if(e.models.length>0)for(let t of e.models)t.enabled&&t.model_id.trim()&&s.add(t.model_id.trim());else{for(let e of P.providers)e.default_model?.trim()&&s.add(e.default_model.trim());for(let e of E)e.trim()&&s.add(e.trim())}return e.default_model.trim()&&s.add(e.default_model.trim()),Array.from(s).sort((e,s)=>e.localeCompare(s))},[e.models,e.default_model,P.providers,E]);async function F(){if(q?.id){T([]);try{let e=await J.mutateAsync(q.id);T(e.models??[])}catch{T([])}}}(0,a.useEffect)(()=>{if(!q?.id)return;let e=!1;return J.mutateAsync(q.id).then(s=>{e||T(s.models??[])}).catch(()=>{e||T([])}),()=>{e=!0}},[q?.id]);let W=c?.llm_providers;return(0,i.jsx)(v.f,{title:"UltiAI",description:"Assistant IA int\xe9gr\xe9 (OpenWebUI), fournisseurs LLM, gateway, tools et sync Nextcloud.",policySection:["ai_assistant","plugins","llm"],beforeSave:()=>d(P),children:(0,i.jsxs)(y.I,{columns:2,children:[(0,i.jsxs)(h.KT,{title:"Assistant IA",description:"Active le plugin UltiAI pour toute l'organisation. Le service OpenWebUI doit aussi \xeatre d\xe9ploy\xe9.",action:(0,i.jsx)(k.d,{checked:S,disabled:p,onCheckedChange:function(e){s({enabled:e}),t(r.map(s=>"ai-assistant"===s.id?{...s,enabled:e}:s))}}),badges:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(z.E,{variant:S?"default":"secondary",children:["Politique org. ",S?"activ\xe9e":"d\xe9sactiv\xe9e"]}),(0,i.jsxs)(z.E,{variant:U?"default":"outline",children:["Runtime Compose ",U?"actif":"inactif"]})]}),hint:(0,i.jsxs)(i.Fragment,{children:[p?(0,i.jsx)(b.f,{section:"ai_assistant",field:"enabled"}):null,S||U?null:(0,i.jsxs)(h.hY,{children:["Activez le plugin UltiAI dans Administration → Plugins, ou d\xe9finissez"," ",(0,i.jsx)("code",{className:"rounded bg-muted px-1",children:"AI_ASSISTANT_ENABLED=true"})," dans le d\xe9ploiement, puis red\xe9marrez le backend et OpenWebUI."]})]}),children:[(0,i.jsx)(h.u8,{label:"Chemin public (proxy)",hint:(0,i.jsx)(b.f,{section:"ai_assistant",field:"public_path"}),children:(0,i.jsx)(l.p,{className:"h-9",value:e.public_path,onChange:e=>s({public_path:e.target.value}),placeholder:"/ai",disabled:x})}),(0,i.jsx)(h.u8,{label:"URL interne OpenWebUI",hint:(0,i.jsx)(b.f,{section:"ai_assistant",field:"openwebui_internal_url"}),children:(0,i.jsx)(l.p,{className:"h-9",value:e.openwebui_internal_url,onChange:e=>s({openwebui_internal_url:e.target.value}),placeholder:"http://openwebui:8080",disabled:f})}),(0,i.jsx)(h.u8,{label:"Mod\xe8le par d\xe9faut",hint:"Mod\xe8le pr\xe9-s\xe9lectionn\xe9 dans UltiAI pour tous les utilisateurs. Configurez un fournisseur LLM ou d\xe9couvrez les mod\xe8les ci-dessous.",children:K.length>0?(0,i.jsxs)(M.l6,{value:e.default_model||"__auto__",onValueChange:e=>s({default_model:"__auto__"===e?"":e}),children:[(0,i.jsx)(M.bq,{className:"h-9 w-full min-w-0",children:(0,i.jsx)(M.yv,{placeholder:"Choisir un mod\xe8le…"})}),(0,i.jsxs)(M.gC,{className:"max-h-60",children:[(0,i.jsx)(M.eb,{value:"__auto__",children:"Automatique (fournisseur LLM par d\xe9faut)"}),K.map(s=>{let t=e.models.find(e=>e.model_id===s)?.label;return(0,i.jsx)(M.eb,{value:s,children:t?.trim()?`${t} (${s})`:s},s)})]})]}):(0,i.jsx)(l.p,{className:"h-9",value:e.default_model,onChange:e=>s({default_model:e.target.value}),placeholder:"gpt-4o-mini"})}),(0,i.jsx)(h.u8,{label:"Chemin historique NC",children:(0,i.jsx)(l.p,{className:"h-9",value:e.chat_nc_path,onChange:e=>s({chat_nc_path:e.target.value}),placeholder:"/.ultimail/ai/chats"})}),(0,i.jsx)(h.Kk,{title:"Embed temporaire par d\xe9faut",description:"Les panneaux mail/drive/contacts ne sauvegardent pas l'historique.",checked:e.embed_default_temporary,onCheckedChange:e=>s({embed_default_temporary:e})}),(0,i.jsx)(h.Kk,{title:"Sync historique Nextcloud",description:"Pipeline OpenWebUI → fichiers .ultichat.json sur le drive utilisateur.",checked:e.chat_sync_enabled,onCheckedChange:e=>s({chat_sync_enabled:e})})]}),(0,i.jsxs)("div",{className:"flex flex-col gap-4 sm:col-span-2",children:[(0,i.jsx)(j,{draft:P,setDraft:R}),(0,i.jsx)(h.KT,{title:"Fournisseurs LLM",description:"Mod\xe8les IA organisationnels pour UltiAI, le tri, l'enrichissement contacts et les automatisations.",children:(0,i.jsx)(_.t,{columns:1,providers:P.providers,defaultProviderId:P.default_provider_id,providerSecrets:W,onProvidersChange:e=>R(s=>({...s,providers:e})),onDefaultProviderIdChange:e=>R(s=>({...s,default_provider_id:e}))})})]}),(0,i.jsx)(g,{enabledTools:e.enabled_tools,onChange:e=>s({enabled_tools:e}),webSearchSettingsHref:"/admin/settings/search"}),(0,i.jsxs)(h.KT,{title:"Mod\xe8les autoris\xe9s",description:"Liste vide = tous les mod\xe8les des fournisseurs LLM org. Sinon, seuls les mod\xe8les autoris\xe9s sont visibles pour les utilisateurs. Le surnom remplace le nom technique.",children:[0===P.providers.length?(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:"Configurez d'abord un fournisseur LLM dans la section ci-dessus."}):(0,i.jsxs)("div",{className:"flex flex-wrap items-end gap-3 rounded-lg border border-mail-border bg-mail-surface-muted/40 p-3",children:[(0,i.jsx)(h.u8,{label:"D\xe9couvrir depuis le fournisseur",className:"min-w-[220px] flex-1",children:(0,i.jsxs)(M.l6,{value:q?.id??"",onValueChange:$,children:[(0,i.jsx)(M.bq,{className:"h-9",children:(0,i.jsx)(M.yv,{placeholder:"Choisir un fournisseur…"})}),(0,i.jsx)(M.gC,{children:P.providers.map(e=>(0,i.jsx)(M.eb,{value:e.id,children:e.name||e.base_url},e.id))})]})}),(0,i.jsxs)(L.$,{type:"button",variant:"outline",size:"sm",disabled:!q?.id||J.isPending,onClick:()=>void F(),children:[(0,i.jsx)(n.A,{className:`mr-2 size-4 ${J.isPending?"animate-spin":""}`}),"D\xe9couvrir les mod\xe8les"]})]}),J.isError?(0,i.jsx)(h.hY,{tone:"danger",children:J.error instanceof Error?J.error.message:"Impossible de lister les mod\xe8les sur ce fournisseur. Enregistrez d'abord le fournisseur LLM avec une cl\xe9 API valide."}):null,P.providers.length>0?(0,i.jsx)(h.u8,{label:"Catalogue organisation",hint:0===E.length?"D\xe9couvrez les mod\xe8les depuis un fournisseur pour remplir l'autocompl\xe9tion, ou saisissez un ID manuellement puis Entr\xe9e.":void 0,children:(0,i.jsx)(u,{models:e.models,onChange:function(e){s({models:e})},availableModelIds:E,emptyHint:"Aucune restriction — tous les mod\xe8les LLM configur\xe9s restent disponibles."})}):null]})]})})}},49845:(e,s,t)=>{t.d(s,{IJ:()=>u,bZ:()=>v,bx:()=>g,gH:()=>c,oB:()=>h,si:()=>p});var i=t(28292),a=t(28397),n=t(20911),r=t(84651),l=t(192),o=t(30426),d=t(68817);let c="/settings",u=[{id:"display",label:"Affichage",description:"Densit\xe9, th\xe8me, bo\xeete de r\xe9ception, volet de lecture",href:c,icon:a.A},{id:"accounts",label:"Comptes mail",description:"IMAP, SMTP, identit\xe9s d'envoi et signatures",href:`${c}/accounts`,icon:n.A},{id:"labels",label:"Libell\xe9s et dossiers",description:"Organisation unifi\xe9e cross-comptes",href:`${c}/labels`,icon:r.A},{id:"notifications",label:"Notifications",description:"Alertes desktop, mobile et e-mail",href:`${c}/notifications`,icon:l.A},{id:"automation",label:"Automatisations",description:"R\xe8gles, webhooks, LLM, recherche web, tokens API",href:`${c}/automation`,icon:o.A},{id:"agenda",label:i.tg,description:"Affichage, visio, invitations, agendas et vues",href:`${c}/agenda`,icon:d.A}];function m(e){return e===c||e?.startsWith(`${c}/`)===!0}function p(e,s){return s.href===c?e===c||e===`${c}/display`:e===s.href||!!e?.startsWith(`${s.href}/`)}function h(e){let s=e?.[0],t=u.find(e=>"display"===e.id?!s||"display"===s:e.href.endsWith(`/${s}`));return t?.id??"display"}let x=["display","automation","agenda"],f=["accounts"];function g(e){return!!m(e)&&u.some(s=>x.includes(s.id)&&p(e,s))}function v(e){return!!m(e)&&u.some(s=>f.includes(s.id)&&p(e,s))}},66987:(e,s,t)=>{t.d(s,{c:()=>l});var i=t(4208),a=t(84834),n=t(47391),r=t(58113);function l({brand:e,icon:s,children:t,className:o,iconClassName:d,suffix:c}){let u=s??(e?(0,n.r)(e):void 0);return(0,i.jsxs)("span",{className:(0,r.cn)("inline-flex min-w-0 items-center gap-2",o),children:[u?(0,i.jsx)(a.In,{icon:u,className:(0,r.cn)("size-4 shrink-0",d),"aria-hidden":!0}):null,(0,i.jsxs)("span",{className:"truncate",children:[t,c]})]})}},82595:(e,s,t)=>{t.d(s,{V:()=>o,f:()=>l});var i=t(4208),a=t(77510),n=t(37820),r=t(54430);function l({section:e,field:s}){let t=(0,n.U)(e=>e.meta?.deployLocked);return(0,r.me)(t,e,s)?(0,i.jsxs)("p",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,i.jsx)(a.A,{className:"size-3 shrink-0","aria-hidden":!0}),"G\xe9r\xe9 par Docker Compose — modifier les variables d'environnement du d\xe9ploiement."]}):null}function o(e,s){let t=(0,n.U)(e=>e.meta?.deployLocked);return(0,r.me)(t,e,s)}},85349:(e,s,t)=>{t.d(s,{M:()=>n});var i=t(4208),a=t(58113);function n({children:e,className:s}){return(0,i.jsx)("div",{className:(0,a.cn)("space-y-2.5",s),children:e})}},85569:(e,s,t)=>{t.d(s,{AM:()=>r,Wv:()=>l,hl:()=>o});var i=t(4208);t(91356);var a=t(80584),n=t(58113);function r({...e}){return(0,i.jsx)(a.bL,{"data-slot":"popover",...e})}function l({...e}){return(0,i.jsx)(a.l9,{"data-slot":"popover-trigger",...e})}function o({className:e,align:s="center",sideOffset:t=4,...r}){return(0,i.jsx)(a.ZL,{children:(0,i.jsx)(a.UC,{"data-slot":"popover-content",align:s,sideOffset:t,className:(0,n.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...r})})}},89342:(e,s,t)=>{t.d(s,{TR:()=>h,bq:()=>m,eb:()=>x,gC:()=>p,l6:()=>d,mi:()=>f,s3:()=>c,yv:()=>u});var i=t(4208);t(91356);var a=t(29477),n=t(9519),r=t(35019),l=t(30758),o=t(58113);function d({...e}){return(0,i.jsx)(a.bL,{"data-slot":"select",...e})}function c({...e}){return(0,i.jsx)(a.YJ,{"data-slot":"select-group",...e})}function u({...e}){return(0,i.jsx)(a.WT,{"data-slot":"select-value",...e})}function m({className:e,size:s="default",variant:t="default",children:r,...l}){return(0,i.jsxs)(a.l9,{"data-slot":"select-trigger","data-size":s,"data-variant":t,className:(0,o.cn)("data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex w-fit cursor-pointer items-center justify-between gap-2 rounded-md bg-transparent text-sm whitespace-nowrap transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","default"===t&&"border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 border px-3 py-2 shadow-xs focus-visible:ring-[3px]","ghost"===t&&"border-0 shadow-none hover:bg-transparent focus-visible:ring-0 dark:bg-transparent dark:hover:bg-transparent dark:data-[state=open]:bg-transparent",e),...l,children:[r,(0,i.jsx)(a.In,{asChild:!0,children:(0,i.jsx)(n.A,{className:"size-4 opacity-50"})})]})}function p({className:e,children:s,position:t="popper",...n}){return(0,i.jsx)(a.ZL,{children:(0,i.jsxs)(a.UC,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===t&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:t,...n,children:[(0,i.jsx)(g,{}),(0,i.jsx)(a.LM,{className:(0,o.cn)("p-1","popper"===t&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:s}),(0,i.jsx)(v,{})]})})}function h({className:e,...s}){return(0,i.jsx)(a.JU,{"data-slot":"select-label",className:(0,o.cn)("text-muted-foreground px-2 py-1.5 text-xs",e),...s})}function x({className:e,children:s,...t}){return(0,i.jsxs)(a.q7,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-pointer items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...t,children:[(0,i.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,i.jsx)(a.VF,{children:(0,i.jsx)(r.A,{className:"size-4"})})}),(0,i.jsx)(a.p4,{children:s})]})}function f({className:e,...s}){return(0,i.jsx)(a.wv,{"data-slot":"select-separator",className:(0,o.cn)("bg-border pointer-events-none -mx-1 my-1 h-px",e),...s})}function g({className:e,...s}){return(0,i.jsx)(a.PP,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-pointer items-center justify-center py-1",e),...s,children:(0,i.jsx)(l.A,{className:"size-4"})})}function v({className:e,...s}){return(0,i.jsx)(a.wn,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-pointer items-center justify-center py-1",e),...s,children:(0,i.jsx)(n.A,{className:"size-4"})})}}}]);