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>
1 line
4.9 KiB
JavaScript
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}; |