Files
nademitex_user/dist/assets/LoginView-DkQyawlh.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
4.9 KiB
JavaScript

import{$ as e,D as t,Et as n,G 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,g as f,j as p,st as m,t as h,vt as g,w as _}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{u as v}from"./BasicIcon-BXxbbWA_.js";import{d as y,l as b}from"./format-C72AoJ2H.js";import{a as ee}from"./validation-Duyyve7l.js";import{_ as te,b as x,c as S,o as C,v as w,y as T}from"./index-BAQfYU-Q.js";import{t as E}from"./FormErrorBanner-DI5hhxpk.js";import{t as D}from"./IconPhone-ZmPXu1y3.js";import{n as O,r as k,t as A}from"./formErrors-DglFjYkZ.js";import{t as j}from"./login-fabric-CzrIXTnD.js";var M={class:`page login-page`},N=[`src`],P={class:`login-page__scroll`},F={class:`login-page__stage`},I={class:`login-brand`},ne=[`value`,`aria-invalid`],L={key:0,class:`phone-field__error`},R=[`disabled`],z={key:0,class:`login-submit__spinner`,"aria-hidden":`true`},B={class:`login-submit__chevron`,"aria-hidden":`true`},V={class:`login-register`},H={class:`login-help`},U=[`href`,`aria-disabled`],W={class:`login-help__icon`},G=[`href`,`aria-disabled`],K={class:`login-help__icon`},q=h(l({__name:`LoginView`,setup(l){let h=f(),q=S(),J=g(null),Y=_(()=>x(J.value)),X=g(``),Z=g({}),Q=g(``),re=_(()=>X.value?y(X.value):``);function $(e){return e?ee(e)?``:`شماره موبایل معتبر نیست. (مثال: ۰۹۱۲۱۲۳۴۵۶۷)`:`شماره موبایل را وارد کنید.`}function ie(){Z.value=O(Z.value,`phone`),k(Z.value)||(Q.value=``)}function ae(e){X.value=b(e),ie()}function oe(){if(!X.value)return;let e=$(X.value);e&&(Z.value={...Z.value,phone:e})}async function se(){Z.value={},Q.value=``;let e=b(X.value);X.value=e;let t=$(e);if(t){Z.value={phone:t},Q.value=A;return}let n=await q.requestOtp(e,{isRegister:!1});n.success?h.push({name:`otp`,query:{phone:e,mode:`login`}}):Q.value=n.message??`خطا در ارسال کد تأیید.`}return r(async()=>{try{let e=await T();J.value=e.supportPhone}catch{J.value=null}}),(r,l)=>{let f=e(`RouterLink`);return i(),c(`div`,M,[u(`img`,{class:`login-page__bg`,src:n(j),alt:``},null,8,N),u(`div`,P,[u(`div`,F,[l[14]||=u(`header`,{class:`login-top`},[u(`p`,{class:`login-top__welcome`},`به دنیای پارچه خوش آمدید`)],-1),u(`div`,I,[s(te,{size:78}),l[1]||=u(`h1`,{class:`login-brand__fa`},`نادمی تکس`,-1),l[2]||=u(`p`,{class:`login-brand__en`},`NADEMITEX`,-1),l[3]||=u(`p`,{class:`login-brand__tag`},`انتخاب حرفه‌ای‌ها`,-1)]),u(`form`,{class:`login-card`,onSubmit:v(se,[`prevent`])},[l[10]||=u(`h2`,{class:`login-card__title`},`ورود به حساب کاربری`,-1),l[11]||=u(`p`,{class:`login-card__lead`},`برای ادامه، شماره موبایل خود را وارد کنید.`,-1),s(E,{message:Q.value},null,8,[`message`]),u(`div`,{class:a([`phone-field`,{"is-invalid":!!Z.value.phone}]),dir:`ltr`},[l[4]||=p(`<span class="phone-field__locale" aria-hidden="true" data-v-ad43cb33><svg class="iran-flag" viewBox="0 0 21 15" xmlns="http://www.w3.org/2000/svg" data-v-ad43cb33><rect width="21" height="5" fill="#239F40" data-v-ad43cb33></rect><rect y="5" width="21" height="5" fill="#fff" data-v-ad43cb33></rect><rect y="10" width="21" height="5" fill="#DA0001" data-v-ad43cb33></rect><circle cx="10.5" cy="7.5" r="1.35" fill="#DA0001" data-v-ad43cb33></circle></svg><svg class="phone-field__caret" viewBox="0 0 10 6" fill="none" data-v-ad43cb33><path d="M1 1.2 5 5l4-3.8" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" data-v-ad43cb33></path></svg></span>`,1),u(`input`,{class:`phone-field__input`,value:re.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,"aria-invalid":!!Z.value.phone,"aria-label":`شماره موبایل`,onInput:l[0]||=e=>ae(e.target.value),onBlur:oe},null,40,ne)],2),Z.value.phone?(i(),c(`p`,L,d(Z.value.phone),1)):t(``,!0),u(`button`,{class:`login-submit`,type:`submit`,disabled:n(q).loading},[n(q).loading?(i(),c(`span`,z)):t(``,!0),u(`span`,B,[s(C,{size:18,color:`#F4EDE4`})]),l[5]||=u(`span`,null,`دریافت کد تأیید`,-1)],8,R),u(`p`,V,[l[7]||=o(` حساب کاربری ندارید؟ `,-1),s(f,{to:`/register`},{default:m(()=>[...l[6]||=[o(`ثبت‌نام کنید`,-1)]]),_:1})]),l[12]||=u(`div`,{class:`login-or`,role:`separator`},[u(`span`,null,`یا`)],-1),u(`div`,H,[u(`a`,{class:a([`login-help__item`,{"is-disabled":!Y.value}]),href:Y.value,"aria-disabled":!Y.value},[u(`span`,W,[s(w,{size:22,color:`#3A3936`})]),l[8]||=o(` پشتیبانی `,-1)],10,U),u(`a`,{class:a([`login-help__item`,{"is-disabled":!Y.value}]),href:Y.value,"aria-disabled":!Y.value},[u(`span`,K,[s(D,{size:22,color:`#3A3936`})]),l[9]||=o(` تماس با ما `,-1)],10,G)]),l[13]||=u(`p`,{class:`login-card__foot`},`پارچه، آغاز یک اعتماد ماندگار…`,-1)],32),l[15]||=u(`div`,{class:`login-spacer`,"aria-hidden":`true`},null,-1),l[16]||=u(`p`,{class:`login-watermark`},[o(`MORE`),u(`br`),o(`THAN`),u(`br`),o(`FABRIC`)],-1)])])])}}}),[[`__scopeId`,`data-v-ad43cb33`]]);export{q as default};