PageSourceSearch

https://ponturifotbal.ai/_nuxt/83pnSvNs.js

js ponturifotbal.ai collected 2026-10-05 14:27:41 UTC 6,876 bytes, 1 lines download raw bytes

1import{_ as b,c as n,a as i,F as _,t as r,e as g,z as u,A as h,B as d,C as w,d as p,u as y,j as M,D as k,f as S,E as C,G as F,o as a}from"./BwjkGPNs.js";import{u as P}from"./BuqZ8ahG.js";const R={setup(){var l=y(),{t}=l,c=t("login.page_title","Sign In or Create Account — Football Predictions"),m=t("login.page_desc","Sign in to your account or create a new one. Access your predictions, accumulators, favorites and personalized daily tips.");M({title:c,meta:[{name:"robots",content:"noindex, nofollow"},{name:"description",content:m}]});var e=k(),s=S(),o=C(),f=F(),{localizedPath:v}=P();return{auth:e,api:s,route:o,router:f,i18n:l,localizedPath:v}},data(){return{isRegister:!1,isForgot:!1,email:"",password:"",submitting:!1,errorMsg:"",successMsg:""}},mounted(){if(this.route.query.success==="1"&&this.route.query.sid){this.auth.setSession(this.route.query.sid),this.auth.fetchUser().then(l=>{l?this.router.replace(this.localizedPath("/profile")):this.errorMsg="Session verification failed. Please try again."});return}this.route.query.error&&(this.errorMsg=this.route.query.error),this.auth.isLoggedIn.value&&this.router.push(this.localizedPath("/profile"))},computed:{t(){return this.i18n.t}},methods:{toggleMode(){this.isRegister=!this.isRegister,this.errorMsg="",this.successMsg=""},async handleSubmit(){this.errorMsg="",this.successMsg="",this.submitting=!0;try{var l;if(this.isRegister){var t=this.i18n.currentLanguage.value||"en";l=await this.auth.register(this.email,this.password,t)}else l=await this.auth.login(this.email,this.password);l.success?this.router.push(this.localizedPath("/profile")):this.errorMsg=l.error}catch{this.errorMsg=this.t("login.error_generic","Something went wrong. Please try again.")}this.submitting=!1},async handleForgot(){this.errorMsg="",this.successMsg="",this.submitting=!0;try{var l=await this.api.forgotPassword(this.email);l?.success?l.provider==="google"?this.errorMsg=this.t("login.registered_via_google",'This email is registered via Google. Please use "Continue with Google" to sign in.'):this.successMsg=this.t("login.reset_link_sent","If this email is registered, you will receive a reset link shortly."):this.errorMsg=l?.error||this.t("login.error_generic","Something went wrong. Please try again.")}catch{this.errorMsg=this.t("login.error_generic","Something went wrong. Please try again.")}this.submitting=!1},async handleGoogle(){await this.auth.loginWithGoogle()}}},z={class:"login-page"},A={class:"auth-container"},q={class:"auth-title"},x={class:"auth-subtitle"},B={key:0,class:"auth-error"},G={key:1,class:"auth-success"},I={class:"form-group"},V={for:"email"},E=["disabled"],D={class:"auth-switch"},U={class:"auth-title"},H={class:"auth-subtitle"},L={key:0,class:"auth-error"},N={key:1,class:"auth-success"},T=["disabled"],j={class:"auth-divider"},W={class:"form-group"},J={for:"email"},K={class:"form-group"},O={for:"password"},Q=["autocomplete","placeholder"],X={key:0,class:"forgot-link"},Y=["disabled"],Z={class:"auth-switch"};function $(l,t,c,m,e,s){return a(),n("div",z,[i("div",A,[e.isForgot?(a(),n(_,{key:0},[i("h1",q,r(s.t("login.forgot_password","Forgot Password?")),1),i("p",x,r(s.t("login.forgot_subtitle","Enter your email and we'll send you a reset link")),1),e.errorMsg?(a(),n("div",B,r(e.errorMsg),1)):g("",!0),e.successMsg?(a(),n("div",G,r(e.successMsg),1)):g("",!0),i("form",{onSubmit:t[1]||(t[1]=u((...o)=>s.handleForgot&&s.handleForgot(...o),["prevent"]))},[i("div",I,[i("label",V,r(s.t("login.email","Email")),1),h(i("input",{id:"email","onUpdate:modelValue":t[0]||(t[0]=o=>e.email=o),type:"email",required:"",autocomplete:"email",placeholder:"[email protected]"},null,512),[[d,e.email]])]),i("button",{type:"submit",class:"submit-btn",disabled:e.submitting},r(e.submitting?s.t("login.please_wait","Please wait..."):s.t("login.send_reset_link","Send Reset Link")),9,E)],32),i("p",D,[i("a",{href:"#",onClick:t[2]||(t[2]=u(o=>{e.isForgot=!1,e.errorMsg="",e.successMsg=""},["prevent"]))},r(s.t("login.back_to_sign_in","Back to Sign In")),1)])],64)):(a(),n(_,{key:1},[i("h1",U,r(e.isRegister?s.t("login.create_account","Create Account"):s.t("login.sign_in","Sign In")),1
1),i("p",H,r(e.isRegister?s.t("login.join_subtitle","Free predictions, accumulator builder, personal stats and daily top picks to your inbox"):s.t("login.welcome_back","Welcome back")),1),e.errorMsg?(a(),n("div",L,r(e.errorMsg),1)):g("",!0),e.successMsg?(a(),n("div",N,r(e.successMsg),1)):g("",!0),i("button",{class:"google-btn",onClick:t[3]||(t[3]=(...o)=>s.handleGoogle&&s.handleGoogle(...o)),disabled:e.submitting},[t[9]||(t[9]=w('<svg width="20" height="20" viewBox="0 0 24 24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z" fill="#4285F4"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="#FBBC05"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path></svg>',1)),p(" "+r(s.t("login.continue_google","Continue with Google")),1)],8,T),i("div",j,[i("span",null,r(s.t("login.or","or")),1)]),i("form",{onSubmit:t[7]||(t[7]=u((...o)=>s.handleSubmit&&s.handleSubmit(...o),["prevent"]))},[i("div",W,[i("label",J,r(s.t("login.email","Email")),1),h(i("input",{id:"email","onUpdate:modelValue":t[4]||(t[4]=o=>e.email=o),type:"email",required:"",autocomplete:"email",placeholder:"[email protected]"},null,512),[[d,e.email]])]),i("div",K,[i("label",O,r(s.t("login.password","Password")),1),h(i("input",{id:"password","onUpdate:modelValue":t[5]||(t[5]=o=>e.password=o),type:"password",required:"",autocomplete:e.isRegister?"new-password":"current-password",placeholder:s.t("login.min_6_chars","Min 6 characters"),minlength:"6"},null,8,Q),[[d,e.password]])]),e.isRegister?g("",!0):(a(),n("div",X,[i("a",{href:"#",onClick:t[6]||(t[6]=u(o=>{e.isForgot=!0,e.errorMsg="",e.successMsg=""},["prevent"]))},r(s.t("login.forgot_password_link","Forgot password?")),1)])),i("button",{type:"submit",class:"submit-btn",disabled:e.submitting},r(e.submitting?s.t("login.please_wait","Please wait..."):e.isRegister?s.t("login.create_account","Create Account"):s.t("login.sign_in","Sign In")),9,Y)],32),i("p",Z,[p(r(e.isRegister?s.t("login.already_have_account","Already have an account?"):s.t("login.no_account","Don't have an account?"))+" ",1),i("a",{href:"#",onClick:t[8]||(t[8]=u((...o)=>s.toggleMode&&s.toggleMode(...o),["prevent"]))},r(e.isRegister?s.t("login.sign_in","Sign In"):s.t("login.create_account","Create Account")),1)])],64))])])}const te=b(R,[["render",$]]);export{te 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.