1import{d as e,a as o,b as i,r as a,l as t,c as s,A as n,s as l,R as r}from"./index-we8GpMua.js";import{u,a as d}from"./useFormValidation-Bgvlr6QC.js";const c=e({name:"ForgottenPasswordTemplate",props:{onSubmit:{type:Function,required:!0},onBackToLogin:{type:Function},isLoading:{type:Object,required:!0},serverError:{type:Object,default:null}},setup(e){const s=a({email:""}),{validate:n,clearAllValidation:l}=u(d.forgottenPassword),r=t(()=>""!==s.value.email.trim()),c=o=>{o.preventDefault(),l(),e.onSubmit&&r.value&&e.onSubmit({email:s.value.email})},v=o=>{o.preventDefault(),l(),e.onBackToLogin&&e.onBackToLogin()};return()=>o("div",{class:"jobo-module auth-module"},[o("div",{class:"jobo-h2 pad-medium jobo-col"},[o("h1",{class:"jobo-h1"},[i("Récupérer votre mot de passe")]),o("p",{class:"jobo-text auth-text"},[i("Entrez votre adresse email et nous vous enverrons un lien pour réinitialiser votre mot de passe.")])]),o("form",{onSubmit:c,class:"jobo-form"},[o("div",{class:"jobo-row"},[o("label",{class:"jobo-label large",htmlFor:"email"},[i("Email "),o("span",{class:"star-required"},[i("*")])]),o("div",{class:"jobo-error-wrapper","data-field":"email"},[o("input",{id:"email",value:s.value.email,type:"email",class:"jobo-input",placeholder:"Votre adresse email",required:!0,disabled:e.isLoading.value,onInput:e=>{return o="email",i=e.target.value,s.value[o]=i,void n(o,i);var o,i}},null)])]),o("hr",{class:"jobo-hr mt-auto"},null),o("div",{class:"jobo-row"},[o("button",{type:"button",class:"jobo-btn jobo-shadow mr-auto",onClick:v,disabled:e.isLoading.value},[i("Retour à la connexion")]),o("button",{type:"submit",class:"jobo-btn jobo-shadow green background",disabled:e.isLoading.value||!r.value},[e.isLoading.value?"Envoi en cours...":"Envoyer le lien"])])])])}}),v=e({name:"PasswordResetSent",props:{email:{type:String,default:""},onBackToLogin:{type:Function}},setup(e){const a=()=>{e.onBackToLogin&&e.onBackToLogin()};return()=>o("div",{class:"jobo-module verify-module"},[o("div",null,[o("h1",{class:"jobo-h1"},[i("â
Email envoyé")]),o("p",{class:"jobo-text auth-text"},[i("Un lien de réinitialisation a été envoyé à ")," ",o("strong",null,[e.email]),i(". Cliquez sur le lien dans l'email pour définir un nouveau mot de passe.")]),o("p",{class:"jobo-text auth-text"},[i("Vous n'avez pas reçu l'email ? Vérifiez votre dossier spam ou retournez à la connexion pour réessayer.")])]),o("div",{class:"verify-actions"},[o("button",{type:"button",class:"jobo-btn jobo-shadow green background full-width",onClick:a},[i("Retour à la connexion")])])])}});class m{constructor(e,o){this.container=e,this.obroute=o,this.isLoading=a(!1),this.serverError=a(null),this.vueApp=null,this.emailSent=a(!1),this.sentEmail=a("")}init(){this._render()}_render(){let e,o;this.vueApp&&(this.vueApp.unmount(),this.vueApp=null),this.emailSent.value?(e=v,o={email:this.sentEmail.value,onBackToLogin:this._handleBackToLogin.bind(this)}):(e=c,o={onSubmit:this._handleSubmit.bind(this),onBackToLogin:this._handleBackToLogin.bind(this),isLoading:this.isLoading,serverError:this.serverError}),this.vueApp=s(e,o),this.vueApp.mount(this.container)}async _handleSubmit(e){var o;this.isLoading.value=!0,this.serverError.value=null;try{const i=await n.getInstance().requestPasswordReset(e.email);if(i.status>=200&&i.status<300)this.sentEmail.value=e.email,this.emailSent.value=!0,this._render();else{const e=(null==(o=i.data)?void 0:o.message)||"Erreur lors de l'envoi du lien de réinitialisation.";l(e,"error"),this.isLoading.value=!1}}catch(i){const e=i.message||"Erreur lors de l'envoi du lien de réinitialisation.";l(e,"error"),this.isLoading.value=!1}}_handleBackToLogin(){const e=r.getInstance(),o=e.findRouteByHref("/auth/login");o&&e.orchestrateView(o,this.container,!0,!1)}destroy(){this.vueApp&&(this.vueApp.unmount(),this.vueApp=null)}}export{m as ForgottenPasswordView};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.