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