(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3397],{13746:(t,e,s)=>{"use strict";s.d(e,{p:()=>a});var i=s(4208),r=s(91356),n=s(58113);let a=r.forwardRef(function({className:t,type:e,...s},r){return(0,i.jsx)("input",{ref:r,type:e,"data-slot":"input",className:(0,n.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...s})});a.displayName="Input"},17745:(t,e,s)=>{"use strict";s.d(e,{n:()=>l});var i=s(91356),r=s(67730),n=s(42811),a=s(17652),o=s(20838),u=class extends a.Q{#t;#e=void 0;#s;#i;constructor(t,e){super(),this.#t=t,this.setOptions(e),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let e=this.options;this.options=this.#t.defaultMutationOptions(t),(0,o.f8)(this.options,e)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#s,observer:this}),e?.mutationKey&&this.options.mutationKey&&(0,o.EN)(e.mutationKey)!==(0,o.EN)(this.options.mutationKey)?this.reset():this.#s?.state.status==="pending"&&this.#s.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#s?.removeObserver(this)}onMutationUpdate(t){this.#r(),this.#n(t)}getCurrentResult(){return this.#e}reset(){this.#s?.removeObserver(this),this.#s=void 0,this.#r(),this.#n()}mutate(t,e){return this.#i=e,this.#s?.removeObserver(this),this.#s=this.#t.getMutationCache().build(this.#t,this.options),this.#s.addObserver(this),this.#s.execute(t)}#r(){let t=this.#s?.state??(0,r.$)();this.#e={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#n(t){n.jG.batch(()=>{if(this.#i&&this.hasListeners()){let e=this.#e.variables,s=this.#e.context,i={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#i.onSuccess?.(t.data,e,s,i)}catch(t){Promise.reject(t)}try{this.#i.onSettled?.(t.data,null,e,s,i)}catch(t){Promise.reject(t)}}else if(t?.type==="error"){try{this.#i.onError?.(t.error,e,s,i)}catch(t){Promise.reject(t)}try{this.#i.onSettled?.(void 0,t.error,e,s,i)}catch(t){Promise.reject(t)}}}this.listeners.forEach(t=>{t(this.#e)})})}},c=s(39927);function l(t,e){let s=(0,c.jE)(e),[r]=i.useState(()=>new u(s,t));i.useEffect(()=>{r.setOptions(t)},[r,t]);let a=i.useSyncExternalStore(i.useCallback(t=>r.subscribe(n.jG.batchCalls(t)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),l=i.useCallback((t,e)=>{r.mutate(t,e).catch(o.lQ)},[r]);if(a.error&&(0,o.GU)(r.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:l,mutateAsync:a.mutate}}},19096:(t,e,s)=>{"use strict";s.d(e,{J:()=>a});var i=s(4208);s(91356);var r=s(84068),n=s(58113);function a({className:t,...e}){return(0,i.jsx)(r.b,{"data-slot":"label",className:(0,n.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...e})}},19984:(t,e,s)=>{"use strict";var i=s(28704);s.o(i,"useParams")&&s.d(e,{useParams:function(){return i.useParams}}),s.o(i,"usePathname")&&s.d(e,{usePathname:function(){return i.usePathname}}),s.o(i,"useRouter")&&s.d(e,{useRouter:function(){return i.useRouter}}),s.o(i,"useSearchParams")&&s.d(e,{useSearchParams:function(){return i.useSearchParams}})},46108:(t,e,s)=>{"use strict";function i(t){let e=new URLSearchParams({returnTo:t?.returnTo??"/mail/inbox"});return t?.intent==="add_account"&&e.set("intent","add_account"),t?.prompt&&e.set("prompt",t.prompt),`/api/auth/login?${e.toString()}`}s.d(e,{U:()=>i})},67730:(t,e,s)=>{"use strict";s.d(e,{$:()=>o,s:()=>a});var i=s(42811),r=s(80034),n=s(4554),a=class extends r.k{#t;#a;#o;#u;constructor(t){super(),this.#t=t.client,this.mutationId=t.mutationId,this.#o=t.mutationCache,this.#a=[],this.state=t.state||o(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#a.includes(t)||(this.#a.push(t),this.clearGcTimeout(),this.#o.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#a=this.#a.filter(e=>e!==t),this.scheduleGc(),this.#o.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#a.length||("pending"===this.state.status?this.scheduleGc():this.#o.remove(this))}continue(){return this.#u?.continue()??this.execute(this.state.variables)}async execute(t){let e=()=>{this.#c({type:"continue"})},s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#u=(0,n.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(Error("No mutationFn found")),onFail:(t,e)=>{this.#c({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#c({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#o.canRun(this)});let i="pending"===this.state.status,r=!this.#u.canStart();try{if(i)e();else{this.#c({type:"pending",variables:t,isPaused:r}),this.#o.config.onMutate&&await this.#o.config.onMutate(t,this,s);let e=await this.options.onMutate?.(t,s);e!==this.state.context&&this.#c({type:"pending",context:e,variables:t,isPaused:r})}let n=await this.#u.start();return await this.#o.config.onSuccess?.(n,t,this.state.context,this,s),await this.options.onSuccess?.(n,t,this.state.context,s),await this.#o.config.onSettled?.(n,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(n,null,t,this.state.context,s),this.#c({type:"success",data:n}),n}catch(e){try{await this.#o.config.onError?.(e,t,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onError?.(e,t,this.state.context,s)}catch(t){Promise.reject(t)}try{await this.#o.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onSettled?.(void 0,e,t,this.state.context,s)}catch(t){Promise.reject(t)}throw this.#c({type:"error",error:e}),e}finally{this.#o.runNext(this)}}#c(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),i.jG.batch(()=>{this.#a.forEach(e=>{e.onMutationUpdate(t)}),this.#o.notify({mutation:this,type:"updated",action:t})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},70799:(t,e,s)=>{"use strict";s.d(e,{sG:()=>a});var i=s(91356);s(86669);var r=s(49402),n=s(4208),a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((t,e)=>{let s=(0,r.TL)(`Primitive.${e}`),a=i.forwardRef((t,i)=>{let{asChild:r,...a}=t;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(r?s:e,{...a,ref:i})});return a.displayName=`Primitive.${e}`,{...t,[e]:a}},{})},72652:(t,e,s)=>{Promise.resolve().then(s.bind(s,79240))},79240:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>f});var i=s(4208),r=s(91356),n=s(35855),a=s.n(n),o=s(19984),u=s(61554),c=s(13746),l=s(19096),d=s(99856),h=s(94927),m=s(4559),p=s(18747),v=s(46108);function f(){return(0,i.jsx)(r.Suspense,{fallback:(0,i.jsx)("main",{className:"mx-auto max-w-lg px-4 py-16",children:(0,i.jsx)("p",{className:"text-muted-foreground",children:"Chargement…"})}),children:(0,i.jsx)(x,{})})}function x(){let t=(0,o.useSearchParams)(),e=(0,o.useRouter)(),s=t.get("token"),{authenticated:n}=(0,p.v)(),f=(0,m.bl)(s),x=(0,m.u)(),[b,y]=(0,r.useState)(""),g=(0,r.useMemo)(()=>{let t=s?`/onboard/claim?token=${encodeURIComponent(s)}`:"/onboard/claim";return(0,v.U)({returnTo:t})},[s]),j=f.data?.invite,w=f.data?.project,C=j?.status==="claimed";if((0,r.useEffect)(()=>{s&&C&&e.replace(`/onboard/migration?token=${encodeURIComponent(s)}`)},[s,C,e]),!s)return(0,i.jsxs)("main",{className:"mx-auto max-w-lg px-4 py-16",children:[(0,i.jsx)("h1",{className:"text-2xl font-semibold",children:"Lien d'invitation invalide"}),(0,i.jsx)("p",{className:"mt-2 text-muted-foreground",children:"Ce lien ne contient pas de jeton de migration."})]});if(!n)return(0,i.jsxs)("main",{className:"mx-auto max-w-lg px-4 py-16",children:[(0,i.jsx)("h1",{className:"text-2xl font-semibold",children:"Revendiquer votre compte"}),(0,i.jsxs)("p",{className:"mt-2 text-muted-foreground",children:["Connectez-vous avec le m\xeame compte que l'adresse invit\xe9e (",f.data?.invite.email??"…",") pour provisionner votre bo\xeete Ultimail."]}),(0,i.jsx)("div",{className:"mt-6",children:(0,i.jsx)(d.RU,{steps:[{label:"Connexion (Google / Microsoft / Ultimail)",done:!1,current:!0},{label:"Revendiquer la bo\xeete mail",done:!1,current:!1},{label:"Autoriser l'import des donn\xe9es",done:!1,current:!1}]})}),(0,i.jsx)(u.$,{asChild:!0,className:"mt-6",children:(0,i.jsx)(a(),{href:g,children:"Se connecter pour continuer"})})]});if(C)return(0,i.jsx)("main",{className:"mx-auto max-w-lg px-4 py-16",children:(0,i.jsx)("p",{className:"text-muted-foreground",children:"Redirection vers le suivi de migration…"})});let R=[{label:"Connexion",done:!0,current:!1},{label:"Revendiquer la bo\xeete mail",done:!1,current:!0},{label:(0,d.q6)(w),done:!1,current:!1}];return(0,i.jsxs)("main",{className:"mx-auto max-w-lg px-4 py-16",children:[(0,i.jsx)("h1",{className:"text-2xl font-semibold",children:"Revendiquer votre compte"}),(0,i.jsxs)("p",{className:"mt-2 text-muted-foreground",children:["Projet ",w?.name??""," — ",j?.email]}),(0,i.jsx)("div",{className:"mt-6",children:(0,i.jsx)(d.RU,{steps:R})}),(0,i.jsxs)("p",{className:"mt-4 text-sm text-muted-foreground",children:["Connectez-vous avec le compte correspondant \xe0 l'invitation (",j?.email,"). Les alias SSO reconnus (UPN, adresse alternative) sont accept\xe9s si configur\xe9s par l'administrateur."]}),(0,i.jsxs)("div",{className:"mt-8 space-y-4",children:[(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(l.J,{htmlFor:"mailbox-password",children:"Mot de passe bo\xeete mail (optionnel)"}),(0,i.jsx)(c.p,{id:"mailbox-password",type:"password",value:b,onChange:t=>y(t.target.value),placeholder:"Pour IMAP/SMTP h\xe9berg\xe9"})]}),x.isError&&(0,i.jsx)("p",{className:"text-sm text-destructive",children:function(t){if(t instanceof h.UQ){switch(t.code){case"email_mismatch":return"L'adresse de connexion ne correspond pas \xe0 l'invitation. Utilisez le compte invit\xe9 ou contactez votre administrateur pour ajouter une adresse SSO alternative.";case"invite_already_claimed":return"Cette invitation a d\xe9j\xe0 \xe9t\xe9 revendiqu\xe9e.";case"invite_not_found":return"Invitation introuvable ou expir\xe9e.";case"migration_domain_not_active":return"Le domaine mail du projet n'est pas encore actif — contactez votre administrateur.";case"migration_domain_mismatch":return"L'adresse invit\xe9e ne correspond pas au domaine mail du projet."}return t.message}return t instanceof Error?t.message:"\xc9chec de la revendication — v\xe9rifiez que vous \xeates connect\xe9 avec la bonne adresse."}(x.error)}),(0,i.jsx)(u.$,{className:"w-full",disabled:x.isPending,onClick:()=>{x.mutateAsync({token:s,password:b||void 0}).then(()=>{window.location.href=`/onboard/migration?token=${encodeURIComponent(s)}`})},children:"Revendiquer mon compte"})]})]})}},84068:(t,e,s)=>{"use strict";s.d(e,{b:()=>o});var i=s(91356),r=s(70799),n=s(4208),a=i.forwardRef((t,e)=>(0,n.jsx)(r.sG.label,{...t,ref:e,onMouseDown:e=>{e.target.closest("button, input, select, textarea")||(t.onMouseDown?.(e),!e.defaultPrevented&&e.detail>1&&e.preventDefault())}}));a.displayName="Label";var o=a}},t=>{t.O(0,[1909,2082,8306,5855,563,4927,1754,1614,1506,7358],()=>t(t.s=72652)),_N_E=t.O()}]);