Files
tehran_taj/apps/user-app/dist/assets/LoginRegisterView-BgHY0w76.js
T

2 lines
11 KiB
JavaScript

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