1 line
44 KiB
JavaScript
1 line
44 KiB
JavaScript
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4498],{6224:(e,t,r)=>{r.d(t,{g:()=>n});var a=r(19984);function n(){let e=(0,a.usePathname)();return"/demo"===e||e.startsWith("/demo/")}},18747:(e,t,r)=>{r.d(t,{v:()=>o});var a=r(91356),n=r(86227),i=r(6224);function o(){let e=(0,i.g)(),[t,r]=(0,a.useState)(!1),o=(0,n.nc)(e=>e.isAuthenticated());return(0,a.useEffect)(()=>e||n.nc.persist.hasHydrated()?void r(!0):n.nc.persist.onFinishHydration(()=>r(!0)),[e]),{ready:!!e||t,authenticated:!!e||t&&o}}},19054:(e,t,r)=>{r.d(t,{E:()=>o,v:()=>s});let a=/display\s*:\s*none|mso-hide\s*:\s*all|max-height\s*:\s*0|opacity\s*:\s*0|visibility\s*:\s*hidden/i,n=/mcnPreviewText|preheader|preview-text/i,i=/[\u034f\u200b-\u200f\ufeff\u00a0]{4,}/g;function o(e){if(!e.trim()||"u"<typeof DOMParser)return e;try{let t=new DOMParser().parseFromString(e,"text/html"),r=[];for(let e of(t.body.querySelectorAll("*").forEach(e=>{(function(e){if(e.hasAttribute("hidden")||"true"===e.getAttribute("aria-hidden"))return!0;let t=e.className?.toString()??"";if(n.test(t))return!0;let r=e.getAttribute("style")??"";if(!r)return!1;let i=r.replace(/\s+/g,"");return!!(a.test(r)||i.includes("overflow:hidden")&&/max-height\s*:\s*0/.test(r)||/font-size\s*:\s*0/i.test(r)&&!function(e){for(let t of e.children){let e=t.tagName.toLowerCase();if("br"!==e&&"wbr"!==e&&"hr"!==e)return!0}return!1}(e))})(e)&&r.push(e)}),r))e.remove();return t.body.innerHTML}catch{return e}}function s(e){return e.replace(i," ").split("\n").map(e=>e.replace(/[^\S\n]+/g," ").trimEnd()).join("\n").replace(/\n{3,}/g,"\n\n").trim()}},19916:(e,t,r)=>{r.d(t,{Lw:()=>a,O5:()=>n,QK:()=>o,rq:()=>i});let a=50,n=[50,100,250,500];function i(e){return n.includes(e)}function o(e){if(i(e)&&e<=500)return e;let t=n.filter(e=>e<=500);for(let r=t.length-1;r>=0;r--)if(e>=t[r])return t[r];return a}},22054:(e,t,r)=>{r.d(t,{V7:()=>n,k6:()=>s,ms:()=>o,w7:()=>i});let a=["#1a73e8","#e8710a","#1e8e3e","#d93025","#9334e6","#185abc","#b06000","#137333","#a50e0e","#7627bb","#0d652d","#c5221f","#e37400","#1967d2","#8430ce"];function n(e){let t=0;for(let r=0;r<e.length;r++)t=e.charCodeAt(r)+((t<<5)-t);return a[Math.abs(t)%a.length]}function i(e){return e.replace(/[[\].,]/g,"").trim().charAt(0).toUpperCase()||"?"}function o(e){return e.split(",")[0]?.trim().replace(/\.\./g," ").replace(/\[.*?\]/g,"").trim()||e}function s(e,t){if(t)return t;let r=o(e);return`${r.toLowerCase().replace(/\s+/g,".")}@example.com`}},31047:(e,t,r)=>{r.d(t,{Ap:()=>c,BV:()=>h,EE:()=>o,Fv:()=>x,Qm:()=>g,Uo:()=>i,WF:()=>u,Y3:()=>d,dX:()=>m,jD:()=>n,qV:()=>f,qj:()=>v,vF:()=>b});var a=r(63908);let n=[{id:"folder-travail",label:"Travail",color:"bg-blue-500",count:24,children:[{id:"folder-travail-clients",label:"Clients",color:"bg-blue-400",count:11},{id:"folder-travail-projets",label:"Projets",color:"bg-blue-400",count:8,children:[{id:"folder-travail-projets-q1",label:"Q1 2026",color:"bg-sky-400",count:3},{id:"folder-travail-projets-archive",label:"Archives projets",color:"bg-slate-400",count:5}]},{id:"folder-travail-rh",label:"RH",color:"bg-blue-400",count:5}]},{id:"folder-perso",label:"Personnel",color:"bg-emerald-500",count:18,children:[{id:"folder-perso-voyages",label:"Voyages",color:"bg-emerald-400",count:6},{id:"folder-perso-famille",label:"Famille",color:"bg-emerald-400",count:12}]},{id:"folder-factures",label:"Factures",color:"bg-amber-500",count:42}];function i(e){return{...e,tabbed:e.tabbed??!1,favorite:e.favorite??!1,excludeFromPrincipal:e.excludeFromPrincipal??!1,showInMessageList:e.showInMessageList??!0,enabled:e.enabled??!0}}let o=[{id:"promotions",label:"Promotions",color:"bg-[#1e8e3e]",icon:"mdi:tag",tabbed:!0,favorite:!0,excludeFromPrincipal:!0,showInMessageList:!1,enabled:!0},{id:"reseaux-sociaux",label:"R\xe9seaux sociaux",color:"bg-[#0b57d0]",icon:"mdi:account-group",tabbed:!0,favorite:!0,excludeFromPrincipal:!0,showInMessageList:!1,enabled:!0},{id:"newsletters",label:"Newsletters",color:"bg-[#e8710a]",icon:"mdi:email-newsletter",tabbed:!0,favorite:!0,excludeFromPrincipal:!0,showInMessageList:!1,enabled:!0},{id:"mises-a-jour",label:"Mises \xe0 jour",color:"bg-[#c5221f]",icon:"mdi:update",tabbed:!0,favorite:!0,excludeFromPrincipal:!0,showInMessageList:!1,enabled:!0},{id:"forums",label:"Forums",color:"bg-[#9334e6]",icon:"mdi:forum",tabbed:!0,favorite:!0,excludeFromPrincipal:!0,showInMessageList:!1,enabled:!0},{id:"achats",label:"Achats",color:"bg-amber-600",icon:"mdi:cart-outline",tabbed:!1,favorite:!1,excludeFromPrincipal:!1,showInMessageList:!0,enabled:!0},{id:"deplacements",label:"D\xe9placements",color:"bg-teal-600",icon:"mdi:map-marker",tabbed:!1,favorite:!1,excludeFromPrincipal:!1,showInMessageList:!0,enabled:!0},{id:"finance",label:"Finance",color:"bg-indigo-600",icon:"mdi:credit-card-outline",tabbed:!1,favorite:!1,excludeFromPrincipal:!1,showInMessageList:!0,enabled:!0}],s=new Set(o.map(e=>e.id)),l=[...o.map(e=>i({...e})),...[{id:"imap-sent",label:"[Imap]/Sent",color:"bg-gray-500"},{id:"imap-trash",label:"[Imap]/Trash",color:"bg-red-400",count:4},{id:"browser-alerts",label:"BrowserAlerts",color:"bg-red-400",count:1},{id:"cctv",label:"CCTV",color:"bg-red-400"},{id:"cm-security",label:"CMSecurity Alerts",color:"bg-red-400",count:14},{id:"twitch",label:"Twitch",color:"bg-purple-500",count:137}].map(e=>i({...e}))],u=l.map(e=>({...e}));function d(e){return s.has(e)}function c(e){return e.filter(e=>!1!==e.enabled&&!0===e.tabbed)}function m(e,t){return e.find(e=>e.id===t)}let f=(0,a.Es)(n,u);(0,a.p4)(f);let p={inbox:"Bo\xeete de r\xe9ception",starred:"Messages suivis",snoozed:"En attente",important:"Important",sent:"Messages envoy\xe9s",drafts:"Brouillons",scheduled:"Planifi\xe9",spam:"Ind\xe9sirables",trash:"Corbeille",search:"Recherche"};function b(e,t){let r=p[e];if(r)return r;let a=t?.[e]??f[e];return a&&"scheduled"!==a?a:e}function g(e,t,r){if("primary"===e)return"Principale";if("all"===e)return"Tous les messages";let a=m(t,e);return a&&!1!==a.enabled?a.label:b(e,r)}function h(){return structuredClone(n)}function v(){return l.map(e=>({...e}))}let w={purchases:"achats",travel:"deplacements",social:"reseaux-sociaux",updates:"mises-a-jour",notifications:"newsletters"};function x(e){let t=v();t.map(e=>e.id);let r=new Map;for(let t of e??[]){let e=w[t.id]??t.id;r.set(e,{...t,id:e})}let a=t.map(e=>{let t=r.get(e.id);if(!t)return{...e};let a=i({...e,...t,id:e.id});return s.has(e.id)?{...a,icon:e.icon,color:e.color}:a}),n=new Set(a.map(e=>e.id)),o=[];for(let t of e??[]){let e=w[t.id]??t.id;n.has(e)||(o.push(i({...t,id:e})),n.add(e))}return[...a,...o]}},33861:(e,t,r)=>{r.d(t,{D:()=>g,i:()=>c});var a=r(19054);function n(e){return!!e.includes("Content-Type:")&&(e.includes("Content-Transfer-Encoding:")||e.includes("--")&&e.toLowerCase().includes("multipart"))}function i(e,t=""){if(0===e.length)return"";let r=t.toLowerCase();if(r&&""!==r&&"utf-8"!==r&&"utf8"!==r&&"unicode-1-1-utf-8"!==r)try{return new TextDecoder(r).decode(e)}catch{}try{return new TextDecoder("utf-8",{fatal:!0}).decode(e)}catch{try{return new TextDecoder("windows-1252").decode(e)}catch{try{return new TextDecoder("iso-8859-1").decode(e)}catch{return""}}}}function o(e){if(!e)return e;try{return new TextDecoder("utf-8",{fatal:!0}).decode(Uint8Array.from(e,e=>255&e.charCodeAt(0))),e}catch{return i(Uint8Array.from(e,e=>255&e.charCodeAt(0)))}}function s(e,t=""){let r=e.replace(/[\r\n\t ]/g,"");try{if("u">typeof atob){let e=Uint8Array.from(atob(r),e=>e.charCodeAt(0));return i(e,t)}}catch{}return""}function l(e){return!!(e.includes("=\r\n")||e.includes("=\n")||e.includes("=3D")||e.includes("=C3=")||e.includes("=E2="))||(e.match(/=[0-9A-Fa-f]{2}/g)?.length??0)>=3}function u(e){if(!l(e))return e;try{let t=[],r=e.replace(/\r\n/g,"\n");for(let e=0;e<r.length;){let a=r[e];if("="===a){if("\n"===r[e+1]){e+=2;continue}let a=r.slice(e+1,e+3);if(/^[0-9A-Fa-f]{2}$/.test(a)){t.push(parseInt(a,16)),e+=3;continue}}t.push(a.charCodeAt(0)),e+=1}return i(new Uint8Array(t))}catch{return e}}function d(e){let t;if(!(!((t=e.replace(/[\r\n\t ]/g,"")).length<24)&&t.length%4==0&&/^[A-Za-z0-9+/]+=*$/.test(t)))return e;let r=s(e);return r&&r!==e?r:e}function c(e,t){let r=o(e?.trim()??""),c=o(t?.trim()??"");if(r=u(r),c=u(c),r=d(r),c=d(c),c=(0,a.E)(c),!n(r=(0,a.v)(r))&&!n(c))return{bodyText:r||e,bodyHtml:c||t};let m=function(e){if(!n(e))return null;let t=e.match(/boundary\s*=\s*"?([^";\s]+)"?/i),r=t?.[1]??(()=>{for(let t of e.split(/\r?\n/)){let e=t.trim();if(e.startsWith("--")&&!e.endsWith("--")&&e.length>2)return e.slice(2).trim()}return""})();if(!r)return null;let a=e.split(RegExp(`--${r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:--)?\\s*\\r?\\n`)),o="",d="";for(let e of a){let t=e.trim();if(!t||!t.includes("Content-Type:"))continue;let r=t.search(/\r?\n\r?\n/);if(r<0)continue;let a=t.slice(0,r),n=t.slice(r).replace(/^[\r\n]+/,""),c=a.match(/Content-Type:\s*([^\r\n]+)/i)?.[1]??"",m=c.split(";")[0]?.trim().toLowerCase()??"",f=function(e){let t=e.match(/charset\s*=\s*"?([^";\s]+)"?/i);return t?.[1]?.trim().toLowerCase()??""}(c),p=a.match(/Content-Transfer-Encoding:\s*([^\r\n]+)/i),b=p?.[1]?.trim().toLowerCase()??"",g=n.trim();g="base64"===b?s(g,f):"quoted-printable"===b||l(g)?u(g):i(Uint8Array.from(g,e=>255&e.charCodeAt(0)),f),"text/plain"!==m||o||(o=g),"text/html"!==m||d||(d=g)}return!o&&!d||n(o)||n(d)?null:{text:o,html:d}}(r||c);return m?{bodyText:m.text||r||e,bodyHtml:m.html||c||t}:{bodyText:r||e,bodyHtml:c||t}}let m=/-{8,}|_{8,}|={8,}|\*{8,}/g;function f(e){let t,r=b(e.trim());if(!r||r.length<4||(t=r.toLowerCase()).includes(":root")||t.includes("color-scheme:")||t.includes("@media")||t.includes("@font-face")||t.includes("font-family:")||t.includes("facebook")&&t.includes(":root")||t.includes("meta for business")&&r.includes("{")||t.includes("/*//")||t.includes("||//")||r.includes("{")&&r.includes("}")&&r.includes(";")&&(t.includes("font-")||t.includes("margin:")||t.includes("padding:"))||/^\s*\/\*/.test(r)||!(r.length<8)&&(r.match(/[-_*=·—|]/g)??[]).length/[...r].length>=.55||function(e){let t=e.trimStart(),r=0;for(let e of t)if("-_*='=\xb7—".includes(e))r++;else break;return r>=12}(r)||function(e){let t=e.toLowerCase().replace(/[[\]()·]/g," ").replace(/\s+/g," ").trim();for(let r of["afficher dans le navigateur","view in browser","voir ce message en ligne","version en ligne"])if(t.includes(r)&&(t.replace(r,"").trim().length<=20||e.length<=90))return!0;return!1}(r)||function(e){let t=e.toLowerCase();if(!t.includes("http")&&!t.includes("www."))return!1;let r=0;for(let e of["sas ","sarl ","rue "," bp ","kellermann","ovh.com","www.ovh"])t.includes(e)&&r++;return r>=2||t.startsWith("sas ")&&t.includes("http")}(r)||/<[^>]+>/.test(e)||p.test(e))return!0;let a=r.toLowerCase();return!!(["si vous ne visualisez pas","cliquer ici","click here"].some(e=>a.includes(e))&&r.length<200||(a.startsWith("http://")||a.startsWith("https://"))&&r.length<120)||(r.match(/\p{L}|\p{N}/gu)??[]).length/[...r].length<.35}let p=/&(?:#x?[0-9a-f]+|[a-z][a-z0-9]{1,8});/gi;function b(e){let t=e.replace(/<style[^>]*>[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ");return(t=function(e){for(let t of["/*//","/*","//||"]){let r=e.indexOf(t);if(r>=0){let t=e.slice(0,r).trim();if(t.length>=12)return t.replace(/[ /*\-_|]+$/g,"")}}return e}(t=function(e){let t=e;for(let e=0;e<4;e++){let e=t.replace(p,e=>{if("u">typeof document){let t=document.createElement("textarea");return t.innerHTML=e,t.value}let t=e.toLowerCase();if(" "===t)return" ";if("&"===t)return"&";if("<"===t)return"<";if(">"===t)return">";if("""===t)return'"';if("'"===t)return"'";let r=e.match(/^&#(\d+);$/i);if(r)return String.fromCodePoint(Number.parseInt(r[1],10));let a=e.match(/^&#x([0-9a-f]+);$/i);return a?String.fromCodePoint(Number.parseInt(a[1],16)):e});if(e===t)break;t=e}return t}(t))).replace(/\s+/g," ").trim()}function g(e){let t,r;if(!e?.trim())return e;let n=e.trim(),i=d(u(n)),o=i!==n?i:e;return((r=function(e){let t="",r=-1;for(let a of e){let e=b(a.trim());if(!e||f(e))continue;let n=(e.match(/\p{L}/gu)??[]).length;if(n<8)continue;let i=4*n;e.length>40&&e.length<280&&(i+=40),i>r&&(r=i,t=e)}return t}((t=b((0,a.v)(o))).replace(/\r\n/g,"\n").split("\n").flatMap(e=>e.split(m).map(e=>b(e.trim())).filter(Boolean))))?r.length>200?r.slice(0,200):r:f(t)?"":t.length>200?t.slice(0,200):t)||void 0}},39219:(e,t,r)=>{r.d(t,{AP:()=>s,J_:()=>f,Pu:()=>p,ZO:()=>n,gD:()=>u,o8:()=>o,tZ:()=>i});var a=r(31047);let n="primary",i="all",o="search";function s(e){let t=u(e);return t!==n&&t!==i}let l={updates:"mises-a-jour",notifications:"newsletters",social:"reseaux-sociaux",purchases:"achats",travel:"deplacements"};function u(e){return l[e]??e}function d(){let e=new Set([n,i]);for(let t of(0,a.Ap)((0,a.qj)()))e.add(t.id);return e}let c=(()=>{let e=d();for(let t of Object.keys(l))e.add(t);return e})(),m={folderId:"inbox",inboxTab:n,page:1,mailId:null};function f(e){let t=e?.filter(e=>e.length>0)??[];if(0===t.length)return{...m};let r=[...t],a=null,i=1;if(r.length>=2&&"message"===r[r.length-2]&&(a=function(e){try{return decodeURIComponent(e)}catch{return e}}(r[r.length-1]),r.length-=2),r.length>=2&&"page"===r[r.length-2]){let e=parseInt(r[r.length-1],10);i=Number.isFinite(e)&&e>=1?e:1,r.length-=2}if(0===r.length)return{...m,mailId:a,page:i};let o=r[0];if("inbox"===o&&r.length>=2){let e=r[1];if(c.has(e)){let t=u(e);return{folderId:o,inboxTab:d().has(t)?t:n,page:i,mailId:a}}}return{folderId:o,inboxTab:n,page:i,mailId:a}}function p(e,t="mail"){let r=[...t.split("/").filter(Boolean),encodeURIComponent(e.folderId)];if("inbox"===e.folderId){let t=u(e.inboxTab||n);t!==n&&r.push(t)}return e.page>1&&r.push("page",String(e.page)),e.mailId&&r.push("message",encodeURIComponent(e.mailId)),`/${r.join("/")}`}},53159:(e,t,r)=>{r.d(t,{qG:()=>u,YJ:()=>m,Ps:()=>h,gE:()=>b,B9:()=>v,E2:()=>g});var a=r(92671),n=r(33861),i=r(55149),o=r(53919),s=r(19916);let l="demo-mail-account",u={id:l,name:a.W.name,email:a.W.email,provider:"demo",imap_host:"demo.local",smtp_host:"demo.local",is_active:!0,created_at:"2026-06-01T08:00:00+02:00"};function d(e){let t=new Set,r=[];for(let a of e){let e=a.toLowerCase();t.has(e)||(t.add(e),r.push(a))}return r}function c(e){let t,r,n=[];return e.unread||n.push("\\Seen"),e.starred&&n.push("\\Flagged"),e.important&&n.push("important"),{id:e.id,message_id:e.id,thread_id:e.id,account_id:l,subject:e.subject,from:[{name:e.fromName,address:e.fromEmail}],to:[{name:a.W.name,address:a.W.email}],date:function(e){let t=new Date,r=new Date(t.getFullYear(),t.getMonth(),t.getDate());if(e.includes(":")){let[t,a]=e.split(":").map(Number);return r.setHours(t,a??0,0,0),r.toISOString()}if("Hier"===e)return r.setDate(r.getDate()-1),r.setHours(14,20,0,0),r.toISOString();if("Dim."===e){let e=r.getDay();return r.setDate(r.getDate()-(0===e?0:e)),r.setHours(3,0,0,0),r.toISOString()}if(e.startsWith("Lun")){let e=r.getDay();return r.setDate(r.getDate()-(0===e?6:e-1)),r.setHours(11,0,0,0),r.toISOString()}for(let[t,a]of Object.entries({"Mar.":2,"Mer.":3,"Jeu.":4,"Ven.":5,"Sam.":6}))if(e.startsWith(t)){let e=r.getDay(),t=e>=a?e-a:e+(7-a);return r.setDate(r.getDate()-t),r.setHours(10,30,0,0),r.toISOString()}return r.setHours(12,0,0,0),r.toISOString()}(e.time),snippet:e.preview,flags:n,labels:(t=[...e.tags??[]],e.label&&!t.some(t=>t.toLowerCase()===e.label.text.toLowerCase())&&t.push(e.label.text),r=t,"trash"===e.folder?["trash"]:"sent"===e.folder?["sent"]:"drafts"===e.folder?["drafts"]:"archive"===e.folder?d(r):d(["inbox",...r])),has_attachments:e.hasAttachment??!1,body_html:e.body.map(e=>`<p style="margin:0 0 1em;line-height:1.6;">${e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/\n/g,"<br>")}</p>`).join(""),body_text:e.body.join("\n\n")}}function m(){return a.U.map(c)}function f(e){let{body_html:t,body_text:r,cc:a,reply_to:n,auth_info:i,in_reply_to:o,references:s,...l}=e;return l}function p(e){let t,r,a;return t=e.from[0]?.name||e.from[0]?.address||"",r=e.from[0]?.address||"",a=e.labels.some(e=>"trash"===e.toLowerCase()),{id:e.id,sender:t,senderEmail:r,subject:e.subject,preview:(0,n.D)(e.snippet)??e.snippet,date:e.date,read:(0,i.EP)(e.flags),starred:(0,i.BB)(e.flags),important:(0,i.I)(e.flags,e.labels),spam:e.labels.includes("spam"),deleted:a,hasAttachment:e.has_attachments,labels:e.labels,threadHeadId:e.thread_id??e.id,threadMessageIds:[e.id],isThreadHead:!0}}function b(e,t,r,a){let n=(0,s.QK)(a),i={starredEmailIds:[],importantEmailIds:[]},l=e.map(f).filter(e=>(0,o.i0)(p(e),t,i)).sort((e,t)=>new Date(t.date).getTime()-new Date(e.date).getTime()),u=(r-1)*n;return{data:l.slice(u,u+n),pagination:{page:r,page_size:n,total:l.length}}}function g(e,t,r=1,a=50){let n=(0,s.QK)(a),i=e.map(f).filter(e=>!t||function(e,t){let r=p(e),a=t.q?.trim().toLowerCase();if(a&&![r.sender,r.senderEmail??"",r.subject,r.preview,e.snippet].join(" ").toLowerCase().includes(a))return!1;if(t.from){let r=t.from.toLowerCase(),a=e.from[0]?.address?.toLowerCase()??"",n=e.from[0]?.name?.toLowerCase()??"";if(!a.includes(r)&&!n.includes(r))return!1}if(t.label){let r=t.label.toLowerCase();if(!e.labels.some(e=>e.toLowerCase()===r))return!1}return!0}(e,t)).sort((e,t)=>new Date(t.date).getTime()-new Date(e.date).getTime()),o=(r-1)*n;return{data:i.slice(o,o+n),pagination:{page:r,page_size:n,total:i.length}}}function h(e){let t=`sent-${Date.now()}`,r=e.body_html.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return{id:t,message_id:t,thread_id:t,account_id:e.account_id,subject:e.subject||"(Sans objet)",from:[{name:a.W.name,address:a.W.email}],to:e.to,date:new Date().toISOString(),snippet:r.slice(0,160)||"(message vide)",flags:["\\Seen"],labels:["sent"],has_attachments:!1,body_html:e.body_html,body_text:r}}function v(e){let t=e.labels.filter(e=>"inbox"!==e.toLowerCase());return t.some(e=>"trash"===e.toLowerCase())||t.push("trash"),{...e,labels:t}}},53919:(e,t,r)=>{r.d(t,{Jn:()=>d,i0:()=>c});var a=r(39219),n=r(31047),i=r(63908);function o(e){if(!e.scheduledSendAt)return!1;let t=new Date(e.scheduledSendAt).getTime();return!!Number.isFinite(t)&&t>Date.now()}function s(e,t){return t.find(t=>t.id===e)}function l(e,t){let r=e.labels;if(!r?.length)return!1;let a=new Set(r.map(e=>e.toLowerCase()));return t.some(e=>a.has(e.toLowerCase()))}function u(e,t,r){let a=s(t,r.labelRows);if(a&&!1===a.enabled)return!1;let n=r.folderIdToLabel[t];return!!n&&l(e,[n])}function d(e,t,r,n,i){let s=(0,a.gD)(t);if(s===a.tZ)return c(e,"inbox",r,n,i);if(s===a.ZO){if(!c(e,"inbox",r,n,i)||e.deleted||o(e))return!1;for(let t of n.labelRows)if(!1!==t.enabled&&t.excludeFromPrincipal&&l(e,[t.label]))return!1;return!0}return c(e,"inbox",r,n,i)&&c(e,s,r,n,i)}function c(e,t,r,a,l){let d=a||{folderIdToLabel:n.qV,folderTree:n.jD,labelRows:n.WF};if(e.deleted&&"trash"!==t)return!1;switch(t){case"inbox":if(e.deleted||e.spam||o(e))return!1;let c=e.labels;return!c?.length||c.includes("inbox");case"starred":return r.starredEmailIds.includes(e.id)||e.starred;case"snoozed":return(e.labels?.includes("snoozed")??!1)&&!e.deleted;case"important":return r.importantEmailIds.includes(e.id)||e.important;case"sent":return(e.labels?.includes("sent")??!1)&&!e.deleted;case"drafts":return(e.labels?.includes("drafts")??!1)&&!e.deleted;case"scheduled":return!e.deleted&&o(e);case"spam":return!e.deleted&&(!0===e.spam||(e.labels?.includes("spam")??!1));case"trash":return!0===e.deleted}let m=s(t,d.labelRows);if(m&&!1===m.enabled)return!1;if(d.folderIdToLabel[t]){let r;return(l?(l.has(t)||l.set(t,(0,i.FS)(d.folderTree,t)),r=l.get(t)??null):r=(0,i.FS)(d.folderTree,t),r)?r.some(t=>u(e,t,d)):u(e,t,d)}return!!e.labels?.includes(t)}},55149:(e,t,r)=>{r.d(t,{BB:()=>l,Ch:()=>d,EP:()=>s,I:()=>u,Kj:()=>c,U$:()=>p,VK:()=>b,XX:()=>m,hy:()=>f});let a=new Set(["read","\\Seen","Seen"]),n=new Set(["starred","\\Flagged","Flagged","$Flagged"]),i=new Set(["important","\\Important","$Important"]);function o(e,t){return e.filter(e=>!t.has(e))}function s(e){return e.some(e=>a.has(e))}function l(e){return e.some(e=>n.has(e))}function u(e,t=[]){return!!t.some(e=>"important"===e.toLowerCase())||e.some(e=>i.has(e))}function d(e,t){let r=t.toLowerCase();return e?.some(e=>e.toLowerCase()===r)??!1}function c(e,t){let r=t.toLowerCase();return e?.some(e=>e.toLowerCase()===r)??!1}function m(e,t){return c(e,"spam")||d(t,"spam")}function f(e,t){let r=o(e,a);return t&&r.push("\\Seen"),r}function p(e,t){let r=o(e,n);return t&&r.push("\\Flagged"),r}function b(e,t){let r=o(e,i);return t&&r.push("important"),r}},63908:(e,t,r)=>{function a(e,t){let r={};for(let t of e)!function e(t,r){if(r[t.id]=t.label,t.children?.length)for(let a of t.children)e(a,r)}(t,r);for(let e of t)r[e.id]=e.label;return r.scheduled="scheduled",r}function n(e){let t={};for(let[r,a]of Object.entries(e))t[a]=r;return t.spam="spam",t.scheduled="scheduled",t}r.d(t,{Es:()=>a,FS:()=>function e(t,r){for(let a of t){if(a.id===r){let e=[],t=r=>{e.push(r.id),r.children?.forEach(t)};return t(a),e}if(a.children?.length){let t=e(a.children,r);if(t)return t}}return null},p4:()=>n})},75512:(e,t,r)=>{r.d(t,{K4:()=>s,fK:()=>o,uK:()=>i});let a={"1d":864e5,"3d":2592e5,"1w":6048e5,"2w":12096e5,"1m":2592e6,"2m":5184e6,"6m":15552e6,"1y":31536e6};function n(e){let t=e.trim();if(!t)return;let r=new Date(t);if(!Number.isNaN(r.getTime()))return r.toISOString()}function i(e){return e&&(e.q||e.hasWords)||""}function o(e,t){let r=n(e.after)??(e.within?function(e){let t=a[e];if(t)return new Date(Date.now()-t).toISOString()}(e.within):void 0);return{q:e.q||e.hasWords||void 0,from:e.from||void 0,label:"all"!==e.in&&"all-spam"!==e.in?e.in:void 0,account_id:t,date_from:r,date_to:n(e.before),has_attachment:!!e.has.includes("attachment")||void 0}}function s(e){return!!e&&!!(e.q||e.from||e.label||e.date_from||e.date_to||void 0!==e.has_attachment)}},79117:(e,t,r)=>{r.d(t,{d:()=>o});var a=r(46298),n=r(53159);function i(e,t,r){return e.map(e=>e.id===t?r(e):e)}let o=(0,a.v)((e,t)=>({messages:(0,n.YJ)(),version:0,reset:()=>e({messages:(0,n.YJ)(),version:t().version+1}),bump:()=>e({version:t().version+1}),listMessages:(e,r,a)=>(0,n.gE)(t().messages,e,r,a),searchMessages:(e,r,a)=>(0,n.E2)(t().messages,e,r,a),getMessage:e=>t().messages.find(t=>t.id===e),getThread:e=>{let r=t().messages.find(t=>t.thread_id===e||t.id===e);return r?[r]:[]},updateFlags:(t,r)=>{let a;return e(e=>({messages:i(e.messages,t,e=>a={...e,flags:r}),version:e.version+1})),a},updateLabels:(t,r)=>{let a;return e(e=>({messages:i(e.messages,t,e=>a={...e,labels:r}),version:e.version+1})),a},deleteMessage:t=>{let r;return e(e=>({messages:i(e.messages,t,e=>r=(0,n.B9)(e)),version:e.version+1})),r},sendMessage:t=>{let r=(0,n.Ps)(t);return e(e=>({messages:[r,...e.messages],version:e.version+1})),r}}))},90324:(e,t,r)=>{r.d(t,{Cj:()=>j,HM:()=>L,JX:()=>C,S3:()=>h,_W:()=>S,g7:()=>w,ji:()=>E,ot:()=>y,s0:()=>g});var a=r(98306),n=r(20838),i=r(39927),o=r(94927),s=r(18747),l=r(19916),u=r(93051),d=r(79117),c=r(53159),m=r(75512);function f(e){if(Array.isArray(e.data))return{data:e.data,pagination:e.pagination};let t=e.messages??[];return{data:t,pagination:e.pagination??{page:1,page_size:t.length,total:t.length}}}let p=["messages"],b=["demo","messages"];function g(e,t,r,a,n,i){return n?["demo","messages",e,t,r,a,i??0]:["messages",e,t,r,a]}function h(e){return e?b:p}async function v(e,t,r,a){let n=(0,l.QK)(a);return f(await o.uE.get("/mail/messages",{folder:e,account_id:t,page:String(r),page_size:String(n)}))}async function w(e,t,r,a,n){let i=(0,l.QK)(a);return n?x(e,r,i):v(e,t,r,i)}function x(e,t,r){return d.d.getState().listMessages(e,t,(0,l.QK)(r))}function y(e,t,r,i){let{ready:o,authenticated:c}=(0,s.v)(),m=(0,u.qU)(),f=(0,d.d)(e=>e.version),p=r??1,b=i??l.Lw;return(0,a.I)({queryKey:g(e,t,r,i,m,f),queryFn:()=>m?x(e,p,b):v(e,t,p,b),initialData:m?()=>x(e,p,b):void 0,placeholderData:n.rX,staleTime:6e4,enabled:o&&c})}function C(e){let{ready:t,authenticated:r}=(0,s.v)(),i=(0,u.qU)(),l=(0,d.d)(e=>e.version);return(0,a.I)({queryKey:i?["demo","message",e,l]:["message",e],queryFn:()=>{if(i){let t=d.d.getState().getMessage(e);if(!t)throw Error("Message introuvable");return t}return o.uE.get(`/mail/messages/${e}`)},initialData:i&&e?()=>{let t=d.d.getState().getMessage(e);if(!t)throw Error("Message introuvable");return t}:void 0,enabled:t&&r&&!!e,placeholderData:n.rX,staleTime:3e5})}function j(e){return e?Array.isArray(e)?e:Array.isArray(e.messages)?e.messages:[]:[]}function S(e){let{ready:t,authenticated:r}=(0,s.v)(),n=(0,u.qU)(),i=(0,d.d)(e=>e.version);return(0,a.I)({queryKey:n?["demo","thread","v2",e,i]:["thread","v2",e],queryFn:()=>n?d.d.getState().getThread(e):o.uE.get(`/mail/threads/${e}`),select:n?void 0:j,enabled:t&&r&&!!e})}function L(){let{ready:e,authenticated:t}=(0,s.v)(),r=(0,u.qU)();return(0,a.I)({queryKey:["accounts",r?"demo":null],queryFn:async()=>{if(r)return[c.qG];let e=await o.uE.get("/mail/accounts");return Array.isArray(e)?e:e.accounts??[]},initialData:r?()=>[c.qG]:void 0,staleTime:3e5,enabled:e&&t,retry:!r&&1})}function E(e){let t=(0,i.jE)(),{ready:r,authenticated:n}=(0,s.v)(),l=(0,u.qU)(),c=(0,d.d)(e=>e.version);return(0,a.I)({queryKey:l?["demo","mail-search",e,c]:["mail-search",e],queryFn:async()=>{if(l)return d.d.getState().searchMessages(e);let r={};e&&(e.q&&(r.q=e.q),e.from&&(r.sender=e.from),e.label&&(r.label=e.label),e.account_id&&(r.account_id=e.account_id),e.date_from&&(r.date_from=e.date_from),e.date_to&&(r.date_to=e.date_to),void 0!==e.has_attachment&&(r.has_attachment=String(e.has_attachment)));try{let e=await o.uE.get("/mail/search",r);return f(e)}catch(r){if(r instanceof o.M_){let r=t.getQueriesData({queryKey:["messages"]}),a=[];for(let[,e]of r)e?.data&&a.push(...e.data);let n=e?.q?.toLowerCase(),i=a.filter(t=>{if(n){let e=t.subject.toLowerCase().includes(n),r=t.snippet.toLowerCase().includes(n),a=t.from.some(e=>e.address.toLowerCase().includes(n)||e.name.toLowerCase().includes(n));if(!e&&!r&&!a)return!1}return(!e?.from||!!t.from.some(t=>t.address.toLowerCase().includes(e.from.toLowerCase())||t.name.toLowerCase().includes(e.from.toLowerCase())))&&(!e?.label||!!t.labels.includes(e.label))&&(e?.has_attachment===void 0||t.has_attachments===e.has_attachment)});return{data:i,pagination:{page:1,page_size:i.length}}}throw r}},initialData:l?()=>d.d.getState().searchMessages(e):void 0,enabled:r&&n&&(0,m.K4)(e)})}},92671:(e,t,r)=>{r.d(t,{U:()=>n,W:()=>a});let a={name:"Camille Visiteur",email:"camille@demo.ulti"},n=[{id:"m1",fromName:"L\xe9a Fontaine",fromEmail:"lea.fontaine@atelier-nord.fr",subject:"Compte rendu — comit\xe9 produit du 9 juin",preview:"Bonjour Camille, voici le compte rendu de notre comit\xe9 produit. Les d\xe9cisions cl\xe9s sont en gras…",body:["Bonjour Camille,","Voici le compte rendu de notre comit\xe9 produit de mardi. Les d\xe9cisions cl\xe9s : lancement de la version 2.4 au 1er juillet, gel des nouvelles fonctionnalit\xe9s \xe0 partir du 20 juin, et revue s\xe9curit\xe9 planifi\xe9e la semaine prochaine.","Le document complet est partag\xe9 dans UltiDrive (dossier Produit > Comit\xe9s). N'h\xe9site pas \xe0 commenter directement dedans, la co-\xe9dition est active.","Bonne journ\xe9e,\nL\xe9a"],time:"09:42",unread:!0,starred:!1,folder:"inbox",label:{text:"Produit",color:"#4f6df5"},tags:["Produit"]},{id:"m2",fromName:"UltiAI",fromEmail:"assistant@demo.ulti",subject:"Votre r\xe9sum\xe9 du matin — 7 mails trait\xe9s",preview:"Pendant la nuit : 2 mails urgents d\xe9tect\xe9s, 4 newsletters archiv\xe9es automatiquement, 1 facture class\xe9e…",body:["Bonjour Camille,","Voici ce que j'ai pr\xe9par\xe9 pour vous ce matin :","• 2 mails marqu\xe9s urgents (r\xe9ponse attendue avant midi)\n• 4 newsletters archiv\xe9es selon vos r\xe8gles\n• 1 facture d\xe9tect\xe9e et class\xe9e dans Comptabilit\xe9\n• 1 invitation agenda en attente de r\xe9ponse","Astuce : vous pouvez ajuster mes r\xe8gles de tri dans R\xe9glages > Tri IA."],time:"08:15",unread:!0,starred:!0,folder:"inbox",label:{text:"IA",color:"#9a5cf0"},tags:["IA"]},{id:"m3",fromName:"Marc Delcourt",fromEmail:"marc@delcourt-conseil.com",subject:"Re: Proposition de partenariat — version finale",preview:"Parfait pour moi. J'ai sign\xe9 la derni\xe8re version dans le document partag\xe9, on peut avancer…",body:["Bonjour,","Parfait pour moi. J'ai relu la derni\xe8re version dans le document partag\xe9 et tout est bon — on peut avancer sur la signature cette semaine.","Merci pour la r\xe9activit\xe9 !","Marc"],time:"Hier",unread:!1,starred:!0,important:!0,folder:"inbox",tags:["Partenaires"]},{id:"m4",fromName:"Notifications UltiDrive",fromEmail:"drive@demo.ulti",subject:"Sarah a comment\xe9 \xab Budget 2026.ultidoc \xbb",preview:"\xab Je propose qu'on revoie la ligne infrastructure \xe0 la hausse, le trafic a doubl\xe9 depuis janvier \xbb…",body:["Sarah Lemoine a ajout\xe9 un commentaire sur le document Budget 2026 :","\xab Je propose qu'on revoie la ligne infrastructure \xe0 la hausse, le trafic a doubl\xe9 depuis janvier. \xbb","Ouvrez le document pour r\xe9pondre ou r\xe9soudre le commentaire."],time:"Hier",unread:!1,starred:!1,folder:"inbox",label:{text:"Drive",color:"#1fb6c9"},tags:["Drive","Comptabilit\xe9"]},{id:"m5",fromName:"Ana\xefs Rivet",fromEmail:"anais.rivet@coop-numerique.org",subject:"Migration termin\xe9e \uD83C\uDF89 — retour d'exp\xe9rience",preview:"On a finalis\xe9 la migration des 40 comptes la semaine derni\xe8re. Bilan : aucune perte, \xe9quipe ravie…",body:["Salut Camille,","On a finalis\xe9 la migration des 40 comptes la semaine derni\xe8re. Bilan : aucune perte de donn\xe9es, l'\xe9quipe a retrouv\xe9 ses habitudes en une journ\xe9e gr\xe2ce \xe0 l'interface famili\xe8re.","Je te pr\xe9pare un retour d'exp\xe9rience complet pour le blog si \xe7a t'int\xe9resse.","Ana\xefs"],time:"Lun.",unread:!1,starred:!1,folder:"inbox",tags:["Clients"]},{id:"m6",fromName:"Camille Visiteur",fromEmail:"camille@demo.ulti",subject:"Ordre du jour — r\xe9union d'\xe9quipe jeudi",preview:"Bonjour \xe0 tous, voici l'ordre du jour pour jeudi : avancement sprint, d\xe9mo des nouveaut\xe9s, points bloquants…",body:["Bonjour \xe0 tous,","Voici l'ordre du jour pour la r\xe9union de jeudi 10h :","1. Avancement du sprint en cours\n2. D\xe9mo des nouveaut\xe9s UltiDocs\n3. Points bloquants et arbitrages\n4. Divers","\xc0 jeudi !"],time:"Lun.",unread:!1,starred:!1,folder:"sent"},{id:"m7",fromName:"Infra Ulti",fromEmail:"infra@demo.ulti",subject:"Sauvegarde hebdomadaire effectu\xe9e ✓",preview:"La sauvegarde chiffr\xe9e de votre instance s'est termin\xe9e sans erreur (dur\xe9e : 4 min 12 s)…",body:["La sauvegarde chiffr\xe9e de votre instance s'est termin\xe9e sans erreur.","Dur\xe9e : 4 min 12 s — 18,4 Go — int\xe9grit\xe9 v\xe9rifi\xe9e.","Prochaine sauvegarde planifi\xe9e : dimanche 03:00."],time:"Dim.",unread:!1,starred:!1,folder:"archive",tags:["Mises \xe0 jour"]},{id:"m8",fromName:"Open Source Weekly",fromEmail:"newsletter@opensource-weekly.io",subject:"Cette semaine : PostgreSQL 17, Rust 1.88, et 3 outils souverains",preview:"Bonjour Camille, voici la s\xe9lection de la semaine : nouveaut\xe9s bases de donn\xe9es, \xe9cosyst\xe8me Rust…",body:["Bonjour Camille,","Voici la s\xe9lection de la semaine dans l'\xe9cosyst\xe8me open source :","• PostgreSQL 17 : am\xe9liorations du partitionnement\n• Rust 1.88 : async en stabilisation\n• 3 suites souveraines \xe0 surveiller pour remplacer Google Workspace","Bonne lecture !"],time:"07:30",unread:!0,starred:!1,folder:"inbox",tags:["Newsletters"]},{id:"m9",fromName:"Ultimail",fromEmail:"promo@demo.ulti",subject:"−20 % sur Ultimail Pro — offre de lancement",preview:"Passez \xe0 Ultimail Pro avant le 30 juin : stockage illimit\xe9, UltiMeet int\xe9gr\xe9, agents IA avanc\xe9s…",body:["Bonjour Camille,","Pour f\xeater le lancement public, profitez de −20 % sur Ultimail Pro jusqu'au 30 juin.","Inclus : stockage Drive illimit\xe9, salles UltiMeet persistantes, r\xe8gles de tri IA illimit\xe9es et support prioritaire.","Code : LAUNCH20"],time:"06:55",unread:!0,starred:!1,folder:"inbox",tags:["Promotions"]},{id:"m10",fromName:"LinkedIn",fromEmail:"notifications@linkedin.com",subject:"Thomas Martin a comment\xe9 votre publication",preview:"\xab Belle initiative sur la souverainet\xe9 num\xe9rique — on en parle au prochain meetup ? \xbb…",body:["Thomas Martin a comment\xe9 votre publication :","\xab Belle initiative sur la souverainet\xe9 num\xe9rique — on en parle au prochain meetup ? \xbb","Voir la conversation sur LinkedIn."],time:"Hier",unread:!1,starred:!1,folder:"inbox",tags:["R\xe9seaux sociaux"]},{id:"m11",fromName:"GitHub",fromEmail:"noreply@github.com",subject:"[ulti-backend] Dependabot : 2 mises \xe0 jour de s\xe9curit\xe9",preview:"Dependabot a ouvert 2 PR sur ulti-backend : golang.org/x/crypto et github.com/lib/pq…",body:["Dependabot a d\xe9tect\xe9 2 vuln\xe9rabilit\xe9s corrigeables sur ulti-backend :","• golang.org/x/crypto — CVE-2026-0142\n• github.com/lib/pq — mise \xe0 jour mineure recommand\xe9e","Consultez les pull requests ou activez l'auto-merge si vos checks CI passent."],time:"Mar.",unread:!1,starred:!1,folder:"inbox",tags:["Mises \xe0 jour","Produit"],label:{text:"Produit",color:"#4f6df5"}},{id:"m12",fromName:"Communaut\xe9 Ultimail",fromEmail:"forum@demo.ulti",subject:"Nouvelle r\xe9ponse : \xab Webhooks agenda — bonnes pratiques \xbb",preview:"Julien a r\xe9pondu \xe0 votre fil : \xab Nous utilisons des templates JSON avec variables $event.title… \xbb",body:["Julien a r\xe9pondu \xe0 votre fil sur le forum :","\xab Nous utilisons des templates JSON avec variables $event.title et $event.attendees pour brancher Slack et n8n sans code custom. \xbb","Voir la discussion compl\xe8te sur forum.demo.ulti."],time:"Mar.",unread:!0,starred:!1,folder:"inbox",tags:["Forums"]},{id:"m13",fromName:"Amazon Business",fromEmail:"order-update@amazon.fr",subject:"Commande n\xb0 402-8819203-7720156 — exp\xe9di\xe9e",preview:"Votre commande (clavier Keychron K3, hub USB-C) a \xe9t\xe9 exp\xe9di\xe9e. Livraison pr\xe9vue demain…",body:["Bonjour Camille,","Votre commande a \xe9t\xe9 exp\xe9di\xe9e.","Articles : Keychron K3 (AZERTY), hub USB-C 7 ports\nLivraison estim\xe9e : demain avant 20h"],time:"Mer.",unread:!1,starred:!1,folder:"inbox",tags:["Achats"]},{id:"m14",fromName:"SNCF Connect",fromEmail:"billetterie@sncf.com",subject:"Votre billet Paris → Lyon — vendredi 14 juin",preview:"Trajet TGV 6641, d\xe9part 08:12 gare de Lyon, place 42 voiture 7. Billet disponible dans l'app…",body:["Bonjour Camille,","Voici le r\xe9capitulatif de votre trajet :","TGV 6641 — Paris Gare de Lyon → Lyon Part-Dieu\nVendredi 14 juin, d\xe9part 08:12 — arriv\xe9e 10:04\nPlace 42, voiture 7","Votre billet est disponible dans l'application SNCF Connect."],time:"Mer.",unread:!1,starred:!1,hasAttachment:!0,folder:"inbox",tags:["D\xe9placements","Voyages"]},{id:"m15",fromName:"Stripe",fromEmail:"billing@stripe.com",subject:"Facture Ultimail Pro — juin 2026",preview:"Montant : 79,00 € TTC. Paiement par carte se terminant par 4242. PDF joint…",body:["Bonjour,","Votre facture Ultimail Pro pour juin 2026 est disponible.","Montant : 79,00 € TTC\nP\xe9riode : 1–30 juin 2026\nMoyen de paiement : carte •••• 4242","Le PDF est joint \xe0 ce message."],time:"Jeu.",unread:!1,starred:!1,hasAttachment:!0,folder:"inbox",tags:["Finance","Factures","Comptabilit\xe9"]},{id:"m16",fromName:"RH Ultimail",fromEmail:"rh@demo.ulti",subject:"Documents d'onboarding — \xe0 compl\xe9ter avant lundi",preview:"Bonjour Camille, merci de signer le r\xe8glement int\xe9rieur et la fiche mutuelle dans UltiSign…",body:["Bonjour Camille,","Pour finaliser votre dossier administratif, merci de compl\xe9ter dans UltiSign :","• R\xe8glement int\xe9rieur\n• Fiche mutuelle\n• Attestation de t\xe9l\xe9travail","Deadline : lundi 17 juin."],time:"Jeu.",unread:!0,starred:!1,folder:"inbox",tags:["RH"]},{id:"m17",fromName:"Maman",fromEmail:"maman.visiteur@gmail.com",subject:"Repas de famille dimanche — qui am\xe8ne le dessert ?",preview:"Salut ma ch\xe9rie, on confirme dimanche 12h chez tata Claire. Tu peux amener la tarte aux fraises ?",body:["Salut ma ch\xe9rie,","On confirme le repas dimanche 12h chez tata Claire. Tu peux amener la tarte aux fraises comme l'an dernier ?","Gros bisous,\nMaman"],time:"Ven.",unread:!1,starred:!1,folder:"inbox",tags:["Famille"]},{id:"m18",fromName:"Airbnb",fromEmail:"automated@airbnb.com",subject:"Rappel : s\xe9jour \xe0 Annecy dans 10 jours",preview:"Check-in le 22 juin \xe0 partir de 16h. Code d'acc\xe8s et instructions dans l'application…",body:["Bonjour Camille,","Votre s\xe9jour \xe0 Annecy approche (22–29 juin).","Check-in : 16h\nAdresse et code d'acc\xe8s disponibles dans l'application 24 h avant l'arriv\xe9e."],time:"Sam.",unread:!1,starred:!1,folder:"inbox",tags:["Voyages","D\xe9placements"]},{id:"m19",fromName:"Support ACME Corp",fromEmail:"support@acme-corp.fr",subject:"Ticket #8842 — d\xe9ploiement Ultimail en production",preview:"Bonjour, nous avons valid\xe9 le cutover DNS pour lundi 6h. Merci de confirmer la fen\xeatre de maintenance…",body:["Bonjour Camille,","Nous avons valid\xe9 le cutover DNS pour lundi 6h00 (TTL r\xe9duit \xe0 300 s).","Merci de confirmer la fen\xeatre de maintenance et la personne de contact sur site.","Support ACME — ticket #8842"],time:"09:10",unread:!0,starred:!1,important:!0,folder:"inbox",tags:["Clients"]},{id:"m20",fromName:"Camille Visiteur",fromEmail:"camille@demo.ulti",subject:"Re: Roadmap Q3 — points \xe0 clarifier",preview:"Merci L\xe9a, je reviens vers toi demain avec une proposition sur UltiMeet et les webhooks agenda…",body:["Merci L\xe9a pour le CR.","Je reviens vers toi demain avec une proposition consolid\xe9e sur UltiMeet et les webhooks agenda."],time:"10:05",unread:!1,starred:!1,folder:"drafts"},{id:"m21",fromName:"OldPromo",fromEmail:"deals@spammy-shop.net",subject:"Derni\xe8re chance — −90 % sur tout le site",preview:"Ne manquez pas cette offre exceptionnelle…",body:["Ne manquez pas cette offre exceptionnelle valable 24 h seulement.","Cliquez ici pour en profiter."],time:"Dim.",unread:!1,starred:!1,folder:"trash"},{id:"m22",fromName:"Camille Visiteur",fromEmail:"camille@demo.ulti",subject:"Compte-rendu migration ACME — version client",preview:"Bonjour Marc, comme convenu voici la version client du CR de migration. N'h\xe9sitez pas \xe0 annoter…",body:["Bonjour Marc,","Comme convenu, voici la version client du compte-rendu de migration.","Le document est sur UltiDrive (dossier Clients > ACME). N'h\xe9sitez pas \xe0 annoter directement.","Camille"],time:"Mar.",unread:!1,starred:!1,folder:"sent"},{id:"m23",fromName:"Sophie Bernard",fromEmail:"sophie@startup-io.fr",subject:"Intro investisseurs — suite \xe0 UltiMeet",preview:"Merci pour la d\xe9mo hier. Nos partners seraient int\xe9ress\xe9s par un call la semaine prochaine…",body:["Bonjour Camille,","Merci pour la d\xe9mo UltiMeet hier — l'interface a vraiment bluff\xe9 l'\xe9quipe.","Nos partners seraient int\xe9ress\xe9s par un call la semaine prochaine. Tu es dispo mardi ou jeudi ?","Sophie"],time:"11:20",unread:!0,starred:!0,folder:"inbox",tags:["Partenaires"]},{id:"m24",fromName:"OVHcloud",fromEmail:"facturation@ovh.com",subject:"Facture h\xe9bergement — mai 2026",preview:"Montant : 142,80 € HT. Services : 2 instances, backup object storage…",body:["Bonjour,","Votre facture OVHcloud de mai 2026 est disponible.","Montant : 142,80 € HT\nServices : 2 instances VPS, backup object storage"],time:"Lun.",unread:!1,starred:!1,hasAttachment:!0,folder:"archive",tags:["Factures","Finance","Comptabilit\xe9"]},{id:"m25",fromName:"Notion",fromEmail:"team@mail.notion.so",subject:"Camille vous a mentionn\xe9 dans \xab Sprint board Q2 \xbb",preview:"@Camille peux-tu valider les specs webhooks avant la review de vendredi ?",body:["Camille vous a mentionn\xe9 dans \xab Sprint board Q2 \xbb :","@Camille peux-tu valider les specs webhooks avant la review de vendredi ?","Ouvrir dans Notion"],time:"08:48",unread:!0,starred:!1,folder:"inbox",tags:["Produit"],label:{text:"Produit",color:"#4f6df5"}}]},93021:(e,t,r)=>{r.d(t,{i:()=>o});var a=r(98306),n=r(94927),i=r(18747);function o(){let{ready:e,authenticated:t}=(0,i.v)();return(0,a.I)({queryKey:["current-user"],queryFn:()=>n.uE.get("/users/me"),staleTime:6e4,enabled:e&&t,retry:1})}},93051:(e,t,r)=>{r.d(t,{KA:()=>s,S4:()=>i,qU:()=>o}),r(4208);var a=r(91356);r(89032);let n=(0,a.createContext)(null);function i(){return(0,a.useContext)(n)}function o(){return i()?.enabled??!1}function s(){return i()?.routeRoot??"mail"}},97150:(e,t,r)=>{function a(e,t=80){let r=e.trim().toLowerCase();if(!r||!r.includes("@"))return;let n=function(e){let t=unescape(encodeURIComponent(e));function r(e,t){let[r,a,l,u]=e;r=n(r,a,l,u,t[0],7,-0x28955b88),u=n(u,r,a,l,t[1],12,-0x173848aa),l=n(l,u,r,a,t[2],17,0x242070db),a=n(a,l,u,r,t[3],22,-0x3e423112),r=n(r,a,l,u,t[4],7,-0xa83f051),u=n(u,r,a,l,t[5],12,0x4787c62a),l=n(l,u,r,a,t[6],17,-0x57cfb9ed),a=n(a,l,u,r,t[7],22,-0x2b96aff),r=n(r,a,l,u,t[8],7,0x698098d8),u=n(u,r,a,l,t[9],12,-0x74bb0851),l=n(l,u,r,a,t[10],17,-42063),a=n(a,l,u,r,t[11],22,-0x76a32842),r=n(r,a,l,u,t[12],7,0x6b901122),u=n(u,r,a,l,t[13],12,-0x2678e6d),l=n(l,u,r,a,t[14],17,-0x5986bc72),a=n(a,l,u,r,t[15],22,0x49b40821),r=i(r,a,l,u,t[1],5,-0x9e1da9e),u=i(u,r,a,l,t[6],9,-0x3fbf4cc0),l=i(l,u,r,a,t[11],14,0x265e5a51),a=i(a,l,u,r,t[0],20,-0x16493856),r=i(r,a,l,u,t[5],5,-0x29d0efa3),u=i(u,r,a,l,t[10],9,0x2441453),l=i(l,u,r,a,t[15],14,-0x275e197f),a=i(a,l,u,r,t[4],20,-0x182c0438),r=i(r,a,l,u,t[9],5,0x21e1cde6),u=i(u,r,a,l,t[14],9,-0x3cc8f82a),l=i(l,u,r,a,t[3],14,-0xb2af279),a=i(a,l,u,r,t[8],20,0x455a14ed),r=i(r,a,l,u,t[13],5,-0x561c16fb),u=i(u,r,a,l,t[2],9,-0x3105c08),l=i(l,u,r,a,t[7],14,0x676f02d9),a=i(a,l,u,r,t[12],20,-0x72d5b376),r=o(r,a,l,u,t[5],4,-378558),u=o(u,r,a,l,t[8],11,-0x788e097f),l=o(l,u,r,a,t[11],16,0x6d9d6122),a=o(a,l,u,r,t[14],23,-0x21ac7f4),r=o(r,a,l,u,t[1],4,-0x5b4115bc),u=o(u,r,a,l,t[4],11,0x4bdecfa9),l=o(l,u,r,a,t[7],16,-0x944b4a0),a=o(a,l,u,r,t[10],23,-0x41404390),r=o(r,a,l,u,t[13],4,0x289b7ec6),u=o(u,r,a,l,t[0],11,-0x155ed806),l=o(l,u,r,a,t[3],16,-0x2b10cf7b),a=o(a,l,u,r,t[6],23,0x4881d05),r=o(r,a,l,u,t[9],4,-0x262b2fc7),u=o(u,r,a,l,t[12],11,-0x1924661b),l=o(l,u,r,a,t[15],16,0x1fa27cf8),a=o(a,l,u,r,t[2],23,-0x3b53a99b),r=s(r,a,l,u,t[0],6,-0xbd6ddbc),u=s(u,r,a,l,t[7],10,0x432aff97),l=s(l,u,r,a,t[14],15,-0x546bdc59),a=s(a,l,u,r,t[5],21,-0x36c5fc7),r=s(r,a,l,u,t[12],6,0x655b59c3),u=s(u,r,a,l,t[3],10,-0x70f3336e),l=s(l,u,r,a,t[10],15,-1051523),a=s(a,l,u,r,t[1],21,-0x7a7ba22f),r=s(r,a,l,u,t[8],6,0x6fa87e4f),u=s(u,r,a,l,t[15],10,-0x1d31920),l=s(l,u,r,a,t[6],15,-0x5cfebcec),a=s(a,l,u,r,t[13],21,0x4e0811a1),r=s(r,a,l,u,t[4],6,-0x8ac817e),u=s(u,r,a,l,t[11],10,-0x42c50dcb),l=s(l,u,r,a,t[2],15,0x2ad7d2bb),a=s(a,l,u,r,t[9],21,-0x14792c6f),e[0]=r+e[0]|0,e[1]=a+e[1]|0,e[2]=l+e[2]|0,e[3]=u+e[3]|0}function a(e,t,r,a,n,i){return((t=(t+e|0)+(a+i|0)|0)<<n|t>>>32-n)+r|0}function n(e,t,r,n,i,o,s){return a(t&r|~t&n,e,t,i,o,s)}function i(e,t,r,n,i,o,s){return a(t&n|r&~n,e,t,i,o,s)}function o(e,t,r,n,i,o,s){return a(t^r^n,e,t,i,o,s)}function s(e,t,r,n,i,o,s){return a(r^(t|~n),e,t,i,o,s)}let l=t.length,u=[0x67452301,-0x10325477,-0x67452302,0x10325476],d=0;for(;d+64<=l;d+=64){let e=[];for(let r=0;r<64;r+=4)e[r>>2]=t.charCodeAt(d+r)|t.charCodeAt(d+r+1)<<8|t.charCodeAt(d+r+2)<<16|t.charCodeAt(d+r+3)<<24;r(u,e)}let c=Array(16).fill(0);for(let e=d;e<l;e++)c[e-d>>2]|=t.charCodeAt(e)<<(e-d)%4*8;return c[l-d>>2]|=128<<(l-d)%4*8,l-d>55&&(r(u,c),c.fill(0)),c[14]=8*l,r(u,c),u.map(e=>{let t="";for(let r=0;r<4;r++)t+=(e>>8*r&255).toString(16).padStart(2,"0");return t}).join("")}(r);return`https://www.gravatar.com/avatar/${n}?s=${t}&d=404`}function n(e){return e.emails?.find(e=>e.value?.trim())?.value?.trim()||void 0}function i(e,t){if(!e.toUpperCase().startsWith("PHOTO")||!t.trim())return;let r=e.split(";").slice(1).join(";").toUpperCase(),a=t.trim();if(r.includes("VALUE=URI")||/^https?:\/\//i.test(a))return a.replace(/^uri:/i,"");if(a.startsWith("data:"))return a;let n="image/jpeg",i=r.match(/(?:TYPE|MEDIATYPE)=([^;,]+)/);if(i){let e=i[1].toLowerCase();"png"===e?n="image/png":"gif"===e?n="image/gif":"webp"===e?n="image/webp":e.includes("/")&&(n=e)}return`data:${n};base64,${a.replace(/\s/g,"")}`}function o(e,t){let r=e?.trim();if(!r||r&&/gravatar\.com\/avatar\//i.test(r))return null;if(r.startsWith("data:")){let e=r.match(/^data:([^;]+);base64,([\s\S]+)$/);if(!e)return null;let t=e[1].toLowerCase(),a=e[2].replace(/\s/g,""),n=t.includes("png")?"PNG":t.includes("gif")?"GIF":"JPEG";return`PHOTO;ENCODING=b;TYPE=${n}:${a}`}return/^https?:\/\//i.test(r)?`PHOTO;VALUE=uri:${t(r)}`:null}r.d(t,{J_:()=>n,_c:()=>i,uh:()=>o,yR:()=>a,yj:()=>l});let s=new Set(["image/jpeg","image/png","image/gif","image/webp"]);async function l(e){if(!s.has(e.type))throw Error("Format non pris en charge. Utilisez JPEG, PNG, GIF ou WebP.");if(e.size>524288)throw Error("Image trop volumineuse (max 512 Ko).");return new Promise((t,r)=>{let a=new FileReader;a.onload=()=>{"string"==typeof a.result?t(a.result):r(Error("Impossible de lire l'image."))},a.onerror=()=>r(Error("Impossible de lire l'image.")),a.readAsDataURL(e)})}}}]); |