Files
nademitex_user/dist/assets/RegisterView-B5N97yVt.js
T
mohmdsdgandCopilot adb6ca47cd fix(auth): secure sessions and app routing
Validate sessions against the API, honor configurable base paths, and route unknown pages to 404. Keep development ports stable so user and admin apps cannot be confused.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-24 20:14:11 +03:30

1 line
7.8 KiB
JavaScript

import{D as e,E as t,Et as n,J as r,Kt as i,M as a,N as o,O as s,P as c,T as l,Xt as u,Z as ee,b as te,ct as d,g as f,j as p,t as m,vt as h,w as g}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{a as _,s as v,t as y,u as ne}from"./BasicIcon-BXxbbWA_.js";import{t as re}from"./dist-2yEcZq4e.js";import{d as ie,l as b}from"./format-C72AoJ2H.js";import{a as ae}from"./validation-Duyyve7l.js";import{E as x,c as oe,g as se,m as S,o as C}from"./index-BAQfYU-Q.js";import{t as ce}from"./FormErrorBanner-DI5hhxpk.js";import{t as le}from"./IconPhone-ZmPXu1y3.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./IconDiamond-R4uguqMC.js";var O=c({__name:`IconVerified`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(n,i)=>(r(),t(y,{icon:`vuesax-linear:verify`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),k=`/assets/register-card-D_GOfNUU.jpg`,A={class:`page register-page`},j={class:`register-page__scroll`},M={class:`register-page__stage`},N={class:`register-top`},P={key:0,class:`reg-field__error`},F={key:1,class:`reg-field__error`},I={class:`reg-field__phone`,dir:`ltr`},L=[`value`],R={key:2,class:`reg-field__error`},z=[`aria-expanded`],B={class:`reg-field__meta`},V={key:0,class:`job-menu`,role:`listbox`},H=[`aria-selected`,`onClick`],U={key:1,class:`reg-field__error`},ue=[`disabled`],de={key:0,class:`register-submit__spinner`,"aria-hidden":`true`},fe={class:`register-submit__chevron`,"aria-hidden":`true`},pe={class:`register-terms`},me={key:0,viewBox:`0 0 12 12`,fill:`none`},he={key:3,class:`reg-field__error`},ge={class:`register-perks`,"aria-label":`مزایا`},_e={class:`register-perk`},ve={class:`register-perk`},ye={class:`register-perk`},be={class:`register-foot`},xe=[`src`],W=m(c({__name:`RegisterView`,setup(t){let c=f(),m=oe(),W=h(``),G=h(``),K=h(``),q=h(``),J=h(!0),Y=h(!1),X=h(null),Z=h({}),Q=h(``),Se=g(()=>K.value?ie(K.value):``),Ce=g(()=>S.find(e=>e.id===q.value)?.label??`دسته‌بندی شغلی`);re(X,()=>{Y.value=!1});function we(e){q.value=e,Y.value=!1,$(`jobCategory`)}function $(e){Z.value=w(Z.value,e),T(Z.value)||(Q.value=``)}function Te(e){K.value=b(e),$(`phone`)}async function Ee(){Z.value={},Q.value=``;let e=b(K.value),t={};if(W.value.trim()||(t.firstName=`نام الزامی است.`),G.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),ae(e)||(t.phone=`شماره موبایل معتبر نیست.`),q.value||(t.jobCategory=`دسته‌بندی شغلی الزامی است.`),J.value||(t.terms=`پذیرش قوانین برای ثبت‌نام لازم است.`),T(t)){Z.value=t,Q.value=E;return}let n={firstName:W.value.trim(),lastName:G.value.trim(),jobCategory:q.value};se(n);let r=await m.requestOtp(e,{isRegister:!0,firstName:n.firstName,lastName:n.lastName});r.success?c.push({name:`otp`,query:{phone:e,mode:`register`}}):Q.value=r.message??`خطا در ارسال کد تأیید.`}return(t,f)=>(r(),s(`div`,A,[l(`div`,j,[l(`div`,M,[l(`header`,N,[f[8]||=l(`p`,{class:`register-top__welcome`},`همراه ما باشید`,-1),l(`button`,{type:`button`,class:`register-top__back`,"aria-label":`بازگشت`,onClick:f[0]||=e=>n(c).push(`/login`)},[o(C,{size:20,color:`#2A2622`})])]),f[18]||=l(`h1`,{class:`register-title`},`ثبت‌نام در نادمی تکس`,-1),f[19]||=l(`p`,{class:`register-lead`},`با چند مرحله ساده، عضوی از خانواده ما شوید.`,-1),l(`form`,{class:`register-form`,onSubmit:ne(Ee,[`prevent`])},[o(ce,{message:Q.value},null,8,[`message`]),l(`label`,{class:i([`reg-field`,{"is-invalid":!!Z.value.firstName}])},[o(x,{size:18,color:`#8A847C`}),d(l(`input`,{"onUpdate:modelValue":f[1]||=e=>W.value=e,class:`reg-field__input`,type:`text`,autocomplete:`given-name`,onInput:f[2]||=e=>$(`firstName`),placeholder:`نام`},null,544),[[v,W.value]])],2),Z.value.firstName?(r(),s(`p`,P,u(Z.value.firstName),1)):e(``,!0),l(`label`,{class:i([`reg-field`,{"is-invalid":!!Z.value.lastName}])},[o(x,{size:18,color:`#8A847C`}),d(l(`input`,{"onUpdate:modelValue":f[3]||=e=>G.value=e,class:`reg-field__input`,type:`text`,dir:`rtl`,autocomplete:`family-name`,onInput:f[4]||=e=>$(`lastName`),placeholder:`نام خانوادگی`},null,544),[[v,G.value]])],2),Z.value.lastName?(r(),s(`p`,F,u(Z.value.lastName),1)):e(``,!0),l(`label`,{class:i([`reg-field`,{"is-invalid":!!Z.value.phone}])},[o(le,{size:18,color:`#8A847C`}),l(`span`,I,[f[9]||=p(`<span class="reg-field__locale" aria-hidden="true" data-v-dd0b86d6><svg class="iran-flag" viewBox="0 0 21 15" xmlns="http://www.w3.org/2000/svg" data-v-dd0b86d6><rect width="21" height="5" fill="#239F40" data-v-dd0b86d6></rect><rect y="5" width="21" height="5" fill="#fff" data-v-dd0b86d6></rect><rect y="10" width="21" height="5" fill="#DA0001" data-v-dd0b86d6></rect><circle cx="10.5" cy="7.5" r="1.35" fill="#DA0001" data-v-dd0b86d6></circle></svg><svg class="reg-field__caret" viewBox="0 0 10 6" fill="none" data-v-dd0b86d6><path d="M1 1.2 5 5l4-3.8" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" data-v-dd0b86d6></path></svg></span>`,1),l(`input`,{class:`reg-field__input reg-field__input--phone`,value:Se.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,onInput:f[5]||=e=>Te(e.target.value)},null,40,L)])],2),Z.value.phone?(r(),s(`p`,R,u(Z.value.phone),1)):e(``,!0),l(`div`,{ref_key:`jobRoot`,ref:X,class:`job-wrap`},[l(`button`,{type:`button`,class:i([`reg-field job-trigger`,{"is-open":Y.value,"is-invalid":!!Z.value.jobCategory}]),"aria-haspopup":`listbox`,"aria-expanded":Y.value,onClick:f[6]||=e=>Y.value=!Y.value},[l(`span`,B,[o(y,{icon:`vuesax-linear:category`,size:18,color:`#8A847C`}),l(`span`,{class:i({"is-placeholder":!q.value})},u(Ce.value),3)]),f[10]||=l(`svg`,{class:`job-chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[l(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,z),Y.value?(r(),s(`ul`,V,[(r(!0),s(te,null,ee(n(S),e=>(r(),s(`li`,{key:e.id},[l(`button`,{type:`button`,role:`option`,class:i([`job-option`,{"is-active":q.value===e.id}]),"aria-selected":q.value===e.id,onClick:t=>we(e.id)},u(e.label),11,H)]))),128))])):e(``,!0),Z.value.jobCategory?(r(),s(`p`,U,u(Z.value.jobCategory),1)):e(``,!0)],512),l(`button`,{class:`register-submit`,type:`submit`,disabled:n(m).loading},[n(m).loading?(r(),s(`span`,de)):e(``,!0),l(`span`,fe,[o(C,{size:18,color:`#F4EDE4`})]),f[11]||=l(`span`,null,`دریافت کد تأیید`,-1)],8,ue),l(`label`,pe,[d(l(`input`,{"onUpdate:modelValue":f[7]||=e=>J.value=e,class:`register-terms__native`,type:`checkbox`},null,512),[[_,J.value]]),l(`span`,{class:i([`register-terms__box`,{"is-on":J.value}]),"aria-hidden":`true`},[J.value?(r(),s(`svg`,me,[...f[12]||=[l(`path`,{d:`M2.2 6.2 4.7 8.7 9.8 3.4`,stroke:`#fff`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):e(``,!0)],2),f[13]||=l(`span`,null,[a(` با ثبت‌نام، `),l(`strong`,null,`قوانین و شرایط`),a(` استفاده از سرویس را می‌پذیرم. `)],-1)]),Z.value.terms?(r(),s(`p`,he,u(Z.value.terms),1)):e(``,!0)],32),l(`section`,ge,[l(`article`,_e,[o(O,{size:22,color:`#6F6B66`}),f[14]||=l(`strong`,null,`اطمینان از اصالت محصولات`,-1)]),l(`article`,ve,[o(y,{icon:`vuesax-linear:truck-time`,size:22,color:`#6F6B66`}),f[15]||=l(`strong`,null,`دسترسی سریع به کالیته‌های جدید`,-1)]),l(`article`,ye,[o(D,{size:22,color:`#6F6B66`}),f[16]||=l(`strong`,null,`تجربه خرید ویژه مشتریان`,-1)])]),l(`div`,be,[l(`img`,{class:`register-foot__bg`,src:n(k),alt:``},null,8,xe),f[17]||=l(`p`,{class:`register-foot__copy`},[a(`همراه حرفه‌ای`),l(`br`),a(`کسب‌وکار شما`)],-1)])])])]))}}),[[`__scopeId`,`data-v-dd0b86d6`]]);export{W as default};