1import{e as O,h as Y,f as ee,bx as te,by as se,g as le,a as i,c as y,B as ae,m as g,s as l,w as n,X as M,k as q,j as h,E as S,F as G,o,V as B,t as r,v as a,Q as d,p as oe,q as I,x as k,W as $}from"./index.6570edfd.js";import{Q as V}from"./QInput.0779004e.js";import{Q as N}from"./QForm.b54c8fb3.js";import"./uid.937d8ee7.js";import"./focus-manager.40072c15.js";import"./private.use-form.7f4ca7cb.js";const ne={class:"tw-text-2xl tw-font-bold text-dark-grey tw-mb-6"},ie={class:"tw-mb-4 tw-space-y-1"},ue={class:"tw-text-2xl tw-font-bold text-dark-grey tw-mb-2"},re={class:"tw-text-base text-dark-grey tw-mb-4 tw-break-words"},de={class:"tw-text-base text-dark-grey tw-mb-4 tw-break-words"},me={class:"tw-flex tw-flex-wrap tw-gap-3"},ce={class:"tw-text-sm text-dark-grey tw-mt-4"},we={class:"tw-text-2xl tw-font-bold text-dark-grey tw-mb-2"},ge={class:"tw-text-base text-dark-grey tw-mb-4"},ve={key:0,class:"tw-flex tw-items-center tw-gap-2 tw-text-sm tw-font-semibold tw-mb-4 text-positive"},pe={key:1,class:"tw-text-sm text-dark-grey tw-mb-4"},be={class:"tw-text-sm text-dark-grey tw-mt-4"},$e=O({__name:"SecurityPage",setup(ye){const{t:m}=Y(),T=ee(),v=te(),R=se(),c=le(),C=i(!0),P=i(!0),L=i(!0),_=i(""),w=i(""),f=i(""),p=i(null),Q=i("email"),z=i(""),x=i(""),u=i(null),E=y(()=>{var e,t;return(t=(e=v.methods[0])==null?void 0:e.email)!=null?t:""}),U=y(()=>v.methods.some(e=>e.methods.includes("google"))),b=i(null),j=async()=>{var e;c.show(),b.value=null;try{const t=await v.startGoogleLink();if(!t.ok||!t.url){b.value={status:-1,msg:(e=t.msg)!=null?e:m("errors.identity.googleStart")},c.hide();return}window.location.assign(t.url)}catch{b.value={status:-1,msg:m("errors.identity.googleStart")},c.hide()}},F=y(()=>{var e,t;return(t=(e=v.methods[0])==null?void 0:e.email_verified)!=null?t:!1});ae(async()=>{(await v.fetchMethods()).ok||(u.value={status:-1,msg:m("security.emailSignIn.loadFailed")})});const D=async()=>{var t;c.show(),u.value=null;const e=await v.startLink(z.value);if(c.hide(),!e.ok){u.value={status:-1,msg:(t=e.msg)!=null?t:""};return}Q.value="code"},W=async()=>{var t;c.show(),u.value=null;const e=await v.confirmLink(x.value);if(c.hide(),!e.ok){u.value={status:-1,msg:(t=e.msg)!=null?t:""};return}Q.value="email",x.value="",u.value={status:0,msg:m("security.emailSignIn.linked")}},X=()=>{Q.value="email",x.value="",u.value=null},A=y(()=>[{label:m("security.main.checkMinLength"),passed:w.value.length>=8&&!w.value.includes(" ")},{label:m("security.main.checkUppercase"),passed:/[A-Z]/.test(w.value)},{label:m("security.main.checkNumber"),passed:/[0-9]/.test(w.value)}]),Z=y(()=>_.value.length>0&&A.value.every(e=>e.passed)&&f.value===w.value&&f.value.length>0),H=[e=>e.length>=8||"Minimum 8 characters required.",e=>!e.includes(" ")||"Password must not contain spaces.",e=>/[A-Z]/.test(e)||"Must contain at least 1 uppercase letter (A-Z).",e=>/[0-9]/.test(e)||"Must contain at least 1 number (0-9)."],J=y(()=>[e=>!!e||"",e=>e===w.value||"Must match new password."]),K=async()=>{if(!Z.value)return;c.show(),p.value=null,await T.changePassword(_.value,w.value,f.value)?p.value={status:0,msg:m("security.main.changeSuccess")}:p.value={status:-1,msg:m("security.main.changeFailed")},c.hide()};return(e,t)=>(o(),g(G,null,[l(M,null,{default:n(()=>[l(B,null,{default:n(()=>[r("div",ne,a(e.$t("security.main.title")),1),l(N,{onSubmit:K},{default:n(()=>[l(V,{modelValue:_.value,"onUpdate:modelValue":t[1]||(t[1]=s=>_.value=s),outlined:"",label:e.$t("security.main.currentPasswordLabel"),type:C.value?"password":"text",rules:[s=>s&&s.length>0||""],color:"orange","hide-bottom-space":"",class:"tw-text-base tw-font-semibold text-dark-grey tw-mb-4"},{append:n(()=>[l(d,{name:C.value?"visibility_off":"visibility",class:"cursor-pointer",onClick:t[0]||(t[0]=s=>C.value=!C.value)},null,8,["name"])]),_:1},8,["modelValue","label","type","rules"]),l(V,{modelValue:w.value,"onUpdate:modelValue":t[3]||(t[3]=s=>w.value=s),outlined:"",label:e.$t("security.main.newPasswordLabel"),type:P.value?"password":"text",rules:H,color:"orange","hide-bottom-space":"",class:"tw-text-base tw-font-semibold text-dark-grey tw-mb-3"},{append:n(()=>[l(d,{name:P.value?"visibility_off":"visibility",class:"cursor-pointer",onClick:t[2]||(t[2]=s=>P.value=!P.value)},null,8,["name"])]),_:1},8,["modelValue","label","type"]),r("div",ie,[(o(!0),g(G,null,oe(A.value,s=>(o(),g("div",{key:s.label,class:I(["tw-flex tw-items-center tw-gap-2 tw-text-sm tw-font-medium",s.passed?"text-positive":"text-negative"])},[l(d,{name:s.passed?"check":"close",size:"18px"},null,8,["name"]),k(" "+a(s.label),1)],2))),128))]),l(V,{modelValue:f.value,"onUpdate:modelValue":t[5]||(t[5]=s=>f.value=s),outlined:"",label:e.$t("security.main.confirmPasswordLabel"),type:L.value?"password":"text",rules:J.value,color:"orange","hide-bottom-sp
1ace":"",class:"tw-text-base tw-font-semibold text-dark-grey tw-mb-6"},{append:n(()=>[l(d,{name:L.value?"visibility_off":"visibility",class:"cursor-pointer",onClick:t[4]||(t[4]=s=>L.value=!L.value)},null,8,["name"])]),_:1},8,["modelValue","label","type","rules"]),p.value?(o(),g("div",{key:0,class:I(["response-msg tw-mb-4",p.value.status===0?"response-msg--success":"response-msg--error"])},[l(d,{name:p.value.status===0?"check_circle":"error",size:"24px"},null,8,["name"]),k(" "+a(p.value.msg),1)],2)):S("",!0),l($,{color:"orange",label:e.$t("security.main.submit"),rounded:"","no-caps":"",class:"tw-text-base tw-font-bold tw-px-6 tw-py-3 text-almost-black",type:"submit",disable:!Z.value},null,8,["label","disable"])]),_:1})]),_:1})]),_:1}),q(R)?(o(),h(M,{key:0,class:"tw-mt-6"},{default:n(()=>[l(B,null,{default:n(()=>[r("div",ue,a(e.$t("security.emailSignIn.title")),1),r("div",re,a(E.value?e.$t("security.emailSignIn.enabledFor",{email:E.value}):e.$t("security.emailSignIn.intro")),1),E.value?(o(),g("div",{key:0,class:I(["tw-flex tw-items-center tw-gap-2 tw-text-sm tw-font-semibold tw-mb-4",F.value?"text-positive":"text-negative"])},[l(d,{name:F.value?"check_circle":"schedule",size:"18px"},null,8,["name"]),k(" "+a(F.value?e.$t("security.emailSignIn.verified"):e.$t("security.emailSignIn.pending")),1)],2)):Q.value==="email"?(o(),h(N,{key:1,onSubmit:D},{default:n(()=>[l(V,{modelValue:z.value,"onUpdate:modelValue":t[6]||(t[6]=s=>z.value=s),outlined:"",type:"email",label:e.$t("security.emailSignIn.emailLabel"),rules:[s=>s&&s.length>0||""],color:"orange","hide-bottom-space":"",class:"tw-text-base tw-font-semibold text-dark-grey tw-mb-4"},{prepend:n(()=>[l(d,{name:"mail"})]),_:1},8,["modelValue","label","rules"]),l($,{color:"orange",label:e.$t("security.emailSignIn.sendCode"),rounded:"","no-caps":"",class:"tw-text-base tw-font-bold tw-px-6 tw-py-3 text-almost-black",type:"submit"},null,8,["label"])]),_:1})):(o(),h(N,{key:2,onSubmit:W},{default:n(()=>[r("div",de,a(e.$t("security.emailSignIn.codeSentTo",{email:z.value})),1),l(V,{modelValue:x.value,"onUpdate:modelValue":t[7]||(t[7]=s=>x.value=s),outlined:"",inputmode:"numeric",maxlength:"6",autocomplete:"one-time-code",label:e.$t("security.emailSignIn.codeLabel"),rules:[s=>s&&s.length>0||""],color:"orange","hide-bottom-space":"",class:"tw-text-base tw-font-semibold text-dark-grey tw-mb-4"},null,8,["modelValue","label","rules"]),r("div",me,[l($,{color:"orange",label:e.$t("security.emailSignIn.confirm"),rounded:"","no-caps":"",class:"tw-text-base tw-font-bold tw-px-6 tw-py-3 text-almost-black",type:"submit"},null,8,["label"]),l($,{outline:"",label:e.$t("security.emailSignIn.cancel"),rounded:"","no-caps":"",class:"tw-text-base tw-font-bold tw-px-6 tw-py-3",onClick:X},null,8,["label"])])]),_:1})),u.value?(o(),g("div",{key:3,class:I(["response-msg tw-mt-4",u.value.status===0?"response-msg--success":"response-msg--error"])},[l(d,{name:u.value.status===0?"check_circle":"error",size:"24px"},null,8,["name"]),k(" "+a(u.value.msg),1)],2)):S("",!0),r("div",ce,a(e.$t("security.emailSignIn.accountIdStays")),1
1)]),_:1})]),_:1})):S("",!0),q(R)?(o(),h(M,{key:1,class:"tw-mt-6"},{default:n(()=>[l(B,null,{default:n(()=>[r("div",we,a(e.$t("security.googleSignIn.title")),1),r("div",ge,a(U.value?e.$t("security.googleSignIn.linked"):e.$t("security.googleSignIn.intro")),1),U.value?(o(),g("div",ve,[l(d,{name:"check_circle",size:"18px"}),k(" "+a(e.$t("security.googleSignIn.linked")),1)])):E.value?(o(),h($,{key:2,rounded:"",label:e.$t("security.googleSignIn.link"),class:"tw-text-base tw-font-bold tw-px-6 tw-py-3 text-almost-black tw-w-full",outline:"",color:"dark-grey","no-caps":"",onClick:j},null,8,["label"])):(o(),g("div",pe,a(e.$t("security.googleSignIn.needsEmailFirst")),1)),b.value?(o(),g("div",{key:3,class:I(["response-msg tw-mt-4",b.value.status===0?"response-msg--success":"response-msg--error"])},[l(d,{name:b.value.status===0?"check_circle":"error",size:"24px"},null,8,["name"]),k(" "+a(b.value.msg),1)],2)):S("",!0),r("div",be,a(e.$t("security.googleSignIn.accountIdStays")),1)]),_:1})]),_:1})):S("",!0)],64))}});export{$e 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.