PageSourceSearch

https://vpdive.com/_nuxt/VdMBZoaN.js

js vpdive.com collected 2026-10-01 15:38:21 UTC 7,342 bytes, 1 lines download raw bytes

1import{_ as Q}from"./KkeO_hi_.js";import{d as X,y as Y,b as Z,a as ee,z as te,o as se,n as y,J as ae,K as oe,H as V,x as L,c as f,l as a,h as u,L as ne,M as re,e as x,p as A,q,_ as ie,t as j,g as C,B as h,D as le,G as S,N as ue,O as ce,f as de,v as me,k as pe,j as m}from"./CO-mOBGH.js";import{_ as fe}from"./CwBxQhW6.js";import{V as $}from"./5_SeVuGY.js";import{_ as he}from"./DTMsOJTh.js";import{_ as ve}from"./DJRBw3hL.js";import{u as ye}from"./BaBtYTZu.js";import{o as xe,s as B}from"./DTVzw1wU.js";import"./wneedS0W.js";const ke={class:"p-4 md:p-8 flex-1 flex flex-col justify-center"},ge={class:"max-w-md w-full mx-auto space-y-6"},_e={class:"p-4 md:p-8 flex-1 flex flex-col justify-center"},we={class:"max-w-md w-full mx-auto space-y-6"},be={key:0,class:"text-center"},qe={key:1},Ce={class:"space-y-2"},Re={class:"text-gray-600 dark:text-gray-400"},Te={key:0,class:"flex flex-col items-center space-y-4"},Ue={class:"relative w-24 h-24 rounded-full overflow-hidden"},Ve=["src","alt"],Ae={class:"text-center"},je={class:"text-lg font-medium text-gray-900 dark:text-white"},Le={key:1,class:"bg-red-50 dark:bg-red-900/50 text-red-500 dark:text-red-400 px-4 py-3 rounded-md"},Se={key:1,class:"flex items-start gap-2 mt-2 mb-1 text-sm text-orange-600 dark:text-orange-400"},$e={class:"mt-4"},Fe=X({__name:"login",setup(Be){const{t:D}=Y(),P=L();Z({title:"Connexion"});const s=ee(),k=te(),{signIn:z}=S(),{canRegister:M}=ye(),r=h({email:"",password:""}),g=h(!1),_=h(""),R=h(!1),i=h(null),p=h(!1),N=t=>{const{setAuthToken:e}=le();e(t)};se(async()=>{const t=!!(s.query.jwt||s.query.link||s.query.notification||s.query.domain),e=!!s.query.redirect,o=!!s.query.auth_token,{hasAuthToken:n}=S();if(!t&&!e&&!o&&n()){await y("/app");return}if(!t&&!o&&n()&&e){const{resolveLegacyRedirect:l}=V();await y(l(s.query.redirect));return}await I(),(s.query.auth_token||s.query.jwt)&&(p.value=!0,await J())});const W=pe(()=>{const t=r.value.email.trim();return t.length>0&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}),E=xe({email:B().email("Adresse e-mail invalide"),password:B().min(1,"Le mot de passe est requis")}),I=async()=>{const{shouldRedirectToDomain:t,buildClubRedirectUrl:e}=ue(),o=s.query.domain,n=s.query.link,c=s.query.notification,l=s.query.jwt||s.query.auth_token,w=s.query.skipDomainCheck;if(!(!o&&!n&&!c)&&!w&&t(n,o)){const T=e(o,n,l);window.location.href=T;return}},J=async()=>{const t=s.query.auth_token||s.query.jwt;if(!t){p.value=!1;return}p.value=!0;const e=t.replace("Bearer ",""),o="Bearer "+e;try{const n=window.location.protocol,c=window.location.hostname,l=`${n}//${c}/api/user/me`,w=await $fetch(l,{headers:{Authorization:o}});if(w){if(N(e),window.history?.replaceState){const v=new URL(window.location.href);v.searchParams.delete("auth_token"),v.searchParams.delete("jwt"),window.history.replaceState(window.history.state,"",v.toString())}ae().syncUserWithAuth(w);const{ensureClubAccess:T}=oe();if(await T())return;const{resolveLegacyRedirect:G}=V();let b=G(s.query.redirect);if(!b&&s.query.link){const v=s.query.link,{processRedirection:K}=V();let d=K(v).url;const U=(L().public.baseUrl||"/").replace(/\/$/,"");U!==""&&d.startsWith(U)&&(d=d.substring(U.length)),d.startsWith("/")||(d="/"+d),b=d}b?await y(b):await y("/app")}else p.value=!1,k.add({title:"Reconnexion nécessaire",description:"Merci de vous reconnecter",color:"orange"})}catch(n){console.error("Erreur lors de la vérification du token:",n),k.add({title:"Reconnexion nécessaire",description:"Merci de vous reconnecter",color:"red"}),p.value=!1}},H=async()=>{_.value="",R.value=!0,i.value&&(r.value.email=i.value.email);try{const t=await z({email:r.value.email,password:r.value.password});if(t&&t.requires_2fa&&t.request_token){const e=s.query.redirect,o={request_token:t.request_token};e&&(o.redirect=e),t.methods&&(o.methods=JSON.stringify(t.methods)),await y({path:"/auth/2fa",query:o});return}t&&t.success&&k.add({title:"Connexion réussie",description:"Vous êtes maintenant connecté",icon:"heroicons:check-circle",color:"green"})}catch(t){_.value=t.message,k.add({title:"Erreur de connexion",description:t.message||"Une erreur est survenue lors de la connexion",icon:"heroicons:x-circle",color:"orange"})}finally{R.value=!1}},O=()=>{const t=ce("user_token");t.value=null,i.value=null,r.value.email=""},F=()=>{O()};return(t,e)=>{const o=Q,n=ie,c=me;return m(),f("div",ke,[a("div",ge,[a("div",_e,[a("div",we,[u(o),p.value?(m(),f("div",be,[u(ve,{animated:!0}),e[3]||(e[3]=a("h2",{class:"text-xl font-semibold text-gray-900 dark:text-white mb-2"},"Chargement des informations du club en cours",-1)),e[4]||(e[4]=a("p",{class:"text-gray-600 dark:text-gray-400"},"Veuillez patienter pendant que nous vérifions vos informations...",-1))])):(m(),f("div",qe,[a("div",Ce,[e[7]||(e[7]=a("h1",{class:"text-3xl font-bold text-gray-900 dark:text-white"},"S'identifier",-1)),ne(a("p",Re,[e[6]||(e[6]=A(" Vous n'avez pas encore de compte ? ",-1)),u(n,{to:"/auth/register",class:"text-emerald-500 dark:text-emerald-400 hover:text-emerald-600 dark:hover:text-emerald-300"},{default:q(()=>[...e[5]||(e[5]=[A(" S'inscrire ",-1)])]),_:1})],512),[[re,!i.value&&x(M)]])]),i.value?(m(),f("div",Te,[a("div",Ue,[a("img",{src:x(P).public.vpdivePublic+i.value.profile_picture,alt:i.value.first_name,class:"w-full h-full object-cover"},null,8,Ve)]),a("div",Ae,[a("p",je,j(i.value.first_name)+" "+j(i.value.last_name),1),e[8]||(e[8]=a("p",{class:"text-sm text-gray-500 dark:text-gray-400"},"Vous avez été reconnu !",-1)),a("button",{onClick:F,class:"my-2 text-sm text-emerald-500 dark:text-emerald-400 hover:text-emerald-600 dark:hover:text-emerald-300"}
1," Changer d'utilisateur ")])])):C("",!0),_.value?(m(),f("div",Le,j(x(D)("auth.login."+_.value)),1)):C("",!0),u(fe,{schema:x(E)},{default:q(()=>[i.value?C("",!0):(m(),de($,{key:0,name:"email",type:"email",label:"E-mail",placeholder:"[email protected]",modelValue:r.value.email,"onUpdate:modelValue":e[0]||(e[0]=l=>r.value.email=l),required:"","hide-icon":!0},null,8,["modelValue"])),x(W)?(m(),f("p",Se,[u(c,{name:"heroicons:exclamation-triangle",class:"w-4 h-4 mt-0.5 flex-shrink-0"}),e[9]||(e[9]=a("span",null,"La connexion avec un pseudo ne sera bientôt plus possible : utilisez votre adresse e-mail.",-1))])):C("",!0),u($,{name:"password",type:g.value?"text":"password",label:"Mot de passe",placeholder:"********",modelValue:r.value.password,"onUpdate:modelValue":e[2]||(e[2]=l=>r.value.password=l),required:""},{append:q(()=>[a("button",{type:"button",onClick:e[1]||(e[1]=l=>g.value=!g.value),class:"absolute right-3 top-1/2 -translate-y-1/2 text-emerald-500 dark:text-emerald-400 hover:text-emerald-600 dark:hover:text-emerald-300"},[u(c,{name:g.value?"material-symbols-visibility-off":"material-symbols-visibility",class:"inline-block w-5 h-5 ml-1"},null,8,["name"])])]),_:1},8,["type","modelValue"]),a("div",$e,[u(n,{to:{path:"/auth/forgot-password",query:r.value.email?{email:r.value.email}:{}},class:"text-sm text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200"},{default:q(()=>[...e[10]||(e[10]=[A(" Mot de passe oublié ? ",-1)])]),_:1},8,["to"])]),u(he,{loading:R.value,text:"S'identifier",icon:"material-symbols:trending-flat",iconPosition:"right",marginTop:"",customClass:"py-4 w-full md:w-1/2",onClick:H,type:"submit"},null,8,["loading"])]),_:1},8,["schema"])]))])])])])}}});export{Fe as default};

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.