1 line
62 KiB
JavaScript
1 line
62 KiB
JavaScript
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1953],{163:(e,t,r)=>{"use strict";r.d(t,{W:()=>a,s:()=>n});let n="bg-blue-500";function a(e){let t=(e??"").trim();return t?t.startsWith("bg-")?t:/^#[\da-fA-F]{3,8}$/.test(t)?`bg-[${t}]`:n:"bg-gray-500"}},1138:(e,t,r)=>{"use strict";r.d(t,{RJ:()=>a,iN:()=>i,zm:()=>n});let n=(0,r(46298).v)()(e=>({identities:[],hydrated:!1,hydrateFromApi:t=>e({identities:t,hydrated:!0}),clear:()=>e({identities:[],hydrated:!1})}));function a(){return n.getState().identities}function i(e){let t=a();if(0===t.length)return null;if(e){let r=t.filter(t=>t.accountId===e);return r.find(e=>e.isDefault)??r[0]??null}return t.find(e=>e.isDefault)??t[0]??null}},1559:(e,t,r)=>{"use strict";r.d(t,{DU:()=>c,IF:()=>m,M4:()=>f,sp:()=>u});var n=r(98306),a=r(39927),i=r(17745),o=r(94927),l=r(18747);let s=["mail-signatures"];async function d(){let e=await o.uE.get("/mail/signatures");return Array.isArray(e)?e:e.signatures??[]}function u(){let{ready:e,authenticated:t}=(0,l.v)();return(0,n.I)({queryKey:s,queryFn:d,staleTime:3e5,enabled:e&&t})}function c(){let e=(0,a.jE)();return(0,i.n)({mutationFn:e=>o.uE.post("/mail/signatures",e),onSuccess:()=>{e.invalidateQueries({queryKey:s})}})}function m(){let e=(0,a.jE)();return(0,i.n)({mutationFn:({signatureId:e,...t})=>o.uE.put(`/mail/signatures/${e}`,t),onSuccess:()=>{e.invalidateQueries({queryKey:s}),e.invalidateQueries({queryKey:["identities"]})}})}function f(){let e=(0,a.jE)();return(0,i.n)({mutationFn:e=>o.uE.delete(`/mail/signatures/${e}`),onSuccess:()=>{e.invalidateQueries({queryKey:s}),e.invalidateQueries({queryKey:["identities"]})}})}},9483:(e,t,r)=>{"use strict";r.d(t,{p:()=>o});var n=r(46298),a=r(22029),i=r(91025);let o=(0,n.v)()((0,a.Zr)(e=>({themeMode:"system",setThemeMode:t=>e({themeMode:t})}),{name:"ultimail-demo-theme",storage:i.$,partialize:e=>({themeMode:e.themeMode})}))},10937:(e,t,r)=>{"use strict";r.d(t,{e:()=>l});var n=r(91356),a=r(18747),i=r(1559),o=r(59680);function l(){let{ready:e,authenticated:t}=(0,a.v)(),{data:r=[],isSuccess:l}=(0,i.sp)();return(0,n.useEffect)(()=>{e&&t?l&&o.TR.getState().hydrateFromApi(r):o.TR.getState().clear()},[e,t,l,r]),null}},37606:(e,t,r)=>{"use strict";function n(){return"Notification"in window}async function a(){if(!n())return"unsupported";if("granted"===Notification.permission)return"granted";if("denied"===Notification.permission)return"denied";try{return await Notification.requestPermission()}catch{return Notification.permission}}function i(e){let t=e.trim().toLowerCase();return t.startsWith("re:")||t.startsWith("r\xe9:")||t.startsWith("fwd:")||t.startsWith("tr:")}r.d(t,{Lw:()=>l,Wp:()=>a,kv:()=>i});let o=null;function l(e){if(!n()||"granted"!==Notification.permission||"u">typeof document&&"visible"===document.visibilityState)return!1;try{let t=new Notification(e.title,{body:e.body,tag:e.tag,icon:"/brand/ultimail-mark.png"});return e.onClick&&(t.onclick=()=>{window.focus(),e.onClick?.(),t.close()}),e.playSound&&function(){try{let e=o??=new AudioContext,t=e.createOscillator(),r=e.createGain();t.type="sine",t.frequency.value=880,r.gain.value=.04,t.connect(r),r.connect(e.destination),t.start(),t.stop(e.currentTime+.12)}catch{}}(),!0}catch{return!1}}},42125:(e,t,r)=>{"use strict";r.d(t,{_:()=>f,g:()=>b});var n=r(91356),a=r(5807),i=r(18747),o=r(93051),l=r(90324),s=r(94927),d=r(1559),u=r(93652),c=r(1138);async function m(e){let t=await s.uE.get(`/mail/accounts/${e}/identities`);return Array.isArray(t)?t:t.identities??[]}function f(){let e=(0,o.qU)(),{ready:t,authenticated:r}=(0,i.v)(),{data:s=[],isSuccess:f}=(0,l.HM)(),{data:b=[],isSuccess:g}=(0,d.sp)(),p=(0,n.useMemo)(()=>new Map(b.map(e=>[e.id,e])),[b]),h=(0,a.E)({queries:s.map(e=>({queryKey:["identities",e.id],queryFn:()=>m(e.id),enabled:t&&r&&!!e.id,staleTime:3e5}))}),v=h.map(e=>e.dataUpdatedAt).join("|"),x=(0,n.useMemo)(()=>t&&r&&f&&g&&0!==s.length?h.some(e=>e.isPending&&"idle"!==e.fetchStatus)?null:(0,u.A1)(h.flatMap(e=>(e.data??[]).map(e=>(0,u.U9)(e,p)))):[],[t,r,f,g,s.length,v,h,p]);return(0,n.useEffect)(()=>{e||(t&&r?null!==x&&c.zm.getState().hydrateFromApi(x):c.zm.getState().clear())},[e,t,r,x]),null}function b(e){let t=(0,c.zm)(e=>e.identities),r=(0,c.zm)(e=>e.hydrated),n=e?t.filter(t=>t.accountId===e):t,a=n.length>0?n:t,i=a.find(e=>e.isDefault)??a[0]??null;return{identities:a,defaultIdentity:i,hydrated:r}}},44410:(e,t,r)=>{"use strict";r.d(t,{$i:()=>m,$p:()=>T,AO:()=>u,Az:()=>p,Bh:()=>L,Cc:()=>x,DO:()=>Y,E1:()=>k,E7:()=>P,Fr:()=>D,G7:()=>U,HU:()=>G,I8:()=>I,IK:()=>O,KZ:()=>c,LQ:()=>R,Mz:()=>M,PG:()=>E,Q5:()=>Z,QU:()=>S,R5:()=>ee,RA:()=>f,Sh:()=>l,TN:()=>H,Un:()=>s,Ww:()=>B,Yh:()=>V,Yj:()=>g,a9:()=>b,c7:()=>v,d9:()=>er,gS:()=>o,h6:()=>_,hf:()=>q,hn:()=>Q,hz:()=>a,i1:()=>j,il:()=>w,j7:()=>K,l9:()=>d,lK:()=>F,lQ:()=>$,l_:()=>h,nr:()=>i,pK:()=>z,sF:()=>X,th:()=>C,tv:()=>ea,uU:()=>y,wC:()=>et,wJ:()=>N,wf:()=>J,wo:()=>en,yv:()=>W});var n=r(58113);let a=(0,n.cn)("min-w-[220px] rounded-lg border border-border bg-popover p-0 py-1 text-popover-foreground shadow-lg","[&_[data-slot=dropdown-menu-item]]:gap-3 [&_[data-slot=dropdown-menu-item]]:rounded-none","[&_[data-slot=dropdown-menu-item]]:px-3 [&_[data-slot=dropdown-menu-item]]:py-2 [&_[data-slot=dropdown-menu-item]]:text-sm","[&_[data-slot=dropdown-menu-item]]:focus:bg-accent [&_[data-slot=dropdown-menu-item]]:focus:text-accent-foreground","[&_[data-slot=dropdown-menu-sub-trigger]]:gap-3 [&_[data-slot=dropdown-menu-sub-trigger]]:rounded-none","[&_[data-slot=dropdown-menu-sub-trigger]]:px-3 [&_[data-slot=dropdown-menu-sub-trigger]]:py-2","[&_[data-slot=dropdown-menu-sub-trigger]]:text-sm","[&_[data-slot=dropdown-menu-sub-trigger]]:focus:bg-accent","[&_[data-slot=dropdown-menu-sub-trigger]]:data-[state=open]:bg-accent","[&_[data-slot=dropdown-menu-sub-content]]:min-w-[200px]","[&_[data-slot=dropdown-menu-sub-content]]:rounded-lg","[&_[data-slot=dropdown-menu-sub-content]]:border [&_[data-slot=dropdown-menu-sub-content]]:border-border","[&_[data-slot=dropdown-menu-sub-content]]:bg-popover","[&_[data-slot=dropdown-menu-sub-content]]:p-0 [&_[data-slot=dropdown-menu-sub-content]]:py-1","[&_[data-slot=dropdown-menu-sub-content]]:shadow-lg","[&_[data-slot=dropdown-menu-separator]]:mx-0 [&_[data-slot=dropdown-menu-separator]]:my-1","[&_[data-slot=dropdown-menu-separator]]:bg-border","[&_[data-slot=context-menu-item]]:focus:bg-accent [&_[data-slot=context-menu-item]]:focus:text-accent-foreground","[&_[data-slot=context-menu-sub-trigger]]:focus:bg-accent","[&_[data-slot=context-menu-sub-content]]:border-border [&_[data-slot=context-menu-sub-content]]:bg-popover"),i=(0,n.cn)(a,"min-w-[280px]"),o=(0,n.cn)("min-w-[240px] border-border bg-popover p-0 py-1.5 text-popover-foreground shadow-md","[&_[data-slot=dropdown-menu-label]]:text-muted-foreground","[&_[data-slot=dropdown-menu-item]]:text-popover-foreground","[&_[data-slot=dropdown-menu-item]]:focus:bg-accent [&_[data-slot=dropdown-menu-item]]:focus:text-accent-foreground","[&_[data-slot=dropdown-menu-sub-trigger]]:text-popover-foreground","[&_[data-slot=dropdown-menu-sub-trigger]]:focus:bg-accent","[&_[data-slot=dropdown-menu-sub-trigger]]:data-[state=open]:bg-accent","[&_[data-slot=context-menu-label]]:text-muted-foreground","[&_[data-slot=context-menu-item]]:text-popover-foreground","[&_[data-slot=context-menu-item]]:focus:bg-accent [&_[data-slot=context-menu-item]]:focus:text-accent-foreground","[&_[data-slot=context-menu-sub-trigger]]:text-popover-foreground","[&_[data-slot=context-menu-sub-trigger]]:focus:bg-accent","[&_[data-slot=context-menu-sub-trigger]]:data-[state=open]:bg-accent"),l=(0,n.cn)("mx-1 flex cursor-pointer items-center justify-between gap-3 px-3 py-2 text-sm text-popover-foreground","focus:bg-accent focus:text-accent-foreground"),s=(0,n.cn)("mx-1 cursor-pointer rounded-sm px-2 py-2 text-popover-foreground","focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent"),d=(0,n.cn)("mx-1 cursor-pointer px-3 py-2 text-sm text-popover-foreground focus:bg-accent focus:text-accent-foreground"),u="my-1.5 bg-border",c="border-border bg-mail-surface ring-offset-background hover:ring-muted-foreground focus-visible:ring-ring",m=(0,n.cn)("min-w-[180px] border-border bg-popover p-2 text-popover-foreground shadow-md"),f="text-muted-foreground hover:bg-accent hover:text-accent-foreground";(0,n.cn)("border border-border bg-mail-surface-elevated text-foreground shadow-xl"),(0,n.cn)("h-9 w-9 shrink-0 text-muted-foreground hover:bg-accent hover:text-accent-foreground");let b="dark:!text-white",g="min-h-0 flex-1 overflow-y-auto overflow-x-hidden overscroll-y-contain [scrollbar-gutter:stable] outline-none max-sm:pb-16 [scrollbar-color:color-mix(in_srgb,var(--muted-foreground)_55%,transparent)_transparent] [scrollbar-width:auto] [&::-webkit-scrollbar]:w-2.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-muted-foreground/45",p="bg-gradient-to-b from-transparent via-mail-surface/90 to-mail-surface pt-3",h=(0,n.cn)("inline-flex shrink-0 items-center gap-2 whitespace-nowrap rounded-full border border-border","bg-mail-surface px-6 py-2.5 text-sm font-medium text-foreground shadow-sm","transition-shadow hover:bg-accent hover:shadow-md"),v=(0,n.cn)("mx-6 mb-4 rounded-xl border border-border bg-mail-invitation px-4 py-3 shadow-sm"),x="hover:bg-accent/60",w=(0,n.cn)("flex h-10 shrink-0 cursor-pointer items-center rounded-t-lg bg-muted px-3","dark:bg-[#2d2e30]"),y=(0,n.cn)("border-border bg-popover p-3 text-popover-foreground shadow-lg"),k="bg-accent text-accent-foreground",S=(0,n.cn)("flex h-7 w-7 items-center justify-center rounded text-muted-foreground transition-colors","hover:bg-accent hover:text-accent-foreground disabled:opacity-40"),_="bg-accent text-foreground",j="mx-0.5 h-5 w-px bg-border",M=(0,n.cn)("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground transition-colors","hover:bg-accent hover:text-accent-foreground"),E="bg-accent text-foreground",N=(0,n.cn)("inline-flex h-9 items-center bg-primary text-primary-foreground","hover:bg-primary/90 hover:shadow-md transition-all"),R="ml-3 border-b border-border",I="bg-primary/10",C="hover:bg-accent",q=(0,n.cn)("inline-flex items-center gap-1 rounded-full bg-muted py-0.5 pl-0.5 pr-2 text-sm text-foreground","hover:bg-accent transition-colors"),F=(0,n.cn)("absolute inset-0 z-50 flex items-center justify-center rounded-lg border-2 border-dashed border-primary","bg-primary/5");(0,n.cn)("pointer-events-auto size-9 shrink-0 rounded-full border border-border","bg-mail-surface/80 text-muted-foreground shadow-md backdrop-blur","hover:bg-accent hover:text-accent-foreground");let L="border border-border bg-popover text-popover-foreground shadow-md",T="",P=(0,n.cn)("relative box-border w-full max-w-full overflow-hidden rounded-xl border border-border","bg-mail-surface text-foreground shadow-md ring-1 ring-primary/15"),A=(0,n.cn)("size-4 min-h-4 min-w-4 shrink-0 border-[1.5px] border-mail-row-checkbox-border bg-transparent shadow-none","dark:bg-transparent focus-visible:ring-mail-row-checkbox-border/30","data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground"),D=(0,n.cn)(A,"rounded-full"),z=(0,n.cn)(A,"rounded-[2.5px]"),$="divide-y divide-mail-list-divider";(0,n.cn)("relative flex min-w-0 flex-1 items-center rounded-full border border-border","bg-mail-surface-elevated shadow-sm transition-shadow focus-within:shadow-md");let O="border-mail-border",K=(0,n.cn)("border-mail-list-chip-border bg-mail-list-chip-muted text-mail-list-chip-text"),Q=(0,n.cn)("rounded-md border border-solid !border-mail-border bg-mail-surface-muted text-foreground shadow-none","focus-visible:!border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","dark:!border-mail-border dark:!bg-mail-surface-muted"),U=(0,n.cn)("size-4 border-[1.5px] border-mail-row-checkbox-border bg-mail-surface-muted shadow-none","dark:bg-mail-surface-muted","data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground","data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground"),W=(0,n.cn)("bg-mail-surface-elevated/80 backdrop-blur-xl backdrop-saturate-150","supports-[backdrop-filter]:bg-mail-surface-elevated/65"),V=(0,n.cn)("absolute left-0 right-0 top-full z-50 mt-1 overflow-hidden rounded-lg border text-foreground shadow-lg",O,W),B=(0,n.cn)("absolute left-0 top-full z-50 mt-1 max-h-[80vh] overflow-y-auto rounded-lg border",O,"bg-mail-surface-elevated text-foreground shadow-lg","data-mail-search-advanced","sm:min-w-[34rem] sm:max-w-[min(42rem,calc(100vw-5rem))]","md:min-w-[38rem]","lg:right-0 lg:min-w-0 lg:max-w-none"),H=(0,n.cn)("z-[101] flex h-[100dvh] max-h-[100dvh] w-full flex-col gap-0 rounded-none border-0","bg-mail-surface text-foreground p-0 shadow-xl","duration-300 ease-out","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom","pb-[env(safe-area-inset-bottom)]","data-mail-mobile-search"),Y=(0,n.cn)("max-sm:bg-app-canvas/80 max-sm:backdrop-blur-xl max-sm:backdrop-saturate-150 max-sm:supports-[backdrop-filter]:bg-app-canvas/65","sm:bg-transparent"),J="mail-sidebar-blur-surface",Z="mail-sidebar-overlay-panel",X=(0,n.cn)("flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-full text-muted-foreground","outline-none hover:bg-accent/80 focus-visible:ring-2 focus-visible:ring-ring/50");function G(e){return(0,n.cn)("transition-colors",e.isSelected?"bg-mail-nav-selected text-mail-nav-selected font-medium":e.isOver?"bg-mail-nav-drop text-foreground":e.rowHoverHeld?"bg-mail-nav-hover text-foreground":e.hasUnread?"text-foreground hover:bg-mail-nav-hover":"text-muted-foreground hover:bg-mail-nav-hover",e.extra)}let ee="flex min-h-0 min-w-0 flex-1 flex-col px-1 pb-1 max-sm:px-0 max-sm:pb-0",et="flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl bg-mail-surface shadow-sm max-sm:rounded-none max-sm:shadow-none",er=(0,n.cn)("flex h-auto w-fit max-w-full flex-wrap gap-1.5","[&_[data-slot=tabs-trigger]]:flex-none"),en=(0,n.cn)("mail-settings-card rounded-lg border border-mail-border bg-mail-surface shadow-sm","dark:bg-mail-surface-elevated dark:shadow-[0_1px_4px_rgba(0,0,0,0.35)]"),ea=(0,n.cn)("mail-settings-masonry-section border-border px-0 py-5","lg:rounded-xl lg:border lg:border-mail-border lg:bg-mail-surface lg:px-5 lg:py-5 lg:shadow-sm","dark:lg:bg-mail-surface-elevated dark:lg:shadow-[0_1px_4px_rgba(0,0,0,0.35)]")},45328:(e,t,r)=>{"use strict";r.d(t,{w:()=>w});var n=r(46298),a=r(22029),i=r(91025),o=r(31047),l=r(79060),s=r(63908);function d(e){let t=(0,l.UM)(e);return`lbl-${t||"libelle"}`}function u(e,t){let r=new Set,n=e=>{for(let t of e)r.add(t.label.toLowerCase()),t.children?.length&&n(t.children)};for(let a of(n(e),t))r.add(a.label.toLowerCase());return r}function c(e,t,r){return null===t?[...e,r]:e.map(e=>e.id===t?{...e,children:[...e.children??[],r]}:e.children?.length?{...e,children:c(e.children,t,r)}:e)}function m(e,t){let r=e,n=0;for(;t.has(r);)n+=1,r=`${e}-${n}`;return r}function f(e){let t=new Set([e.id]);if(e.children?.length)for(let r of e.children)for(let e of f(r))t.add(e);return t}function b(e,t,r){let n=function e(t,r){for(let n of t){if(n.id===r)return n;if(n.children?.length){let t=e(n.children,r);if(t)return t}}return null}(e,r);return!!n&&f(n).has(t)}function g(e,t,r=null){for(let n=0;n<e.length;n++){if(e[n].id===t)return{parentId:r,index:n};let a=e[n].children;if(a?.length){let r=g(a,t,e[n].id);if(r)return r}}return null}function p(e,t,r,n){let a=(0,l.KT)(e,t,r),i=a?.idMap??{};return a&&Object.keys(i).length>0?{tree:a.tree,navItemPrefs:x(n,i),idMap:i}:{tree:e,navItemPrefs:n,idMap:{}}}function h(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(n.id===t)return{next:[...e.slice(0,r),...e.slice(r+1)],extracted:n};if(n.children?.length){let a=h(n.children,t);if(a.extracted)return{next:e.map((e,t)=>t===r?{...e,children:a.next}:e),extracted:a.extracted}}}return{next:e,extracted:null}}function v(e,t,r){return e.map(e=>e.id===t?{...e,...r}:e.children?.length?{...e,children:v(e.children,t,r)}:e)}function x(e,t){if(0===Object.keys(t).length)return e;let r={...e};for(let[e,n]of Object.entries(t)){let t=r[e];t&&(delete r[e],r[n]={...r[n],...t})}return r}let w=(0,n.v)()((0,a.Zr)((e,t)=>({folderTree:(0,o.BV)(),labelRows:(0,o.qj)(),navItemPrefs:{},setNavItemSidebarVisibility:(t,r)=>e(e=>({navItemPrefs:{...e.navItemPrefs,[t]:{...e.navItemPrefs[t],sidebar:r}}})),setNavItemMessageVisibility:(t,r)=>e(e=>({navItemPrefs:{...e.navItemPrefs,[t]:{...e.navItemPrefs[t],messages:r}}})),ensureLabelRowForLabelText:t=>{let r=t.trim();r&&e(e=>{if(u(e.folderTree,e.labelRows).has(r.toLowerCase()))return e;let t=new Set(e.labelRows.map(e=>e.id)),n=m(d(r),t),a=(0,o.Uo)({id:n,label:r,color:"bg-gray-500",tabbed:!1,favorite:!1,excludeFromPrincipal:!1,showInMessageList:!0,enabled:!0});return{labelRows:[...e.labelRows,a]}})},addLabelRowFromSidebar:e=>{t().ensureLabelRowForLabelText(e)},addFolder:(t,r)=>{let n=r.trim();n&&e(e=>{let r=(0,l.Mj)(e.folderTree,e.labelRows.map(e=>e.id),t,n);return{folderTree:c(e.folderTree,t,{id:r,label:n,color:"bg-slate-400"})}})},addSubfolder:(e,r)=>{t().addFolder(e,r)},updateFolderOrLabelColor:(t,r)=>e(e=>e.labelRows.some(e=>e.id===t)?{labelRows:e.labelRows.map(e=>e.id===t?{...e,color:r}:e)}:{folderTree:v(e.folderTree,t,{color:r})}),renameFolderOrLabel:(r,n)=>{let a=n.trim();if(!a)return{idMap:{},emailRename:null};let i=t(),u=(0,s.Es)(i.folderTree,i.labelRows)[r],c=u&&u!==a?{from:u,to:a}:null,f={};return e(e=>{let t=e.labelRows.some(e=>e.id===r),n=e.folderTree,i=e.labelRows,s=e.navItemPrefs;if(t)if((0,o.Y3)(r))i=e.labelRows.map(e=>e.id===r?{...e,label:a}:e);else{let t=new Set([...(0,l.y1)(e.folderTree),...e.labelRows.filter(e=>e.id!==r).map(e=>e.id)]),n=m(d(a),t),o=n!==r?{[r]:n}:{};i=e.labelRows.map(e=>e.id===r?{...e,id:n,label:a}:e),Object.keys(o).length>0&&(s=x(e.navItemPrefs,o),f=o)}else{n=v(e.folderTree,r,{label:a});let t=(0,l.KT)(n,r,e.labelRows.map(e=>e.id)),i=t?.idMap??{};t&&Object.keys(i).length>0&&(n=t.tree,s=x(e.navItemPrefs,i),f=i)}return{folderTree:n,labelRows:i,navItemPrefs:s}}),{idMap:f,emailRename:c}},removeFolderOrLabelRow:r=>{if((0,o.Y3)(r))return[];let n=t(),a=(0,s.Es)(n.folderTree,n.labelRows),i=n.labelRows.find(e=>e.id===r),l=[];if(i){let e=a[r];e&&(l=[e])}else{let e=h(n.folderTree,r);if(e.extracted){let t=new Set,r=e=>{t.add(e.label),e.children?.forEach(r)};r(e.extracted),l=[...t]}}return e(e=>{if(e.labelRows.find(e=>e.id===r))return{labelRows:e.labelRows.filter(e=>e.id!==r),navItemPrefs:Object.fromEntries(Object.entries(e.navItemPrefs).filter(([e])=>e!==r))};let t=h(e.folderTree,r);if(t.extracted){let r=f(t.extracted);return{folderTree:t.next,navItemPrefs:Object.fromEntries(Object.entries(e.navItemPrefs).filter(([e])=>!r.has(e)))}}return e}),l},moveFolder:(t,r)=>{let n={};return e(e=>{if(null!==r&&(r===t||b(e.folderTree,r,t)))return e;let a=h(e.folderTree,t);if(!a.extracted)return e;let i=a.next,o=p(i=c(i,r,a.extracted),a.extracted.id,e.labelRows.map(e=>e.id),e.navItemPrefs);return i=o.tree,n=o.idMap,{folderTree:i,navItemPrefs:o.navItemPrefs}}),n},reorderLabelRows:(t,r,n)=>{t===r||(0,o.Y3)(t)||(0,o.Y3)(r)||e(e=>{let a=e.labelRows.findIndex(e=>e.id===t),i=e.labelRows.findIndex(e=>e.id===r);if(a<0||i<0)return e;let o="before"===n?i:i+1;a<o&&(o-=1);let l=[...e.labelRows],[s]=l.splice(a,1);return l.splice(o,0,s),{labelRows:l}})},moveFolderRelative:(t,r,n)=>{let a={};return e(e=>{if(t===r||b(e.folderTree,r,t))return e;let i=g(e.folderTree,t),o=g(e.folderTree,r);if(!o)return e;let l=h(e.folderTree,t);if(!l.extracted)return e;let s=l.next,d=e.navItemPrefs;if("inside"===n){if(t===r)return e;s=c(s,r,l.extracted)}else{let e="before"===n?o.index:o.index+1;i&&i.parentId===o.parentId&&i.index<e&&(e-=1),s=function e(t,r,n,a){if(null===r){let e=[...t];return e.splice(Math.max(0,Math.min(n,e.length)),0,a),e}return t.map(t=>{if(t.id===r){let e=[...t.children??[]];return e.splice(Math.max(0,Math.min(n,e.length)),0,a),{...t,children:e}}return t.children?.length?{...t,children:e(t.children,r,n,a)}:t})}(s,o.parentId,e,l.extracted)}let u=p(s,l.extracted.id,e.labelRows.map(e=>e.id),d);return s=u.tree,d=u.navItemPrefs,a=u.idMap,{folderTree:s,navItemPrefs:d}}),a},addChildLabelRow:(t,r)=>{let n=r.trim();n&&e(e=>{let r=e.labelRows.find(e=>e.id===t);if(!r)return e;let a=`${r.label}/${n}`;if(u(e.folderTree,e.labelRows).has(a.toLowerCase()))return e;let i=new Set(e.labelRows.map(e=>e.id)),l=m(d(a),i);return{labelRows:[...e.labelRows,(0,o.Uo)({id:l,label:a,color:r.color??"bg-gray-500",tabbed:!1,favorite:!1,excludeFromPrincipal:!1,showInMessageList:!0,enabled:!0})]}})},setLabelRowEnabled:(t,r)=>e(e=>({labelRows:e.labelRows.map(e=>e.id===t?(0,o.Uo)({...e,enabled:r}):e)})),hydrateFolderTreeFromApi:t=>e({folderTree:t}),hydrateLabelRowsFromApi:t=>e(e=>{let r=e.labelRows.filter(e=>(0,o.Y3)(e.id)),n=new Set(t.map(e=>e.id));return{labelRows:[...r.filter(e=>!n.has(e.id)),...t.map(e=>(0,o.Uo)(e))]}}),getFolderIdToLabel:()=>{let e=t();return(0,s.Es)(e.folderTree,e.labelRows)},getEmailLabelToSidebarFolderId:()=>{let e=t(),r=(0,s.Es)(e.folderTree,e.labelRows);return(0,s.p4)(r)},getNavItemPrefs:e=>{let r=t().navItemPrefs[e];return{sidebar:r?.sidebar??"show",messages:r?.messages??"show"}}}),{name:"ultimail-nav-state",storage:i.$,version:2,migrate:(e,t)=>t<2&&e&&"object"==typeof e&&Array.isArray(e.labelRows)?{...e,labelRows:(0,o.Fv)(e.labelRows)}:e}))},46424:(e,t,r)=>{"use strict";r.d(t,{_X:()=>d,b0:()=>s,d7:()=>c,gr:()=>m,j9:()=>u,yx:()=>f});var n=r(98306),a=r(39927),i=r(17745),o=r(94927),l=r(18747);function s(){let{ready:e,authenticated:t}=(0,l.v)();return(0,n.I)({queryKey:["labels"],queryFn:async()=>{let e=await o.uE.get("/mail/labels");return Array.isArray(e)?e:e.labels??[]},staleTime:3e5,enabled:e&&t,retry:1})}function d(){let e=(0,a.jE)();return(0,i.n)({mutationFn:e=>o.uE.post("/mail/labels",e),onSuccess:()=>{e.invalidateQueries({queryKey:["labels"]})}})}function u(){let e=(0,a.jE)();return(0,i.n)({mutationFn:({id:e,...t})=>o.uE.put(`/mail/labels/${e}`,t),onSuccess:()=>{e.invalidateQueries({queryKey:["labels"]})}})}function c(){let e=(0,a.jE)();return(0,i.n)({mutationFn:e=>o.uE.delete(`/mail/labels/${e}`),onMutate:async t=>{await e.cancelQueries({queryKey:["labels"]});let r=e.getQueryData(["labels"]);return e.setQueryData(["labels"],e=>e?.filter(e=>e.id!==t)),{previous:r}},onError:(t,r,n)=>{n?.previous&&e.setQueryData(["labels"],n.previous)},onSettled:()=>{e.invalidateQueries({queryKey:["labels"]})}})}function m(){let e=(0,a.jE)();return(0,i.n)({mutationFn:e=>o.uE.post("/mail/labels/reorder",{items:e}),onSuccess:()=>{e.invalidateQueries({queryKey:["labels"]})}})}function f(e){return(0,n.I)({queryKey:["identities",e],queryFn:async()=>{let t=await o.uE.get(`/mail/accounts/${e}/identities`);return Array.isArray(t)?t:t.identities??[]},enabled:!!e})}},52590:(e,t,r)=>{"use strict";r.d(t,{x:()=>u});var n=r(46298),a=r(22029),i=r(91025),o=r(81893),l=r(65367),s=r(19916);let d={quickSettingsOpen:!1,themeDialogOpen:!1,density:"default",themeMode:"system",backgroundId:"none",inboxSort:"default",readingPane:"none",conversationMode:!0,infiniteScroll:!1,listPageSize:s.Lw,...l.L5},u=(0,n.v)()((0,a.Zr)(e=>({...d,setQuickSettingsOpen:t=>e({quickSettingsOpen:t}),setThemeDialogOpen:t=>e({themeDialogOpen:t}),setDensity:t=>e({density:t}),setThemeMode:t=>e({themeMode:t}),setBackgroundId:t=>e({backgroundId:t}),setInboxSort:t=>e({inboxSort:t}),setReadingPane:t=>e({readingPane:t}),setConversationMode:t=>e({conversationMode:t}),setInfiniteScroll:t=>e({infiniteScroll:t}),setListPageSize:t=>e({listPageSize:t}),setDesktopNewMail:t=>e({desktopNewMail:t}),setDesktopMentions:t=>e({desktopMentions:t}),setEmailDigest:t=>e({emailDigest:t}),setSoundEnabled:t=>e({soundEnabled:t}),hydrateFromApi:t=>e(e=>({...e,...t,...void 0!==t.backgroundId?{backgroundId:(0,o.y9)(t.backgroundId)}:{}}))}),{name:"ultimail-mail-settings",storage:i.$,partialize:e=>({density:e.density,themeMode:e.themeMode,backgroundId:e.backgroundId,inboxSort:e.inboxSort,readingPane:e.readingPane,conversationMode:e.conversationMode,infiniteScroll:e.infiniteScroll,listPageSize:e.listPageSize,desktopNewMail:e.desktopNewMail,desktopMentions:e.desktopMentions,emailDigest:e.emailDigest,soundEnabled:e.soundEnabled}),merge:(e,t)=>e?{...t,...e,backgroundId:(0,o.y9)(e.backgroundId??"none"),listPageSize:(0,s.rq)(Number(e.listPageSize))?(0,s.QK)(Number(e.listPageSize)):t.listPageSize}:t}))},54589:(e,t,r)=>{"use strict";r.d(t,{RE:()=>v,YI:()=>w,IL:()=>p,xe:()=>x});var n=r(4208),a=r(91356),i=r(31047),o=r(45328),l=r(63908),s=r(39927),d=r(18747),u=r(46424),c=r(57070);function m(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}var f=r(163),b=r(76706);let g={current:null};function p(e){g.current=e}let h=(0,a.createContext)(null);function v({children:e,routeFolderId:t,onRouteFolderIdChange:r}){let p=(0,a.useRef)({routeFolderId:null,onRouteFolderIdChange:void 0});(0,a.useEffect)(()=>{p.current={routeFolderId:t,onRouteFolderIdChange:r}},[t,r]);let x=function(){let{ready:e,authenticated:t}=(0,d.v)(),r=(0,s.jE)(),n=e&&t,i=(0,a.useCallback)(()=>{r.invalidateQueries({queryKey:["labels"]}),r.invalidateQueries({queryKey:["unified-folders"]})},[r]),o=(0,u._X)(),l=(0,u.j9)(),m=(0,u.d7)(),f=(0,u.gr)(),b=(0,c.yr)(),g=(0,c.N0)(),p=(0,c.vS)(),h=(0,c.w1)();return{apiEnabled:n,invalidateNav:i,createLabel:e=>!!n&&(o.mutate(e,{onSuccess:i}),!0),updateLabel:e=>!!n&&(l.mutate(e,{onSuccess:i}),!0),deleteLabel:e=>!!n&&(m.mutate(e,{onSuccess:i}),!0),reorderLabels:e=>!!n&&0!==e.length&&(f.mutate(e,{onSuccess:i}),!0),createFolder:e=>!!n&&(b.mutate(e,{onSuccess:i}),!0),updateFolder:e=>!!n&&(g.mutate(e,{onSuccess:i}),!0),deleteFolder:e=>!!n&&(p.mutate(e,{onSuccess:i}),!0),reorderFolders:e=>!!n&&0!==e.length&&(h.mutate(e,{onSuccess:i}),!0)}}(),w=(0,a.useCallback)(e=>{0!==Object.keys(e).length&&queueMicrotask(()=>{let{routeFolderId:t,onRouteFolderIdChange:r}=p.current;if(!t||!r)return;let n=e[t];n&&r(n)})},[]),y=(0,o.w)(e=>e.folderTree),k=(0,o.w)(e=>e.labelRows),S=(0,o.w)(e=>e.navItemPrefs),_=o.w.getState(),j=(0,a.useMemo)(()=>(0,l.Es)(y,k),[y,k]),M=(0,a.useMemo)(()=>(0,l.p4)(j),[j]),E=(0,a.useCallback)(e=>{let t=S[e];return{sidebar:t?.sidebar??"show",messages:t?.messages??"show"}},[S]),N=(0,a.useCallback)(e=>null!=(0,b.sc)(y,e),[y]),R=(0,a.useCallback)(e=>k.find(t=>t.id===e),[k]),I=(0,a.useCallback)((e,t)=>{x.apiEnabled?x.createFolder({name:t,color:"bg-slate-400",parent_id:e??void 0}):_.addFolder(e,t)},[x]),C=(0,a.useCallback)((e,t)=>{I(e,t)},[I]),q=(0,a.useCallback)((e,t=f.s)=>{x.apiEnabled?x.createLabel({name:e.trim(),color:t}):_.addLabelRowFromSidebar(e)},[x]),F=(0,a.useCallback)((e,t)=>{let r=R(e),n=t.trim();if(!n)return;let a=r?`${r.label}/${n}`:n;x.apiEnabled?x.createLabel({name:a,color:r?.color??f.s}):_.addChildLabelRow(e,t)},[R,x]),L=(0,a.useCallback)((e,t)=>{if(x.apiEnabled&&m(e)){if(N(e)){let r=(0,b.sc)(y,e);if(r)return void x.updateFolder({id:e,name:r.label,color:t,parent_id:void 0})}let r=R(e);if(r&&!(0,i.Y3)(e))return void x.updateLabel({id:e,name:r.label,color:t})}_.updateFolderOrLabelColor(e,t)},[y,R,N,x]),T=(0,a.useCallback)((e,t)=>{if(x.apiEnabled&&m(e)){if(N(e)){let r=(0,b.sc)(y,e);if(r)return void x.updateFolder({id:e,name:t.trim(),color:r.color??"bg-slate-400"})}let r=R(e);if(r&&!(0,i.Y3)(e)){let n=r.label;x.updateLabel({id:e,name:t.trim(),color:r.color}),queueMicrotask(()=>{g.current?.renameLabel(n,t.trim())});return}}let{idMap:r,emailRename:n}=o.w.getState().renameFolderOrLabel(e,t);w(r),n&&queueMicrotask(()=>{g.current?.renameLabel(n.from,n.to)})},[y,R,N,x,w]),P=(0,a.useCallback)(e=>{if(x.apiEnabled&&m(e)){if(N(e))return void x.deleteFolder(e);let t=R(e);if(t&&!(0,i.Y3)(e)){x.deleteLabel(e),queueMicrotask(()=>{g.current?.removeLabel(t.label)});return}}let t=o.w.getState().removeFolderOrLabelRow(e);t.length>0&&queueMicrotask(()=>{for(let e of t)g.current?.removeLabel(e)})},[R,N,x]),A=(0,a.useCallback)(()=>{if(!x.apiEnabled)return;let e=o.w.getState().labelRows.filter(e=>m(e.id)&&!(0,i.Y3)(e.id)).map((e,t)=>({id:e.id,sort_order:10*t}));x.reorderLabels(e)},[x]),D=(0,a.useCallback)(()=>{if(!x.apiEnabled)return;let e=function e(t,r=null){let n=[];return t.forEach((t,a)=>{m(t.id)&&(n.push({id:t.id,sort_order:10*a,parent_id:r}),t.children?.length&&n.push(...e(t.children,t.id)))}),n}(o.w.getState().folderTree);x.reorderFolders(e)},[x]),z=(0,a.useCallback)((e,t)=>{if(x.apiEnabled&&m(e)&&(0,b.sc)(y,e)){o.w.getState().moveFolder(e,t),queueMicrotask(D);return}w(o.w.getState().moveFolder(e,t))},[y,x,w,D]),$=(0,a.useCallback)((e,t,r)=>{if(x.apiEnabled&&m(e)){w(o.w.getState().moveFolderRelative(e,t,r)),queueMicrotask(D);return}w(o.w.getState().moveFolderRelative(e,t,r))},[x,w,D]),O=(0,a.useCallback)((e,t,r)=>{o.w.getState().reorderLabelRows(e,t,r),queueMicrotask(A)},[A]),K=(0,a.useMemo)(()=>({folderTree:y,labelRows:k,folderIdToLabel:j,emailLabelToSidebarFolderId:M,getNavItemPrefs:E,setNavItemSidebarVisibility:_.setNavItemSidebarVisibility,setNavItemMessageVisibility:_.setNavItemMessageVisibility,ensureLabelRowForLabelText:_.ensureLabelRowForLabelText,addLabelRowFromSidebar:q,addFolder:I,updateFolderOrLabelColor:L,renameFolderOrLabel:T,removeFolderOrLabelRow:P,moveFolder:z,reorderLabelRows:O,moveFolderRelative:$,addSubfolder:C,addChildLabelRow:F,setLabelRowEnabled:_.setLabelRowEnabled}),[y,k,j,M,E,_,q,I,L,T,P,z,O,$,C,F]);return(0,n.jsx)(h.Provider,{value:K,children:e})}function x(){let e=(0,a.useContext)(h);if(!e)throw Error("useSidebarNav must be used within SidebarNavProvider");return e}function w(e,t){let r=function e(t,r){for(let n of t){if(n.id===r)return n;if(n.children?.length){let t=e(n.children,r);if(t)return t}}return null}(e,t),n=r?function e(t){let r=new Set([t.id]);if(t.children?.length)for(let n of t.children)for(let t of e(n))r.add(t);return r}(r):new Set([t]),a=[{value:"__root__",label:"Racine",depth:0}],i=(e,t)=>{for(let r of e)!n.has(r.id)&&(a.push({value:r.id,label:`${" ".repeat(2*t)}${r.label}`,depth:t}),r.children?.length&&i(r.children,t+1))};return i(e,0),a}},57070:(e,t,r)=>{"use strict";r.d(t,{FL:()=>s,N0:()=>c,vS:()=>u,w1:()=>m,yr:()=>d});var n=r(98306),a=r(39927),i=r(17745),o=r(94927),l=r(18747);function s(e="all"){let{ready:t,authenticated:r}=(0,l.v)();return(0,n.I)({queryKey:["unified-folders",e],queryFn:async()=>{var t;return Array.isArray(t=await o.uE.get("/mail/unified-folders","all"===e?void 0:"global"===e?{account_id:"global"}:{account_id:e}))?t:t.folders??[]},enabled:t&&r,staleTime:6e4,retry:1})}function d(){let e=(0,a.jE)();return(0,i.n)({mutationFn:e=>o.uE.post("/mail/unified-folders",e),onSuccess:()=>{e.invalidateQueries({queryKey:["unified-folders"]})}})}function u(){let e=(0,a.jE)();return(0,i.n)({mutationFn:e=>o.uE.delete(`/mail/unified-folders/${e}`),onSuccess:()=>{e.invalidateQueries({queryKey:["unified-folders"]})}})}function c(){let e=(0,a.jE)();return(0,i.n)({mutationFn:({id:e,...t})=>o.uE.put(`/mail/unified-folders/${e}`,t),onSuccess:()=>{e.invalidateQueries({queryKey:["unified-folders"]})}})}function m(){let e=(0,a.jE)();return(0,i.n)({mutationFn:e=>o.uE.post("/mail/unified-folders/reorder",{items:e}),onSuccess:()=>{e.invalidateQueries({queryKey:["unified-folders"]})}})}},58411:(e,t,r)=>{"use strict";r.d(t,{h3:()=>c,sO:()=>m});var n=r(91356),a=r(39927),i=r(72858),o=r(86227),l=r(6224),s=r(29994);class d{init(e){this.queryClient=e,this.loadLastSeq()}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}connect(e){if(this.ws?.readyState===WebSocket.OPEN)return;let t=(0,s.mR)()??"";if(!t)return;let r=`${t}?token=${encodeURIComponent(e)}&since=${this.lastSeq}`;this.ws=new WebSocket(r),this.ws.onopen=()=>{this.reconnectAttempts=0},this.ws.onmessage=e=>this.handleMessage(e),this.ws.onclose=()=>this.scheduleReconnect(e),this.ws.onerror=()=>{}}disconnect(){this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.ws?.close(),this.ws=null}handleMessage(e){try{let t=JSON.parse(e.data);if("ws.ping"===t.type)return void this.send({type:"ws.pong",payload:{}});for(let e of(t.seq&&(this.lastSeq=t.seq,this.saveLastSeq()),this.handleEvent(t),this.listeners))e(t)}catch{}}send(e){this.ws?.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify(e))}handleEvent(e){if(!this.queryClient)return;let t=function(e){let t=e.payload;if(!t||"object"!=typeof t)return null;let r="message_id"in t?String(t.message_id??""):"",n="account_id"in t?String(t.account_id??""):"";return r?{message_id:r,account_id:n}:null}(e);switch(e.type){case"mail.created":this.queryClient.invalidateQueries({queryKey:["messages"]});break;case"mail.updated":this.queryClient.invalidateQueries({queryKey:["messages"]}),t?.message_id&&this.queryClient.invalidateQueries({queryKey:["message",t.message_id]});break;case"mail.deleted":this.queryClient.invalidateQueries({queryKey:["messages"]}),t?.message_id&&this.queryClient.removeQueries({queryKey:["message",t.message_id]});break;case"outbox.updated":this.queryClient.invalidateQueries({queryKey:["outbox"]});break;case"contact.updated":this.queryClient.invalidateQueries({queryKey:["contacts"]})}}scheduleReconnect(e){let t=Math.min(1e3*2**this.reconnectAttempts,this.maxReconnectDelay);this.reconnectAttempts++,this.reconnectTimer=setTimeout(()=>this.connect(e),t)}loadLastSeq(){let e=localStorage.getItem("ultimail-ws-seq");e&&(this.lastSeq=parseInt(e,10)||0)}saveLastSeq(){localStorage.setItem("ultimail-ws-seq",String(this.lastSeq))}constructor(){this.ws=null,this.reconnectAttempts=0,this.maxReconnectDelay=3e4,this.reconnectTimer=null,this.lastSeq=0,this.queryClient=null,this.listeners=new Set}}let u=new d;function c(){let e=(0,a.jE)(),t=(0,o.nc)(e=>e.accessToken),r=(0,l.g)();(0,n.useEffect)(()=>{r||u.init(e)},[e,r]),(0,n.useEffect)(()=>{if(r)return;let e=!1;return(async()=>{let r=t?await (0,i.A)():null;e||(r?u.connect(r):u.disconnect())})(),()=>{e=!0,u.disconnect()}},[t,r])}function m(e){(0,n.useEffect)(()=>u.subscribe(e),[e])}},58882:(e,t,r)=>{"use strict";r.d(t,{SettingsAppShell:()=>f});var n=r(4208),a=r(91356),i=r(54589),o=r(74575),l=r(93079),s=r(42125),d=r(10937),u=r(61504),c=r(58411),m=r(52590);function f({children:e}){return(0,c.h3)(),(0,a.useEffect)(()=>{m.x.getState().setQuickSettingsOpen(!1)},[]),(0,a.useEffect)(()=>{let e=e=>e.preventDefault();return document.addEventListener("gesturestart",e,{passive:!1}),document.addEventListener("gesturechange",e,{passive:!1}),document.addEventListener("gestureend",e,{passive:!1}),()=>{document.removeEventListener("gesturestart",e),document.removeEventListener("gesturechange",e),document.removeEventListener("gestureend",e)}},[]),(0,n.jsxs)(i.RE,{children:[e,(0,n.jsx)(o.O,{}),(0,n.jsx)(l.k,{}),(0,n.jsx)(s._,{}),(0,n.jsx)(d.e,{}),(0,n.jsx)(u.D,{})]})}},59357:(e,t,r)=>{"use strict";r.d(t,{CE:()=>g,FJ:()=>c,M3:()=>d,Mx:()=>n,QW:()=>u,Rf:()=>b,Sz:()=>s,bQ:()=>f,db:()=>l,jW:()=>i,r0:()=>a,sb:()=>m,vu:()=>o});let n="px-1 max-sm:px-0",a="px-4",i="pt-3",o="pb-4",l="shrink-0 h-6 max-sm:h-[calc(5.5rem+env(safe-area-inset-bottom))]",s="text-muted-foreground hover:bg-mail-nav-hover hover:text-foreground",d="group flex min-w-0 items-center rounded-lg text-sm",u="flex h-7 w-6 shrink-0 items-center justify-center",c="flex min-w-0 flex-1 items-center gap-2 py-1.5 pr-2",m="flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-full text-muted-foreground hover:bg-mail-nav-hover",f="bg-mail-nav-hover",b="relative flex h-12 w-full min-w-0 shrink-0 items-center rounded-full border border-border bg-mail-surface-elevated shadow-sm transition-shadow focus-within:shadow-md",g="flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl bg-mail-surface shadow-sm max-sm:rounded-none max-sm:shadow-none"},59557:(e,t,r)=>{"use strict";r.d(t,{Q:()=>d,m:()=>u});var n=r(5807),a=r(98306),i=r(94927),o=r(18747),l=r(90324);function s(e){return Array.isArray(e)?e:e.folders??[]}function d(){let{ready:e,authenticated:t}=(0,o.v)(),{data:r=[]}=(0,l.HM)(),a=(0,n.E)({queries:r.map(r=>({queryKey:["folders",r.id],queryFn:async()=>s(await i.uE.get("/mail/folders",{account_id:r.id})),enabled:e&&t&&!!r.id,staleTime:6e4,retry:1}))}),d=a.some(e=>e.isLoading),u=0===r.length||a.every(e=>e.isFetched);return{folders:a.flatMap(e=>e.data??[]),isLoading:d,isFetched:u}}function u(e){let{ready:t,authenticated:r}=(0,o.v)();return(0,a.I)({queryKey:["folders",e],queryFn:async()=>s(await i.uE.get("/mail/folders",{account_id:e})),enabled:t&&r&&!!e,staleTime:6e4,retry:1})}},59680:(e,t,r)=>{"use strict";r.d(t,{CN:()=>a,TR:()=>n});let n=(0,r(46298).v)()(e=>({signatures:[],hydrated:!1,hydrateFromApi:t=>e({signatures:t,hydrated:!0}),clear:()=>e({signatures:[],hydrated:!1})}));function a(e){if(!e)return null;let t=n.getState().signatures.find(t=>t.id===e);return t?.html?.trim()?t.html:null}},60142:(e,t,r)=>{"use strict";r.d(t,{N:()=>i});var n=r(4208);r(91356);var a=r(17996);function i({children:e,scriptProps:t,...r}){let o={...t,type:"application/json"};return(0,n.jsx)(a.N,{...r,scriptProps:o,children:e})}},61504:(e,t,r)=>{"use strict";r.d(t,{D:()=>u});var n=r(91356),a=r(19984),i=r(39219),o=r(58411),l=r(94927),s=r(52590),d=r(37606);function u(){let e=(0,a.useRouter)(),t=(0,s.x)(e=>e.desktopNewMail),r=(0,s.x)(e=>e.desktopMentions),u=(0,s.x)(e=>e.soundEnabled),c=(0,n.useCallback)(async n=>{if("mail.created"!==n.type||!t&&!r)return;let a=function(e){let t=e.payload;if(!t||"object"!=typeof t||!("message_id"in t))return null;let r=String(t.message_id??"");return r?{message_id:r,account_id:String(t.account_id??"")}:null}(n);if(!a)return;let o="Nouveau message",s="";try{let e=await l.uE.get(`/mail/messages/${a.message_id}`);o=e.subject?.trim()||o,s=e.from?.[0]?.name||e.from?.[0]?.address||""}catch{}let c=(0,d.kv)(o);c&&!r||(c||t)&&(0,d.Lw)({title:o,body:s?`De ${s}`:void 0,tag:a.message_id,playSound:u,onClick:()=>{e.push((0,i.Pu)({folderId:"inbox",inboxTab:"primary",page:1,mailId:a.message_id}))}})},[r,t,e,u]);return(0,o.sO)(c),null}},61521:(e,t,r)=>{"use strict";r.d(t,{MailSettingsLayout:()=>_});var n=r(4208),a=r(35855),i=r.n(a),o=r(19984),l=r(58113),s=r(49845),d=r(44410),u=r(73190),c=r(91356),m=r(30957),f=r(12551),b=r(61554),g=r(59357),p=r(96833);function h(e,t,r,n,a){return{id:t,label:r,description:a,sectionId:e,sectionLabel:s.IJ.find(t=>t.id===e)?.label??"Affichage",href:s.IJ.find(t=>t.id===e)?.href??s.gH,keywords:n}}let v=[...s.IJ.map(e=>h(e.id,`section-${e.id}`,e.label,`${e.description} r\xe9glages param\xe8tres`,e.description)),h("display","density","Densit\xe9","compact normal d\xe9faut espacement liste messages"),h("display","theme","Th\xe8me","clair sombre dark light mode apparence couleurs"),h("display","background","Arri\xe8re-plan","fond wallpaper image th\xe8me d\xe9cor"),h("display","inbox-type","Type de bo\xeete de r\xe9ception","important non lus suivis starred tri inbox"),h("display","reading-pane","Volet de lecture","split panneau droite aper\xe7u message"),h("display","conversation","Mode Conversation","fil discussion thread regrouper messages"),h("display","infinite-scroll","Scroll infini","d\xe9filement pagination liste messages bureau desktop"),h("accounts","add-account","Ajouter un compte mail","imap smtp oauth connecter serveur"),h("accounts","hosted-mail","Mail h\xe9berg\xe9 Stalwart","ultimail bo\xeete ultisuite imap smtp stalwart h\xe9berg\xe9"),h("accounts","identities","Identit\xe9s d'envoi","alias from exp\xe9diteur adresse envoi"),h("accounts","imap","IMAP","r\xe9ception serveur entrant synchronisation"),h("accounts","smtp","SMTP","envoi serveur sortant"),h("accounts","signature-library","Biblioth\xe8que de signatures","cr\xe9er modifier supprimer signature html"),h("accounts","signature-assign","Signature par identit\xe9","identit\xe9 signature par d\xe9faut s\xe9lecteur compte mail"),h("labels","labels","Libell\xe9s","tags couleur \xe9tiquettes organisation"),h("labels","folders","Dossiers","imap unified unifi\xe9s arborescence"),h("labels","unified-folders","Dossiers unifi\xe9s","cross-comptes organisation partag\xe9e"),h("notifications","desktop-new","Nouveaux messages (bureau)","notification desktop alerte push"),h("notifications","desktop-mentions","Mentions et r\xe9ponses","notification mention reply"),h("notifications","email-digest","R\xe9sum\xe9 quotidien par e-mail","digest r\xe9cap quotidien"),h("notifications","sound","Son de notification","audio alerte sonore"),h("automation","rules","R\xe8gles de tri","automatisation filtre tri forward r\xe9ponse"),h("automation","webhooks","Webhooks","http post template payload externe"),h("automation","llm","Fournisseurs LLM","ia openai tri intelligent llm"),h("automation","search-providers","Fournisseurs de recherche","web search api brave bing searxng duckduckgo ultiai contacts"),h("automation","api-tokens","Tokens API","agent ia acc\xe8s programmatique fine-grained agenda calendrier"),h("automation","agenda-rules","R\xe8gles agenda","\xe9v\xe9nement calendrier invitation visio participant"),h("automation","agenda-webhooks","Webhooks agenda","\xe9v\xe9nement calendrier cr\xe9\xe9 modifi\xe9 supprim\xe9 r\xe9ponse"),h("agenda","week-start","Premier jour de la semaine","lundi dimanche locale agenda"),h("agenda","video","Visioconf\xe9rence","ultimeet zoom meet teams jitsi agenda"),h("agenda","invitations","Invitations par mail","ics import automatique r\xe9ponses agenda"),h("agenda","calendars","Agendas par compte","calendriers visibles compte mail ultimail"),h("agenda","ical","Calendriers externes","ical url abonnement google outlook"),h("agenda","views","Vues d'agendas","regrouper calendriers libell\xe9s vue par d\xe9faut")],x=new p.A(v,{keys:[{name:"label",weight:.45},{name:"sectionLabel",weight:.2},{name:"keywords",weight:.25},{name:"description",weight:.1}],threshold:.38,ignoreLocation:!0});function w({className:e}){let t=(0,o.useRouter)(),r=(0,c.useRef)(null),a=(0,c.useRef)(null),[i,s]=(0,c.useState)(""),[u,p]=(0,c.useState)(!1),[h,v]=(0,c.useState)(!1),[y,k]=(0,c.useState)(-1),S=(0,c.useMemo)(()=>(function(e,t=8){let r=e.trim();return r?x.search(r,{limit:t}).map(e=>e.item):[]})(i),[i]),_=h&&u&&i.trim().length>0&&S.length>0,j=(0,c.useCallback)(e=>{t.push(e.href),v(!1),s(""),k(-1),a.current?.blur()},[t]),M=(0,c.useCallback)(e=>{if(_||"Escape"===e.key)switch(e.key){case"ArrowDown":e.preventDefault(),k(e=>e<S.length-1?e+1:0);break;case"ArrowUp":e.preventDefault(),k(e=>e>0?e-1:S.length-1);break;case"Enter":e.preventDefault(),y>=0&&S[y]?j(S[y]):S[0]&&j(S[0]);break;case"Escape":e.preventDefault(),v(!1),k(-1),a.current?.blur()}},[_,y,S,j]);return(0,c.useEffect)(()=>{k(S.length>0?0:-1)},[i,S.length]),(0,c.useEffect)(()=>{function e(e){r.current?.contains(e.target)||v(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,n.jsxs)("div",{ref:r,"data-mail-settings-search":!0,className:(0,l.cn)("relative flex w-full min-w-0 flex-col overflow-visible",e),children:[(0,n.jsxs)("div",{className:(0,l.cn)(g.Rf,"text-[#5f6368] dark:text-[#9aa0a6]",u&&"shadow-md ring-1 ring-gray-300 dark:ring-gray-600"),children:[(0,n.jsx)("div",{className:"pointer-events-none absolute left-3.5 flex items-center",children:(0,n.jsx)(m.A,{className:"size-5 shrink-0"})}),(0,n.jsx)("input",{ref:a,type:"search",value:i,onChange:e=>{s(e.target.value),v(!0)},onFocus:()=>{p(!0),i.trim()&&v(!0)},onBlur:()=>p(!1),onKeyDown:M,placeholder:"Rechercher dans les r\xe9glages",className:(0,l.cn)("h-full w-full rounded-full border-0 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground",i?"pl-11 pr-12":"pl-11 pr-4"),role:"combobox","aria-expanded":_,"aria-controls":"mail-settings-search-listbox","aria-autocomplete":"list",autoComplete:"off"}),i?(0,n.jsx)(b.$,{type:"button",variant:"ghost",size:"icon",className:"absolute right-2 shrink-0 rounded-full text-muted-foreground hover:text-foreground","aria-label":"Effacer la recherche",onMouseDown:e=>e.preventDefault(),onClick:()=>{s(""),v(!1),a.current?.focus()},children:(0,n.jsx)(f.A,{className:"size-4"})}):null]}),_?(0,n.jsx)("ul",{id:"mail-settings-search-listbox",role:"listbox",className:(0,l.cn)("absolute left-0 right-0 top-[calc(100%+4px)] z-50 overflow-hidden rounded-2xl py-1",d.Yh),children:S.map((e,t)=>{let r=t===y;return(0,n.jsx)("li",{role:"presentation",children:(0,n.jsx)("button",{type:"button",role:"option","aria-selected":r,className:(0,l.cn)("flex w-full items-start gap-3 px-4 py-2.5 text-left text-sm transition-colors",r?"bg-accent text-accent-foreground":"hover:bg-accent/60"),onMouseDown:e=>e.preventDefault(),onClick:()=>j(e),onMouseEnter:()=>k(t),children:(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:"truncate font-medium text-foreground",children:e.label}),(0,n.jsxs)("div",{className:"truncate text-xs text-muted-foreground",children:[e.sectionLabel,e.description?` \xb7 ${e.description}`:null]})]})})},e.id)})}):null]})}var y=r(88477);let k=s.gH;function S(){return(0,n.jsxs)("header",{"data-mail-settings-chrome-header":!0,className:"flex h-16 w-full shrink-0 items-center gap-0 bg-app-canvas pr-4 sm:gap-2",children:[(0,n.jsx)("div",{className:"hidden h-full w-64 shrink-0 items-center pl-4 md:flex lg:w-72",children:(0,n.jsx)(u.X,{className:"min-h-8 shrink-0"})}),(0,n.jsx)("div",{className:"flex shrink-0 items-center pl-2 md:hidden",children:(0,n.jsx)(u.X,{variant:"mark",className:"h-8 w-8"})}),(0,n.jsx)("div",{className:"flex min-w-0 flex-1 items-center px-1 sm:pl-1 sm:pr-1",children:(0,n.jsx)(w,{className:"w-full max-w-3xl"})}),(0,n.jsx)(y._,{className:"ml-auto shrink-0 pl-2 sm:pl-4",settingsHref:k})]})}function _({children:e}){let t=(0,o.usePathname)();return(0,n.jsxs)("div",{"data-mail-settings-app":!0,className:"ultimail-app flex h-dvh max-h-dvh flex-col overflow-hidden bg-app-canvas",children:[(0,n.jsx)(S,{}),(0,n.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col md:flex-row",children:[(0,n.jsx)("aside",{"data-mail-settings-sidebar":!0,className:"hidden w-64 shrink-0 overflow-y-auto bg-app-canvas p-3 md:block lg:w-72",children:(0,n.jsx)("nav",{className:"space-y-1","aria-label":"Sections des param\xe8tres",children:s.IJ.map(e=>{let r=(0,s.si)(t,e),a=e.icon;return(0,n.jsxs)(i(),{href:e.href,"aria-current":r?"page":void 0,className:(0,l.cn)("flex w-full items-start gap-3 rounded-lg px-3 py-2.5 transition-colors",r?"bg-mail-nav-selected":"hover:bg-mail-nav-hover"),children:[(0,n.jsx)(a,{className:(0,l.cn)("mt-0.5 size-4 shrink-0 opacity-70",r?"text-mail-nav-selected":"text-muted-foreground")}),(0,n.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,n.jsx)("span",{className:(0,l.cn)("block text-sm font-medium",r?"text-mail-nav-selected":"text-muted-foreground"),children:e.label}),(0,n.jsx)("span",{className:"block text-xs font-normal text-muted-foreground",children:e.description})]})]},e.id)})})}),(0,n.jsx)("div",{className:d.R5,children:(0,n.jsxs)("div",{"data-mail-settings-main":!0,className:d.wC,children:[(0,n.jsx)("nav",{className:"shrink-0 border-b border-border px-2 py-2 md:hidden","aria-label":"Sections des param\xe8tres",children:(0,n.jsx)("div",{className:"flex gap-1 overflow-x-auto",children:s.IJ.map(e=>{let r=(0,s.si)(t,e),a=e.icon;return(0,n.jsxs)(i(),{href:e.href,"aria-label":e.label,"aria-current":r?"page":void 0,className:(0,l.cn)("flex shrink-0 items-center rounded-lg",r?(0,l.cn)("gap-2 px-3 py-2",(0,d.HU)({isSelected:!0})):(0,l.cn)("size-9 justify-center",(0,d.HU)({isSelected:!1}))),children:[(0,n.jsx)(a,{className:"size-4 shrink-0 opacity-70"}),r?(0,n.jsx)("span",{className:"text-sm font-medium",children:e.label}):null]},e.id)})})}),(0,n.jsx)("main",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-5 sm:px-8",children:(0,n.jsx)("div",{className:(0,l.cn)("w-full max-w-3xl",(0,s.bx)(t)&&"lg:max-w-6xl",(0,s.bZ)(t)?"mr-auto":"mx-auto"),children:e})})]})})]})]})}},65367:(e,t,r)=>{"use strict";r.d(t,{IX:()=>a,L5:()=>n,Sm:()=>i});let n={desktopNewMail:!0,desktopMentions:!0,emailDigest:!1,soundEnabled:!1};function a(e){let t=e.notifications;return{density:e.density,themeMode:e.theme_mode,backgroundId:e.background_id,inboxSort:e.inbox_sort,readingPane:e.reading_pane,conversationMode:e.conversation_mode,desktopNewMail:t?.desktop_new_mail??n.desktopNewMail,desktopMentions:t?.desktop_mentions??n.desktopMentions,emailDigest:t?.email_digest??n.emailDigest,soundEnabled:t?.sound_enabled??n.soundEnabled}}function i(e){let t={};void 0!==e.density&&(t.density=e.density),void 0!==e.themeMode&&(t.theme_mode=e.themeMode),void 0!==e.backgroundId&&(t.background_id=e.backgroundId),void 0!==e.inboxSort&&(t.inbox_sort=e.inboxSort),void 0!==e.readingPane&&(t.reading_pane=e.readingPane),void 0!==e.conversationMode&&(t.conversation_mode=e.conversationMode);let r={};return void 0!==e.desktopNewMail&&(r.desktop_new_mail=e.desktopNewMail),void 0!==e.desktopMentions&&(r.desktop_mentions=e.desktopMentions),void 0!==e.emailDigest&&(r.email_digest=e.emailDigest),void 0!==e.soundEnabled&&(r.sound_enabled=e.soundEnabled),Object.keys(r).length>0&&(t.notifications=r),t}},70124:(e,t,r)=>{Promise.resolve().then(r.bind(r,61521)),Promise.resolve().then(r.bind(r,58882)),Promise.resolve().then(r.bind(r,94883))},71869:(e,t,r)=>{"use strict";r.d(t,{Gf:()=>l,Vv:()=>u,Xw:()=>o,jk:()=>i,pQ:()=>d});var n=r(32292),a=r(59680);let i="z-[100]",o=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,l=n.bP.create({name:"signatureBlock",group:"block",content:"block+",defining:!0,isolating:!0,parseHTML:()=>[{tag:'div[id="ultimail-signature"]'}],renderHTML:({HTMLAttributes:e})=>["div",(0,n.KV)(e,{id:"ultimail-signature"}),0]}),s=/<div id="ultimail-signature">[\s\S]*<\/div>/;function d(e){return e.replace(s,"")}function u(e,t){let r=d(e);if(!t)return r;let n=(0,a.CN)(t)??(t.trimStart().startsWith("<")?t:null);return n?.trim()?`${r}<div id="ultimail-signature"><p>--</p>${n}</div>`:r}},73190:(e,t,r)=>{"use strict";r.d(t,{X:()=>d});var n=r(4208),a=r(35855),i=r.n(a),o=r(30273),l=r(58113);let s="h-[11.25rem] w-auto max-w-none shrink-0 object-contain select-none sm:h-[12rem]";function d({className:e,variant:t="horizontal",href:r="/mail/inbox"}){let a=(0,n.jsx)("img",{src:"/ultimail-mark.svg",alt:"",width:288,height:288,draggable:!1,className:(0,l.cn)(o.wQ,"mark"===t&&"h-10 w-10"),"aria-hidden":!0});if("mark"===t)return null===r?(0,n.jsx)("div",{className:(0,l.cn)("shrink-0",e),children:a}):(0,n.jsx)(i(),{href:r,className:(0,l.cn)("shrink-0 rounded-md outline-none focus-visible:ring-2 focus-visible:ring-ring/50",e),"aria-label":"Ultimail — Bo\xeete de r\xe9ception",children:a});if("stacked"===t){let t=(0,n.jsxs)("div",{className:"flex h-[6.25rem] items-center justify-center overflow-hidden sm:h-[6.75rem]",children:[(0,n.jsx)("img",{src:"/brand/ultimail-wordmark-stacked.png",alt:"Ultimail",width:320,height:320,draggable:!1,className:(0,l.cn)(s,"dark:hidden")}),(0,n.jsx)("img",{src:"/brand/ultimail-wordmark-stacked-dark.png",alt:"Ultimail",width:320,height:320,draggable:!1,"aria-hidden":!0,className:(0,l.cn)(s,"hidden dark:block")})]});return null===r?(0,n.jsx)("div",{className:(0,l.cn)("flex justify-center",e),children:t}):(0,n.jsx)(i(),{href:r,className:(0,l.cn)("flex justify-center rounded-md outline-none focus-visible:ring-2 focus-visible:ring-ring/50",e),"aria-label":"Ultimail — Bo\xeete de r\xe9ception",children:t})}let u=(0,n.jsxs)("div",{role:"img","aria-label":"Ultimail",className:(0,l.cn)(o.pi,"min-w-0 text-foreground"),children:[a,(0,n.jsx)("span",{className:o.Su,children:"Ultimail"})]});return null===r?(0,n.jsx)("div",{className:(0,l.cn)("min-w-0",e),children:u}):(0,n.jsx)(i(),{href:r,className:(0,l.cn)("flex min-w-0 items-center rounded-md outline-none focus-visible:ring-2 focus-visible:ring-ring/50",e),"aria-label":"Ultimail — Bo\xeete de r\xe9ception",children:u})}},74575:(e,t,r)=>{"use strict";r.d(t,{O:()=>d});var n=r(91356),a=r(86227),i=r(81465),o=r(65367),l=r(52590);function s(e){return{density:e.density,themeMode:e.themeMode,backgroundId:e.backgroundId,inboxSort:e.inboxSort,readingPane:e.readingPane,conversationMode:e.conversationMode,desktopNewMail:e.desktopNewMail,desktopMentions:e.desktopMentions,emailDigest:e.emailDigest,soundEnabled:e.soundEnabled}}function d(){let e=(0,a.nc)(e=>e.isAuthenticated()),{data:t}=(0,i.C)(e),r=(0,i.Z)(),d=(0,n.useRef)(!1),u=(0,n.useRef)(null),c=(0,n.useRef)(s(l.x.getState()));return(0,n.useEffect)(()=>{if(!t)return;d.current=!0;let e=(0,o.IX)(t);l.x.getState().hydrateFromApi(e),c.current=s(l.x.getState()),queueMicrotask(()=>{d.current=!1})},[t]),(0,n.useEffect)(()=>{let e=l.x.subscribe(e=>{var t;let n;if(d.current)return;let a=s(e),i=(t=c.current,n={},t.density!==a.density&&(n.density=a.density),t.themeMode!==a.themeMode&&(n.themeMode=a.themeMode),t.backgroundId!==a.backgroundId&&(n.backgroundId=a.backgroundId),t.inboxSort!==a.inboxSort&&(n.inboxSort=a.inboxSort),t.readingPane!==a.readingPane&&(n.readingPane=a.readingPane),t.conversationMode!==a.conversationMode&&(n.conversationMode=a.conversationMode),t.desktopNewMail!==a.desktopNewMail&&(n.desktopNewMail=a.desktopNewMail),t.desktopMentions!==a.desktopMentions&&(n.desktopMentions=a.desktopMentions),t.emailDigest!==a.emailDigest&&(n.emailDigest=a.emailDigest),t.soundEnabled!==a.soundEnabled&&(n.soundEnabled=a.soundEnabled),n);0!==Object.keys(i).length&&(c.current=a,u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{r.mutate((0,o.Sm)(i))},500))});return()=>{e(),u.current&&clearTimeout(u.current)}},[r]),null}},76706:(e,t,r)=>{"use strict";r.d(t,{CI:()=>function e(t,r,n=[]){for(let a of t){if(a.id===r)return n;if(a.children?.length){let t=e(a.children,r,[...n,a.id]);if(t)return t}}return null},sc:()=>function e(t,r){for(let n of t){if(n.id===r)return n;if(n.children?.length){let t=e(n.children,r);if(t)return t}}return null},xq:()=>function e(t,r){return t.id===r||(t.children?.some(t=>e(t,r))??!1)}})},79060:(e,t,r)=>{"use strict";function n(e){return e.trim().toLowerCase().normalize("NFD").replace(/\p{M}/gu,"").replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"dossier"}function a(e,t,r=[]){for(let n of e){let e=[...r,n];if(n.id===t)return e;if(n.children?.length){let r=a(n.children,t,e);if(r)return r}}return null}function i(e){let t=[],r=e=>{for(let n of e)t.push(n.id),n.children?.length&&r(n.children)};return r(e),t}function o(e,t){let r=`folder-${e.join("-")}`;if(!t.has(r))return r;let n=2;for(;t.has(`${r}-${n}`);)n+=1;return`${r}-${n}`}function l(e,t,r,l){let s=new Set([...i(e),...t]);return o([...function(e,t){if(null===t)return[];let r=a(e,t);return r?r.map(e=>n(e.label)):[]}(e,r),n(l)],s)}function s(e,t,r){let l=a(e,t);if(!l)return null;let s=l[l.length-1],d=l.slice(0,-1).map(e=>n(e.label)),u=function e(t){let r=new Set([t.id]);if(t.children?.length)for(let n of t.children)for(let t of e(n))r.add(t);return r}(s),c=new Set([...r]);for(let t of i(e))u.has(t)||c.add(t);let m={},f=function e(t,r){let a=[...r,n(t.label)],i=o(a,c);c.add(i),i!==t.id&&(m[t.id]=i);let l=t.children?.length?t.children.map(t=>e(t,a)):void 0;return{...t,id:i,children:l}}(s,d);return{tree:function e(r){return r.map(r=>r.id===t?f:r.children?.length?{...r,children:e(r.children)}:r)}(e),idMap:m}}r.d(t,{KT:()=>s,Mj:()=>l,UM:()=>n,dG:()=>a,y1:()=>i})},79197:(e,t,r)=>{"use strict";function n(e,t){return e.filter(e=>"custom"===e.folder_type&&(!t||e.account_id===t))}function a(e,t){var r,a;let i=n(e,t).sort((e,t)=>e.remote_name.localeCompare(t.remote_name));if(0===i.length)return[];let o=(r=i.map(e=>e.remote_name)).some(e=>e.includes("/"))?"/":r.some(e=>e.includes("."))?".":"/",l=new Map(i.map(e=>[e.remote_name,e])),s=new Map;for(let e of i){let t=(a=e.remote_name,a.split(o).filter(Boolean)),r=null;for(let e=0;e<t.length-1;e++){let n=t.slice(0,e+1).join(o);l.has(n)&&(r=n)}let n=s.get(r)??[];n.push(e),s.set(r,n)}return function e(t){return(s.get(t)??[]).sort((e,t)=>e.name.localeCompare(t.name)).map(t=>{let r={id:t.id,label:t.name};t.unread_count>0&&(r.count=t.unread_count);let n=e(t.remote_name);return n.length&&(r.children=n),r})}(null)}function i(e,t){let r=new Map(n(e,t).map(e=>[e.id,e.remote_name]));return function e(t){return t.map(t=>({id:t.id,label:t.label,remoteName:r.get(t.id),children:t.children?.length?e(t.children):void 0}))}(a(e,t))}r.d(t,{Nw:()=>i,_e:()=>a})},81465:(e,t,r)=>{"use strict";r.d(t,{C:()=>s,Z:()=>d});var n=r(98306),a=r(39927),i=r(17745),o=r(94927),l=r(18747);function s(e){let{ready:t,authenticated:r}=(0,l.v)(),a=e??r;return(0,n.I)({queryKey:["mail-settings"],queryFn:()=>o.uE.get("/mail/settings"),staleTime:3e5,enabled:t&&a&&r,retry:1})}function d(){let e=(0,a.jE)();return(0,i.n)({mutationFn:e=>o.uE.patch("/mail/settings",e),onSuccess:t=>{e.setQueryData(["mail-settings"],t)}})}},81647:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a,i:()=>i});var n=r(81893);function a(e=document.documentElement){delete e.dataset.mailBackground,e.style.removeProperty("--mail-bg-layer"),e.style.removeProperty("--mail-bg-fallback")}function i(e,t=document.documentElement){let r=(0,n.y9)(e),{background:o,fallbackColor:l}=(0,n.Pu)(r);"none"===r||"none"===o?a(t):(t.dataset.mailBackground=r,t.style.setProperty("--mail-bg-layer",o),t.style.setProperty("--mail-bg-fallback",l))}},81893:(e,t,r)=>{"use strict";r.d(t,{Pu:()=>o,UT:()=>a,y9:()=>i});let n={mountains:"photo-mountains",ocean:"gradient-ocean",forest:"photo-nature",abstract:"gradient-blossom"},a=[{id:"none",label:"Aucun",background:"none",fallbackColor:"var(--app-canvas)"},{id:"gradient-aurora",label:"Aurore",background:'url("/mail-backgrounds/gradient-aurora.svg") center / cover no-repeat',fallbackColor:"#667eea"},{id:"gradient-sunset",label:"Coucher de soleil",background:'url("/mail-backgrounds/gradient-sunset.svg") center / cover no-repeat',fallbackColor:"#e44d26"},{id:"gradient-ocean",label:"Oc\xe9an",background:'url("/mail-backgrounds/gradient-ocean.svg") center / cover no-repeat',fallbackColor:"#203a43"},{id:"gradient-blossom",label:"Floral",background:'url("/mail-backgrounds/gradient-blossom.svg") center / cover no-repeat',fallbackColor:"#ffecd2"},{id:"photo-mountains",label:"Montagnes",background:'url("https://picsum.photos/seed/ultimail-mountains/1920/1080") center / cover no-repeat',fallbackColor:"#5c6b73"},{id:"photo-ocean",label:"Mer",background:'url("https://picsum.photos/seed/ultimail-ocean/1920/1080") center / cover no-repeat',fallbackColor:"#1a5276"},{id:"photo-city",label:"Ville",background:'url("https://picsum.photos/seed/ultimail-city/1920/1080") center / cover no-repeat',fallbackColor:"#2c3e50"},{id:"photo-nature",label:"Nature",background:'url("https://picsum.photos/seed/ultimail-nature/1920/1080") center / cover no-repeat',fallbackColor:"#2d5016"}];function i(e){return a.some(t=>t.id===e)?e:n[e]??"none"}function o(e){let t,r=(t=i(e),a.find(e=>e.id===t)??a[0]);return{background:r.background,fallbackColor:r.fallbackColor}}},81912:(e,t,r)=>{"use strict";function n(e){let t=new Map;for(let r of e){let e=r.parent_id??null,n=t.get(e)??[];n.push(r),t.set(e,n)}let r=e=>(t.get(e)??[]).sort((e,t)=>(e.sort_order??0)-(t.sort_order??0)||e.name.localeCompare(t.name)).map(e=>({id:e.id,label:e.name,color:e.color||void 0,children:r(e.id)}));return r(null)}r.d(t,{l:()=>n})},83833:(e,t,r)=>{"use strict";r.d(t,{C:()=>d});var n=r(91356),a=r(19984),i=r(17996),o=r(81647),l=r(9483),s=r(52590);function d(){let e=(0,a.usePathname)(),t=(0,s.x)(e=>e.themeMode),r=(0,l.p)(e=>e.themeMode),d="/demo"===e||e?.startsWith("/demo/")===!0?r:t,u=(0,s.x)(e=>e.backgroundId),{theme:c,setTheme:m}=(0,i.D)();return(0,n.useEffect)(()=>{c&&c!==d&&m(d)},[d,c,m]),(0,n.useEffect)(()=>"/mail"===e||e.startsWith("/mail/")||"/demo/mail"===e||e.startsWith("/demo/mail/")?((0,o.i)(u),()=>(0,o.Z)()):void(0,o.Z)(),[u,e]),null}},88477:(e,t,r)=>{"use strict";r.d(t,{_:()=>v});var n=r(4208),a=r(91356),i=r(35855),o=r.n(i),l=r(89032),s=r(84834),d=r(91442),u=r(48843),c=r(10841),m=r(79741),f=r(61554),b=r(6146),g=r(30273),p=r(58113);let h=(0,p.cn)("rounded-full",g.ax,"hover:text-accent-foreground");function v({className:e,settingsHref:t,onSettingsClick:r}){let[i,g]=(0,a.useState)(!1),x=(0,a.useRef)(null),w=(0,b.o)();return(0,a.useEffect)(()=>{"same"===sessionStorage.getItem("ulti_account_notice")&&(sessionStorage.removeItem("ulti_account_notice"),l.oR.message("Vous utilisez d\xe9j\xe0 ce compte Ulti."))},[]),(0,n.jsxs)("div",{className:(0,p.cn)("flex shrink-0 items-center gap-1",e),children:[(0,n.jsx)(f.$,{variant:"ghost",size:"icon",className:(0,p.cn)("hidden sm:inline-flex",h),"aria-label":"Aide",children:(0,n.jsx)(d.A,{className:"size-6 shrink-0","aria-hidden":!0})}),(0,n.jsx)(f.$,{variant:"ghost",size:"icon",className:h,"aria-label":"R\xe9glages",...t?{asChild:!0}:{onClick:r},children:t?(0,n.jsx)(o(),{href:t,children:(0,n.jsx)(s.In,{icon:"mdi:cog-outline",className:"size-6 shrink-0","aria-hidden":!0})}):(0,n.jsx)(s.In,{icon:"mdi:cog-outline",className:"size-6 shrink-0","aria-hidden":!0})}),(0,n.jsx)(m.L,{iconButtonClass:h,onOpen:()=>g(!1)}),(0,n.jsxs)("div",{className:"relative ml-2",ref:x,children:[(0,n.jsx)(f.$,{variant:"ghost",size:"icon-lg",className:"size-11 overflow-hidden rounded-full p-0","aria-label":`Compte : ${w?.email??"Utilisateur"}`,"aria-expanded":i,"aria-haspopup":"dialog",onClick:()=>{g(!i)},children:w?(0,n.jsx)(u.h,{account:{name:w.name,email:w.email,avatarUrl:w.avatarUrl},size:"md"}):(0,n.jsx)("span",{className:"flex size-10 items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground",children:"?"})}),(0,n.jsx)(c.s,{open:i,onOpenChange:g,containerRef:x})]})]})}},93079:(e,t,r)=>{"use strict";r.d(t,{k:()=>f});var n=r(91356),a=r(18747),i=r(46424),o=r(57070),l=r(59557),s=r(81465),d=r(45328),u=r(81912),c=r(79197),m=r(31047);function f(){let{ready:e,authenticated:t}=(0,a.v)(),{data:r}=(0,i.b0)(),{data:f}=(0,o.FL)("global"),{data:b}=(0,o.FL)("all"),{folders:g,isFetched:p}=(0,l.Q)();return(0,s.C)(t),(0,n.useEffect)(()=>{if(!e||!t||!r)return;let n=[...r].sort((e,t)=>(e.sort_order??0)-(t.sort_order??0)||e.name.localeCompare(t.name)).map(e=>(0,m.Uo)({id:e.id,label:e.name,color:e.color||"bg-gray-500",tabbed:!1,favorite:!1,excludeFromPrincipal:!1,showInMessageList:!0,enabled:!0}));d.w.getState().hydrateLabelRowsFromApi(n)},[e,t,r]),(0,n.useEffect)(()=>{if(!e||!t||!b||!p)return;let r=f??b.filter(e=>"global"===e.scope),n=[...(0,u.l)(r),...(0,c._e)(g)];0!==n.length&&d.w.getState().hydrateFolderTreeFromApi(n)},[e,t,b,f,g,p]),null}},93652:(e,t,r)=>{"use strict";r.d(t,{A1:()=>s,G_:()=>l,U9:()=>i,XE:()=>o});var n=r(71869),a=r(59680);function i(e,t){let r,n=e.default_signature_id??null,i=(r=e.default_signature_id?t?.get(e.default_signature_id)?.html??(0,a.CN)(e.default_signature_id):null,r?.trim()?r:e.signature_html?.trim()||null);return{id:e.id,accountId:e.account_id,name:e.name,email:e.email,defaultSignatureId:n,signatureHtml:i,isDefault:e.is_default}}function o(e,t){let r=t.signatureHtml??null;return r?.trim()?(0,n.Vv)(e,r):e}function l(e){return new Set(e.map(e=>e.email.trim().toLowerCase()).filter(Boolean))}function s(e){let t=new Set,r=[];for(let n of e){let e=`${n.accountId??""}:${n.email.trim().toLowerCase()}`;t.has(e)||(t.add(e),r.push(n))}return r}},94883:(e,t,r)=>{"use strict";r.d(t,{SuiteThemeShell:()=>o});var n=r(4208),a=r(60142),i=r(83833);function o({children:e}){return(0,n.jsxs)(a.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:[e,(0,n.jsx)(i.C,{})]})}}},e=>{e.O(0,[2276,6677,1909,2082,3616,9032,8306,5855,5814,9673,8868,563,4927,4498,3660,5669,1614,1506,7358],()=>e(e.s=70124)),_N_E=e.O()}]); |