PageSourceSearch

https://aisese.ai/quack/assets/quack-email-code-verification-DyaM5BIg.js

js aisese.ai collected 2026-10-05 15:10:58 UTC 5,329 bytes, 1 lines download raw bytes

1import{_ as U,u as W,a as J,r as v,c as X,e as Y,f as Z,g as _,h,j as l,l as x,m as ee,kM as ae,t as d,F as te,x as ie,i as oe,k as ne,y as se,p as le,R as re,O as w,kK as ce,aj as F,ak as N,kN as ue,as as fe}from"./index-IRrY99Dn.js";const de={class:"email-code-header"},me={class:"email-code-icon"},pe={class:"email-code-target"},ve={class:"email-code-benefit"},ge=["value","data-index","disabled","aria-label","onInput","onKeydown"],ye={class:"email-code-hint","aria-live":"polite"},he={class:"email-code-actions"},we=["disabled"],ke={key:1},s=6,_e=60,be={__name:"quack-email-code-verification",props:{inline:{type:Boolean,default:!1},showSkip:{type:Boolean,default:!0}},emits:["success","skip"],setup(E,{expose:B,emit:M}){const K=M,{t:u}=W(),q=J(),C=v(""),r=v(Array(s).fill("")),m=v(!1),g=v(!1),k=v(!1),c=v(0),I=v([]);let b=null;const V=X(()=>r.value.join("")),T=(e,a)=>{e&&(I.value[a]=e)},p=async e=>{var t;await re();const a=I.value[Math.min(Math.max(e,0),s-1)];a==null||a.focus(),(t=a==null?void 0:a.select)==null||t.call(a)},j=()=>{r.value=Array(s).fill("")},y=()=>{b&&(clearInterval(b),b=null)},D=()=>{c.value=_e,y(),b=setInterval(()=>{if(c.value>0){c.value--,c.value<=0&&y();return}y()},1e3)},S=(e,a=0)=>{const t=String(e||"").replace(/\D/g,"").slice(0,s);if(!t)return;const i=[...r.value];let o=a;for(const n of t){if(o>=s)break;i[o]=n,o++}r.value=i,p(o<s?o:s-1),L()},z=e=>{var a,t;(t=(a=e.target)==null?void 0:a.select)==null||t.call(a)},O=(e,a)=>{var o;const i=(((o=a.target)==null?void 0:o.value)||"").replace(/\D/g,"");if(!i){r.value[e]="",a.target.value="";return}if(i.length===1){r.value[e]=i,a.target.value=i,e<s-1&&p(e+1),L();return}a.target.value=i[0],S(i,e)},H=(e,a)=>{const t=a.key,i=["Backspace","Delete","Tab","Enter","ArrowLeft","ArrowRight","Home","End"];if(t==="Backspace"&&!r.value[e]&&e>0){a.preventDefault(),r.value[e-1]="",p(e-1);return}if(t==="ArrowLeft"&&e>0){a.preventDefault(),p(e-1);return}if(t==="ArrowRight"&&e<s-1){a.preventDefault(),p(e+1);return}if(t==="Enter"&&V.value.length===s){a.preventDefault(),$();return}a.metaKey||a.ctrlKey||a.altKey||i.includes(t)||t.length===1&&!/^\d$/.test(t)&&a.preventDefault()},P=e=>{var o,n,f;const t=(((o=e.clipboardData)==null?void 0:o.getData("text"))||"").replace(/\D/g,"").slice(0,s);if(!t)return;e.preventDefault();const i=Number(((f=(n=e.target)==null?void 0:n.dataset)==null?void 0:f.index)||0);S(t,Number.isFinite(i)?i:0)},Q=e=>{var t;const a=String(e||((t=q.userInfo)==null?void 0:t.email)||"").trim();return C.value=a,!!a},$=async()=>{if(!m.value){if(V.value.length!==s){w.warning(u("emailVerification.codeInvalid"));return}try{m.value=!0,await ue({code:V.value}),await fe(),w.success(u("emailVerification.verificationSuccess")),K("success")}catch(e){console.error(u("emailVerification.verificationFailed"),e),F(e)||w.error(N(e,u("emailVerification.verificationFailedRetry")))}finally{m.value=!1}}},L=()=>{V.value.length!==s||m.value||$()},R=async(e={})=>{const{showMessage:a=!0,showLoading:t=!0,startCountdownImmediately:i=!1}=e||{};if(c.value>0||g.value||k.value)return;let o=!1;try{k.value=!0,g.value=t,i&&(D(),o=!0),await ce({email:C.value},{loading:!1}),a&&w.success(u("emailVerification.emailSent")),o||D()}catch(n){o&&(c.value=0,y()),console.error(u("emailVerification.sendFailed"),n),F(n)||w.error(N(n,u("emailVerification.sendFailedRetry")))}finally{k.value=!1,g.value=!1}},A=()=>{j(),m.value=!1,g.value=!1,k.value=!1,c.value=0,y()},G=async({email:e="",startResendCountdown:a=!1,sendCode:t=!1}={})=>{if(A(),!Q(e)){w.warning(u("login.validation.emailRequired"));return}t?R({showMessage:!1,showLoading:!1,startCountdownImmediately:!0}):a&&D(),p(0)};return Y(()=>{y()}),B({prepare:G,reset:A,focusInput:p}),(e,a)=>{const t=Z("font-awesome-icon"),i=se;return h(),_("section",{class:le(["email-code-verification",{"is-inline":E.inline}])},[l("div",de,[l("div",me,[x(t,{class:"quack-fa-icon el-icon",icon:ee(ae)},null,8,["icon"])]),l("h3",null,d(e.$t("emailVerification.title")),1),l("p",null,d(e.$t("emailVerification.description")),1)]),l("div",pe,[l("span",null,d(e.$t("emailVerification.yourEmail")),1),l("strong",null,d(C.value||"-"),1)]),l("p",ve,d(e.$t("emailVerification.benefit")),1),l("div",{class:"email-code-inputs",onPaste:P},[(h(!0),_(te,null,ie(r.value,(o,n)=>(h(),_("input",{key:n,ref_for:!0,ref:f=>T(f,n),class:"email-code-input",type:"text",inputmode:"numeric",pattern:"[0-9]*",maxlength:"1",autocomplete:"one-time-code",value:r.value[n],"data-index":n,disabled:m.value,"aria-label":e.$t("emailVerification.codeDigitLabel",{index:n+1}),onFocus:z,onInput:f=>O(n,f),onKeydown:f=>H(n,f)},null,40,ge))),128))],32),l("p",ye,d(m.value?e.$t("emailVerification.verifying"):e.$t("emailVerification.tips")),1),l("div",he,[l("button",{type:"button",class:"email-code-btn email-code-btn-secondary",disabled:g.value||k.value||c.value>0,onClick:R},[g.value?(h(),ne(i,{key:0,label:e.$t("common.loading"),size:18},null,8,["label"])):(h(),_("span",ke,d(c.value>0?e.$t("emailVerification.resendWithCountdown",{countdown:c.value}):e.$t("emailVerification.resendEmail")),1))],8,we),E.showSkip?(h(),_("button",{key:0,t
1ype:"button",class:"email-code-btn email-code-btn-ghost",onClick:a[0]||(a[0]=o=>e.$emit("skip"))},d(e.$t("emailVerification.skipForNow")),1)):oe("",!0)])],2)}}},Ce=U(be,[["__scopeId","data-v-54391c6f"]]);export{Ce 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.