import{d as B,j as x,G as P,E as X,g as _,c as k,h as M,H as Y,b as c,n as S,f as R,F as A,r as ee,x as j,y as N,q as te,s as K,e as o,w as v,I as q,t as U,u as s,v as se,i as H,D as T,J as ne,l as ae,_ as W}from"./index-DwiPBFwz.js";import{P as z}from"./PageBar-Di5m7DhN.js";import{_ as oe}from"./NotifyVant.vue_vue_type_script_setup_true_lang-DQxZKmXi.js";import{a as le}from"./client-WIBW0tF5.js";import{a as G,F as I,I as F,T as ue}from"./index-C7-PAQIk.js";import{_ as ie}from"./Spinner.vue_vue_type_style_index_0_lang-CUH4rvg2.js";import{_ as re}from"./DialogVant.vue_vue_type_style_index_0_lang-BEUJbKFK.js";import"./index-DY_EaY3o.js";import"./classCallCheck-BZwjZCbw.js";import"./_commonjsHelpers-Cpj98o6Y.js";const ce={class:"otp-single-input"},de=["type","placeholder","disabled"],pe={key:0},me=["innerHTML"],ve=B({__name:"SingleOtpInput",props:{inputType:{default:"tel"},value:{},separator:{},focus:{type:Boolean},inputClasses:{},shouldAutoFocus:{type:Boolean},isLastChild:{type:Boolean},placeholder:{},disabled:{type:Boolean}},emits:["on-change","on-keydown","on-paste","on-focus","on-blur"],setup(l,{emit:y}){const i=l,f=y,n=x(i.value||""),t=x(null),a=()=>(n.value=n.value.toString(),n.value.length>1&&(n.value=n.value.slice(0,1)),f("on-change",n.value)),p=d=>d>=48&&d<=57||d>=96&&d<=105,g=d=>{i.disabled&&d.preventDefault();const m=d||window.event,C=m.which?m.which:m.keyCode;p(C)||[8,9,13,37,39,46,86].includes(C)?f("on-keydown",d):m.preventDefault()},e=d=>f("on-paste",d),b=()=>(t.value.select(),f("on-focus")),u=()=>f("on-blur");return P(()=>i.value,(d,m)=>{d!==m&&(n.value=d??"")}),P(()=>i.focus,(d,m)=>{m!==d&&t.value&&i.focus&&(t.value.focus(),t.value.select())}),X(()=>{t.value&&i.focus&&i.shouldAutoFocus&&(t.value.focus(),t.value.select())}),(d,m)=>(_(),k("div",ce,[M(c("input",{type:l.inputType,placeholder:l.placeholder,disabled:l.disabled,ref_key:"input",ref:t,min:"0",max:"9",maxlength:"1",pattern:"[0-9]","onUpdate:modelValue":m[0]||(m[0]=C=>n.value=C),class:S(l.inputClasses),onInput:a,onKeydown:g,onPaste:e,onFocus:b,onBlur:u},null,42,de),[[Y,n.value]]),!l.isLastChild&&l.separator?(_(),k("span",pe,[c("span",{innerHTML:l.separator},null,8,me)])):R("",!0)]))}}),fe={class:"flex ltr justify-around w-full"},he=8,_e=37,ye=39,ge=46,be=B({__name:"OtpInput",props:{defaultFocus:{type:Boolean},numInputs:{default:4},separator:{},inputClasses:{},inputType:{},shouldAutoFocus:{type:Boolean,default:!1},placeholder:{},disabled:{type:Boolean,default:!1}},emits:["on-change","on-complete"],setup(l,{emit:y}){const i=l,f=y,n=x(0),t=x([]),a=x([]),p=r=>{i.defaultFocus&&r{n.value=-1},e=()=>t.value.join("").length===i.numInputs?f("on-complete",t.value.join("")):"Wait until the user enters the required number of characters",b=r=>{n.value=Math.max(Math.min(i.numInputs-1,r),0)},u=()=>b(n.value+1),d=()=>b(n.value-1),m=r=>{a.value=Object.assign([],t.value),typeof r=="string"&&r===""?t.value.splice(n.value,1):t.value[n.value]=r,a.value.join("")!==t.value.join("")&&(f("on-change",t.value.join("")),e())},C=r=>{var L;r.preventDefault();const V=(((L=r.clipboardData)==null?void 0:L.getData("text/plain"))??"").slice(0,i.numInputs-n.value).split("");if(i.inputType==="number"&&!V.join("").match(/^\d+$/))return"Invalid pasted data";const E=t.value.slice(0,n.value).concat(V);return E.slice(0,i.numInputs).forEach((J,Q)=>{t.value[Q]=J}),b(E.slice(0,i.numInputs).length),e()},w=r=>{m(r),u()},h=r=>{switch(r.keyCode){case he:r.preventDefault(),m(""),d();break;case ge:r.preventDefault(),m("");break;case _e:r.preventDefault(),d();break;case ye:r.preventDefault(),u();break}};return(r,$)=>(_(),k("div",null,[c("div",fe,[(_(!0),k(A,null,ee(l.numInputs,(V,D)=>(_(),j(ve,{key:D,focus:n.value===D,value:t.value[D],separator:l.separator,"input-type":l.inputType,"input-classes":l.inputClasses,"is-last-child":D===l.numInputs-1,"should-auto-focus":l.shouldAutoFocus,placeholder:l.placeholder,disabled:l.disabled,onOnChange:w,onOnKeydown:h,onOnPaste:C,onOnFocus:E=>p(D),onOnBlur:g},null,8,["focus","value","separator","input-type","input-classes","is-last-child","should-auto-focus","placeholder","disabled","onOnFocus"]))),128))])]))}}),we=l=>` مقدار ${l} نا معتبر است `,Z=l=>({pattern:/^(\+98|0098|98|0)?9\d{9}$/g,message:we(l)}),O=l=>({required:!0,message:` لطفا ${l} را وارد کنید `}),ke={class:"auth"},Ce={class:"auth__intro"},Ie={class:"auth__mark","aria-hidden":"true"},Oe={class:"auth__sub"},xe={class:"auth__card"},Fe={key:0,class:"auth__timer"},$e={key:1,class:"auth__timer"},De=["disabled"],Te={class:"auth__switch"},Be=B({__name:"LoginView",emits:["register"],setup(l,{emit:y}){const i=y,f=N(),n=te(),t=T({username:void 0}),a=T({show:!1,text:"اطلاعات کاربری در سیستم وجود ندارد."}),p=T({step:1,loading:!1,defaultFocus:!1});let g=null;const e=x(0),b=()=>{e.value>0&&setTimeout(()=>{e.value>0&&(e.value-=1,b())},1e3)},u=async()=>{try{if(p.loading=!0,g=(await le.listCustomers()).find(h=>h.mobile===t.username)??null,!g){a.text="اطلاعات کاربری در سیستم وجود ندارد.",a.show=!0;return}p.step=2,e.value=120,b(),await ne(()=>{p.defaultFocus=!0})}catch(w){console.log(w)}finally{p.loading=!1}},d=async w=>{try{if(p.loading=!0,!g)return;n.login(g.id,g.mobile),await f.push({name:"home"}),a.text="با موفقیت وارد شدید",a.show=!0}finally{p.loading=!1}},m=w=>w<10?"0"+w:w,C=ae(()=>p.step===1?"دریافت رمز عبور":"دریافت مجدد رمز عبور");return(w,h)=>{const r=K("container");return _(),k("div",ke,[o(oe,{timeOut:2e3,modelValue:a.show,"onUpdate:modelValue":h[0]||(h[0]=$=>a.show=$),text:a.text,color:"background-color: #DC2626"},null,8,["modelValue","text"]),o(z,{title:"ورود","back-to":"home"}),o(r,{class:"auth__body"},{default:v(()=>[c("section",Ce,[c("div",Ie,[o(q,{icon:"vuesax-linear:security-user",size:"28"})]),h[3]||(h[3]=c("h2",{class:"auth__title"},"ورود به هنزاگلد",-1)),c("p",Oe,U(p.step===1?"شماره موبایل خود را وارد کنید":"رمز یکبارمصرف را وارد کنید"),1)]),c("section",xe,[p.step===2?(_(),k(A,{key:0},[o(be,{class:"auth__otp","input-classes":"otp-input",inputType:"tel","num-inputs":4,"should-auto-focus":!0,defaultFocus:p.defaultFocus,onOnComplete:d},null,8,["defaultFocus"]),e.value>0?(_(),k("p",Fe," امکان دریافت مجدد رمز در "+U(m(e.value))+" ثانیه دیگر ",1)):(_(),k("p",$e,"برای دریافت رمز عبور مجدد تلاش کنید"))],64)):R("",!0),o(s(G),{model:t,layout:"vertical",onFinish:u,class:"auth__form"},{default:v(()=>[M(o(s(I),{name:"username",label:"تلفن همراه",rules:[s(O)("تلفن همراه"),s(Z)("تلفن همراه")]},{default:v(()=>[o(s(F),{type:"number",value:t.username,"onUpdate:value":h[1]||(h[1]=$=>t.username=$)},null,8,["value"])]),_:1},8,["rules"]),[[se,p.step===1]]),c("button",{type:"submit",class:S(["auth__cta",{"is-loading":p.loading}]),disabled:p.loading||e.value>0&&p.step===2},U(C.value),11,De)]),_:1},8,["model"])]),c("p",Te,[h[4]||(h[4]=H(" اگر ثبت نام نکرده‌اید ",-1)),c("button",{type:"button",onClick:h[2]||(h[2]=$=>i("register",!0))},"ثبت نام کنید")])]),_:1})])}}}),Re=W(Be,[["__scopeId","data-v-9c7ca9da"]]),Ve="/assets/registerDelay-C2Zjomix.svg",Ee={class:"auth"},Ue={class:"auth__intro"},je={class:"auth__mark","aria-hidden":"true"},Ae={class:"auth__card"},Le={class:"auth__switch"},Pe=["src"],Me=B({__name:"RegisterView",emits:["register"],setup(l,{emit:y}){const i=y,f=N(),n=T({loading:!1}),t=x(!1),a=T({fname:void 0,lname:void 0,mobile:void 0,store_name:void 0,phone:void 0,address:void 0,city:void 0}),p=async()=>{try{n.loading=!0,t.value=!0}finally{n.loading=!1}};return(g,e)=>{const b=K("container");return _(),k("div",Ee,[o(z,{title:"ثبت نام","back-to":"home"}),o(ie,{spinning:n.loading,tip:"در حال ثبت اطلاعات"},{default:v(()=>[o(b,{class:"auth__body"},{default:v(()=>[c("section",Ue,[c("div",je,[o(q,{icon:"vuesax-linear:user-add",size:"28"})]),e[10]||(e[10]=c("h2",{class:"auth__title"},"ساخت حساب کاربری",-1)),e[11]||(e[11]=c("p",{class:"auth__sub"},"اطلاعات فروشگاه خود را وارد کنید",-1))]),c("section",Ae,[o(s(G),{model:a,layout:"vertical",onFinish:p,class:"auth__form"},{default:v(()=>[o(s(I),{name:"fname",label:"نام",rules:s(O)("نام")},{default:v(()=>[o(s(F),{value:a.fname,"onUpdate:value":e[0]||(e[0]=u=>a.fname=u)},null,8,["value"])]),_:1},8,["rules"]),o(s(I),{name:"lname",label:"نام خانوادگی",rules:s(O)("نام خانوادگی")},{default:v(()=>[o(s(F),{value:a.lname,"onUpdate:value":e[1]||(e[1]=u=>a.lname=u)},null,8,["value"])]),_:1},8,["rules"]),o(s(I),{name:"mobile",label:"شماره موبایل",rules:[s(Z)("شماره موبایل"),s(O)("شماره موبایل")]},{default:v(()=>[o(s(F),{value:a.mobile,"onUpdate:value":e[2]||(e[2]=u=>a.mobile=u),type:"number"},null,8,["value"])]),_:1},8,["rules"]),o(s(I),{name:"store_name",label:"نام فروشگاه",rules:s(O)("نام فروشگاه")},{default:v(()=>[o(s(F),{value:a.store_name,"onUpdate:value":e[3]||(e[3]=u=>a.store_name=u)},null,8,["value"])]),_:1},8,["rules"]),o(s(I),{name:"phone",label:"تلفن فروشگاه",rules:[s(O)("تلفن فروشگاه")]},{default:v(()=>[o(s(F),{value:a.phone,"onUpdate:value":e[4]||(e[4]=u=>a.phone=u),type:"number"},null,8,["value"])]),_:1},8,["rules"]),o(s(I),{name:"address",label:"آدرس پستی",rules:s(O)("آدرس")},{default:v(()=>[o(s(ue),{value:a.address,"onUpdate:value":e[5]||(e[5]=u=>a.address=u),rows:3},null,8,["value"])]),_:1},8,["rules"]),o(s(I),{name:"city",label:"شهر",rules:s(O)("شهر")},{default:v(()=>[o(s(F),{value:a.city,"onUpdate:value":e[6]||(e[6]=u=>a.city=u)},null,8,["value"])]),_:1},8,["rules"]),e[12]||(e[12]=c("button",{type:"submit",class:"auth__cta"},"ثبت اطلاعات",-1))]),_:1},8,["model"])]),c("p",Le,[e[13]||(e[13]=H(" اگر حساب کاربری دارید ",-1)),c("button",{type:"button",onClick:e[7]||(e[7]=u=>i("register",!1))},"وارد شوید")])]),_:1})]),_:1},8,["spinning"]),o(re,{timeOut:-1,show:t.value,"onUpdate:show":e[9]||(e[9]=u=>t.value=u),closeOnClickOverlay:!1},{img:v(()=>[c("img",{src:s(Ve),alt:"",class:"opacity-80"},null,8,Pe)]),title:v(()=>[...e[14]||(e[14]=[c("div",{class:"p-5"}," ثبت نام شما با موفقیت انجام شد. منتظر تایید اطلاعات ثبت نامی شما توسط کارشناسان بمانید. ",-1)])]),button:v(()=>[c("div",{class:"text-center",onClick:e[8]||(e[8]=u=>s(f).push({name:"home"}))},"متوجه شدم")]),_:1},8,["show"])])}}}),Se=W(Me,[["__scopeId","data-v-f757d861"]]),Xe=B({__name:"LoginRegisterView",setup(l){const y=x(!1),i=f=>y.value=f;return(f,n)=>(_(),k(A,null,[y.value?R("",!0):(_(),j(Re,{key:0,onRegister:i})),y.value?(_(),j(Se,{key:1,onRegister:i})):R("",!0)],64))}});export{Xe as default};