1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[853],{2853:(e,s,a)=>{Promise.resolve().then(a.bind(a,2907)),Promise.resolve().then(a.t.bind(a,9568,23))},2907:(e,s,a)=>{"use strict";a.d(s,{default:()=>i});var n=a(3365),t=a(1521);let r=(a(9651).env.NEXT_PUBLIC_8FORTUNA_AUTH_API||"/api/account").trim().replace(/\/+$/g,"");function i({initialRegisterOpen:e=!1}){let[s,a]=(0,t.useState)(e),[m,p]=(0,t.useState)(null),[h,x]=(0,t.useState)({kind:"idle",message:""}),[j,b]=(0,t.useState)({kind:"idle",message:""}),[f,g]=(0,t.useState)({kind:"idle",message:""}),v=!!r,y="loading"===h.kind,k="loading"===j.kind;async function N(e){if(e.preventDefault(),!v)return void x({kind:"error",message:"La connexion en ligne n'est pas encore active."});let s=new FormData(e.currentTarget);x({kind:"loading",message:"Connexion en cours..."});try{let e=await l("/auth/login",{method:"POST",body:{email:c(s,"email"),password:c(s,"password"),remember:s.has("remember")}});e.user&&p(e.user),x({kind:"success",message:"Connexion r\xe9ussie. Redirection vers le Tableau de Bonus Hunt..."}),d()}catch(e){x({kind:"error",message:u(e)})}}async function C(e){if(e.preventDefault(),!v)return void b({kind:"error",message:"L'inscription en ligne n'est pas encore active."});let s=e.currentTarget,a=new FormData(s);b({kind:"loading",message:"Cr\xe9ation du compte en cours..."});try{let e=await l("/auth/register",{method:"POST",body:{email:c(a,"email"),username:c(a,"username"),firstName:c(a,"firstName"),lastName:c(a,"lastName"),birthDate:c(a,"birthDate"),country:c(a,"country"),phonePrefix:c(a,"phonePrefix"),phone:c(a,"phone"),password:c(a,"password"),passwordConfirmation:c(a,"passwordConfirmation"),isAdult:a.has("isAdult"),acceptTerms:a.has("acceptTerms"),newsletter:a.has("newsletter")}});e.user&&p(e.user),s.reset(),b({kind:"success",message:"Compte cr\xe9\xe9. Tu vas \xeatre redirig\xe9 vers ton Tableau de Bonus Hunt."}),d()}catch(e){b({kind:"error",message:u(e)})}}async function w(){g({kind:"loading",message:"D\xe9connexion en cours..."});try{await l("/auth/logout",{method:"POST",body:{}}),p(null),g({kind:"success",message:"Session ferm\xe9e sur cet appareil."})}catch(e){g({kind:"error",message:u(e)})}}return(0,t.useEffect)(()=>{let e=!0;return async function(){if(v)try{let s=await l("/auth/session",{method:"GET"});e&&s.authenticated&&s.user&&p(s.user)}catch{}}(),()=>{e=!1}},[v]),(0,n.jsxs)("section",{className:"auth-hero",children:[(0,n.jsxs)("div",{className:"auth-copy",children:[(0,n.jsx)("div",{className:"auth-brand-lockup","aria-hidden":"true",children:(0,n.jsx)("img",{className:"auth-brand-mark",src:"/brand/fortuna-eight-mark.svg",alt:""})}),(0,n.jsx)("p",{className:"fortuna-kicker",children:"Espace membre 8Fortuna"}),(0,n.jsx)("h1",{children:"Mon compte"}),(0,n.jsx)("p",{children:"Connecte-toi \xe0 ton profil 8Fortuna pour retrouver tes outils, sauvegarder tes sessions et pr\xe9parer ton Tableau de Bonus Hunt."}),(0,n.jsxs)("div",{className:"auth-proof-grid",children:[(0,n.jsx)("span",{children:"Sessions sauvegard\xe9es"}),(0,n.jsx)("span",{children:"Stats priv\xe9es"}),(0,n.jsx)("span",{children:"Acc\xe8s outils"}),(0,n.jsx)("span",{children:"Inscription 18+"})]})]}),(0,n.jsxs)("div",{className:"auth-card","aria-label":"Connexion et inscription au compte 8Fortuna",children:[(0,n.jsxs)("div",{className:"auth-card-head",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"fortuna-kicker",children:"Connexion"}),(0,n.jsx)("h2",{children:"Se connecter"})]}),(0,n.jsx)("span",{className:"status-pill",children:"Espace s\xe9curis\xe9"})]}),m?(0,n.jsxs)("div",{className:"auth-session-banner",children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("strong",{children:["Connect\xe9 en tant que ",m.username]}),(0,n.jsx)("span",{children:m.email})]}),(0,n.jsx)("button",{type:"button",onClick:w,disabled:"loading"===f.kind,children:"Se d\xe9connecter"})]}):null,f.message?(0,n.jsx)(o,{status:f}):null,v?null:(0,n.jsx)("p",{className:"auth-form-note",children:"La sauvegarde en ligne n'est pas encore active. Tu peux utiliser le Tableau de Bonus Hunt sans compte sur cet appareil."}),(0,n.jsxs)("form",{className:"auth-form",onSubmit:N,children:[(0,n.jsxs)("label",{children:["Email",(0,n.jsx)("input",{name:"email",type:"email",autoComplete:"email",placeholder:"Adresse email",required:!0})]}),(0,n.jsxs)("label",{children:["Mot de passe",(0,n.jsx)("input",{name:"password",type:"password",autoComplete:"current-password",placeholder:"Ton mot de passe",required:!0})]}),(0,n.jsxs)("label",{className:"auth-check",children:[(0,n.jsx)("input",{name:"remember",type:"checkbox",defaultChecked:!0}),"Garder ma session active sur cet appareil"]}),h.message?(0,n.jsx)(o,{status:h}):null,(0,n.jsx)("button",{className:"fortuna-button",type:"submit",disabled:!v||y,children:y?"Connexion...":"Se connecter"})]}),(0,n.jsx)("div",{className:"auth-divider",children:"Pas encore de compte ?"}),(0,n.jsxs)("button",{className:"auth-register-toggle",type:"button","aria-expanded":s,"aria-controls":"register-panel",onClick:()=>a(e=>!e),children:[(0,n.jsx)("span",{children:s?"Masquer l'inscription":"S'inscrire gratuitement"}
1),(0,n.jsx)("strong",{"aria-hidden":"true",children:s?"â¼":"â¶"})]}),(0,n.jsxs)("div",{className:"auth-register-panel",id:"register-panel",hidden:!s,children:[(0,n.jsx)("p",{className:"auth-form-note",children:"Renseigne les informations n\xe9cessaires une seule fois. Elles serviront \xe0 s\xe9curiser ton compte et \xe0 retrouver tes outils 8Fortuna plus facilement."}),(0,n.jsxs)("form",{className:"auth-form compact",onSubmit:C,children:[(0,n.jsxs)("div",{className:"auth-form-grid",children:[(0,n.jsxs)("label",{children:["Email",(0,n.jsx)("input",{name:"email",type:"email",autoComplete:"email",placeholder:"Email du compte",required:!0})]}),(0,n.jsxs)("label",{children:["Pseudo",(0,n.jsx)("input",{name:"username",type:"text",autoComplete:"nickname",placeholder:"Pseudo public",required:!0})]}),(0,n.jsxs)("label",{children:["Pr\xe9nom",(0,n.jsx)("input",{name:"firstName",type:"text",autoComplete:"given-name",placeholder:"Pr\xe9nom",required:!0})]}),(0,n.jsxs)("label",{children:["Nom",(0,n.jsx)("input",{name:"lastName",type:"text",autoComplete:"family-name",placeholder:"Nom",required:!0})]}),(0,n.jsxs)("label",{children:["Date de naissance",(0,n.jsx)("input",{name:"birthDate",type:"date",autoComplete:"bday",required:!0})]}),(0,n.jsxs)("label",{children:["Pays",(0,n.jsxs)("select",{name:"country",autoComplete:"country-name",defaultValue:"FR",required:!0,children:[(0,n.jsx)("option",{value:"FR",children:"France"}),(0,n.jsx)("option",{value:"BE",children:"Belgique"}),(0,n.jsx)("option",{value:"CH",children:"Suisse"}),(0,n.jsx)("option",{value:"CA",children:"Canada"}),(0,n.jsx)("option",{value:"LU",children:"Luxembourg"})]})]}),(0,n.jsxs)("label",{children:["Indicatif",(0,n.jsxs)("select",{name:"phonePrefix",autoComplete:"tel-country-code",defaultValue:"+33",required:!0,children:[(0,n.jsx)("option",{value:"+33",children:"+33"}),(0,n.jsx)("option",{value:"+32",children:"+32"}),(0,n.jsx)("option",{value:"+41",children:"+41"}),(0,n.jsx)("option",{value:"+49",children:"+49"}),(0,n.jsx)("option",{value:"+44",children:"+44"})]})]}),(0,n.jsxs)("label",{children:["T\xe9l\xe9phone",(0,n.jsx)("input",{name:"phone",type:"tel",autoComplete:"tel",placeholder:"Num\xe9ro mobile"})]}),(0,n.jsxs)("label",{children:["Mot de passe",(0,n.jsx)("input",{name:"password",type:"password",autoComplete:"new-password",placeholder:"Minimum 10 caract\xe8res",minLength:10,required:!0})]}),(0,n.jsxs)("label",{children:["Confirmation",(0,n.jsx)("input",{name:"passwordConfirmation",type:"password",autoComplete:"new-password",placeholder:"R\xe9p\xe8te le mot de passe",minLength:10,required:!0})]})]}),(0,n.jsxs)("label",{className:"auth-check",children:[(0,n.jsx)("input",{name:"isAdult",type:"checkbox",required:!0}),"Je confirme avoir 18 ans ou plus."]}),(0,n.jsxs)("label",{className:"auth-check",children:[(0,n.jsx)("input",{name:"acceptTerms",type:"checkbox",required:!0}),"J'accepte les conditions d'utilisation et la politique de confidentialit\xe9."]}),(0,n.jsxs)("label",{className:"auth-check",children:[(0,n.jsx)("input",{name:"newsletter",type:"checkbox"}),"Recevoir les offres VIP et les nouveaut\xe9s 8Fortuna par email."]}),j.message?(0,n.jsx)(o,{status:j}):null,(0,n.jsx)("button",{className:"fortuna-button secondary",type:"submit",disabled:!v||k,children:k?"Cr\xe9ation...":"Cr\xe9er mon compte"})]})]})]})]})}function o({status:e}){return e.message?(0,n.jsx)("p",{className:`auth-feedback ${e.kind}`,role:"error"===e.kind?"alert":"status",children:e.message}):null}async function l(e,s){var a;let n=await fetch((a=e,`${r}${a}`),{method:s.method,credentials:"include",headers:{Accept:"application/json",...s.body?{"Content-Type":"application/json"}:{}},body:s.body?JSON.stringify(s.body):void 0}),t=await n.json().catch(()=>({}));if(!n.ok)throw Error(function(e){if(!e||"object"!=typeof e)return"";let s="error"in e?e.error:null;if(!s||"object"!=typeof s)return"";let a="message"in s?s.message:null;return"string"==typeof a?a:""}(t)||"Action impossible pour le moment.");return t}function c(e,s){let a=e.get(s);return"string"==typeof a?a:""}function u(e){return e instanceof Error?e.message:"Action impossible pour le moment."}function d(){window.setTimeout(()=>{window.location.href="/outils/tableau-de-hunt/"},700)}}}]);
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.