import{D as e,Et as t,G as n,H as r,J as i,Kt as a,M as o,N as s,O as c,P as l,T as u,Xt as d,Z as f,b as p,g as ee,h as te,t as m,vt as h,w as g}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{u as ne}from"./BasicIcon-BXxbbWA_.js";import{l as re}from"./dist-nK9ByyUG.js";import{d as _,l as ie,t as v}from"./format-C72AoJ2H.js";import{_ as ae,c as oe,h as se,o as ce}from"./index-BAQfYU-Q.js";import{t as le}from"./IconChevronBack-DfGoZJJk.js";import{t as ue}from"./FormErrorBanner-DI5hhxpk.js";import{n as de,r as y,t as fe}from"./formErrors-DglFjYkZ.js";import{t as b}from"./login-fabric-CzrIXTnD.js";import{t as pe}from"./IconEditPen-LGjdaNbi.js";var me={class:`page otp-page`},he=[`src`],ge={class:`otp-page__scroll`},x={class:`otp-page__stage`},S={class:`otp-top`},C={class:`otp-brand`},w={class:`otp-card__lead`},T={dir:`ltr`},E={class:`otp-row`,dir:`ltr`,role:`group`,"aria-label":`کد تأیید`},D=[`id`,`value`,`aria-label`,`onInput`,`onKeydown`,`onPaste`],O={key:0,class:`otp-card__error`},k=[`disabled`],A={key:0,class:`otp-submit__spinner`,"aria-hidden":`true`},j={class:`otp-submit__chevron`,"aria-hidden":`true`},M=[`disabled`],N={dir:`ltr`},P=4,F=60,I=m(l({__name:`OtpView`,setup(l){let m=te(),I=ee(),L=oe(),R=g(()=>{let e=m.query.phone,t=Array.isArray(e)?e[0]:e;return ie(typeof t==`string`?t:``)}),z=g(()=>m.query.mode===`register`),B=h(Array.from({length:P},()=>``)),V=h([]),H=h({}),U=h(``),W=h(F),G=g(()=>B.value.join(``)),K=g(()=>W.value<=0&&!L.loading),_e=g(()=>{let e=Math.floor(W.value/60),t=W.value%60,n=`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;return _(n)}),{pause:ve,resume:ye}=re(()=>{if(W.value<=1){W.value=0,ve();return}--W.value},1e3,{immediate:!1});function q(){H.value=de(H.value,`code`),y(H.value)||(U.value=``)}function be(e,t){V.value[t]=e}function J(e){let t=Math.max(0,Math.min(3,e));r(()=>V.value[t]?.focus())}function Y(){W.value=F,ye()}function X(e,t=0){let n=v(e).slice(0,P-t);if(!n)return t;let r=[...B.value],i=t;for(let e of n){if(i>=P)break;r[i]=e,i+=1}return B.value=r,q(),Math.min(i,3)}function Z(){G.value.length===P&&!L.loading&&$()}function Q(e,t){let n=t.target,r=v(n.value);if(r.length>1){let t=X(r,e);n.value=B.value[e]??``,J(t),Z();return}let i=r.slice(-1);B.value[e]=i,n.value=i,q(),i&&e<3?J(e+1):i&&Z()}function xe(e,t){if(t.key===`Backspace`){if(B.value[e]){B.value[e]=``,q();return}e>0&&(B.value[e-1]=``,q(),J(e-1));return}if(t.key===`ArrowLeft`){t.preventDefault(),J(e-1);return}t.key===`ArrowRight`&&(t.preventDefault(),J(e+1))}function Se(e,t){t.preventDefault(),J(X(t.clipboardData?.getData(`text`)??``,e)),Z()}function Ce(e){return e?_(e):``}async function $(){if(L.loading)return;H.value={},U.value=``;let e={};if(G.value.length
``),J(0))}async function we(){if(!K.value)return;U.value=``,H.value={};let e=z.value?se():null;if(z.value&&!e){U.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبتنام را شروع کنید.`;return}let t=await L.requestOtp(R.value,{isRegister:z.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(B.value=Array.from({length:P},()=>``),Y(),J(0)):U.value=t.message??`خطا در ارسال مجدد کد.`}function Te(){I.replace({name:z.value?`register`:`login`})}return n(()=>{if(!R.value){I.replace({name:`login`});return}Y(),J(0)}),(n,r)=>(i(),c(`div`,me,[u(`img`,{class:`otp-page__bg`,src:t(b),alt:``},null,8,he),u(`div`,ge,[u(`div`,x,[u(`header`,S,[u(`button`,{type:`button`,class:`otp-top__back`,"aria-label":`بازگشت`,onClick:r[0]||=e=>t(I).push(z.value?`/register`:`/login`)},[s(le,{size:20})])]),u(`div`,C,[s(ae,{size:72}),r[1]||=u(`h1`,{class:`otp-brand__fa`},`نادمی تکس`,-1),r[2]||=u(`p`,{class:`otp-brand__en`},`NADEMITEX`,-1)]),u(`form`,{class:`otp-card`,onSubmit:ne($,[`prevent`])},[r[7]||=u(`h2`,{class:`otp-card__title`},`تأیید موبایل`,-1),u(`p`,w,[r[3]||=o(` کد ارسالشده به `,-1),u(`span`,T,d(t(_)(R.value)),1),r[4]||=o(` را وارد کنید. `,-1)]),s(ue,{message:U.value},null,8,[`message`]),u(`div`,E,[(i(!0),c(p,null,f(B.value,(e,n)=>(i(),c(`input`,{id:`otp-${n}`,key:n,ref_for:!0,ref:e=>be(e,n),class:a([`otp-box`,{"otp-box--error":H.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:Ce(e),"aria-label":`رقم ${t(_)(String(n+1))}`,onInput:e=>Q(n,e),onKeydown:e=>xe(n,e),onPaste:e=>Se(n,e)},null,42,D))),128))]),H.value.code?(i(),c(`p`,O,d(H.value.code),1)):e(``,!0),u(`button`,{class:`otp-submit`,type:`submit`,disabled:t(L).loading},[t(L).loading?(i(),c(`span`,A)):e(``,!0),u(`span`,j,[s(ce,{size:18,color:`#F4EDE4`})]),r[5]||=u(`span`,null,`تأیید و ورود`,-1)],8,k),u(`button`,{class:`otp-resend`,type:`button`,disabled:!K.value,onClick:we},[K.value?(i(),c(p,{key:0},[o(`ارسال مجدد کد`)],64)):(i(),c(p,{key:1},[o(`ارسال مجدد کد (`+d(_e.value)+`)`,1)],64))],8,M),u(`button`,{type:`button`,class:`otp-edit`,onClick:Te},[u(`span`,N,d(t(_)(R.value)),1),r[6]||=u(`span`,null,`ویرایش شماره`,-1),s(pe,{size:16,"stroke-width":1.5})])],32),r[8]||=u(`div`,{class:`otp-spacer`,"aria-hidden":`true`},null,-1),r[9]||=u(`p`,{class:`otp-watermark`},[o(`MORE`),u(`br`),o(`THAN`),u(`br`),o(`FABRIC`)],-1)])])]))}}),[[`__scopeId`,`data-v-db716981`]]);export{I as default};