``),J(0))}async function we(){if(!K.value)return;U.value=``,H.value={};let e=z.value?oe():null;if(z.value&&!e){U.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبتنام را شروع کنید.`;return}let t=await L.requestOtp(R.value,{isRegister:z.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(B.value=Array.from({length:P},()=>``),Y(),J(0)):U.value=t.message??`خطا در ارسال مجدد کد.`}function Te(){I.replace({name:z.value?`register`:`login`})}return g(()=>{if(!R.value){I.replace({name:`login`});return}Y(),J(0)}),(e,i)=>(d(),c(`div`,pe,[p(`img`,{class:`otp-page__bg`,src:u(x),alt:``},null,8,me),p(`div`,he,[p(`div`,ge,[p(`header`,S,[p(`button`,{type:`button`,class:`otp-top__back`,"aria-label":`بازگشت`,onClick:i[0]||=e=>u(I).push(z.value?`/register`:`/login`)},[l(ce,{size:20})])]),p(`div`,C,[l(ie,{size:72}),i[1]||=p(`h1`,{class:`otp-brand__fa`},`نادمی تکس`,-1),i[2]||=p(`p`,{class:`otp-brand__en`},`NADEMITEX`,-1)]),p(`form`,{class:`otp-card`,onSubmit:n($,[`prevent`])},[i[7]||=p(`h2`,{class:`otp-card__title`},`تأیید موبایل`,-1),p(`p`,w,[i[3]||=a(` کد ارسالشده به `,-1),p(`span`,T,r(u(y)(R.value)),1),i[4]||=a(` را وارد کنید. `,-1)]),l(le,{message:U.value},null,8,[`message`]),p(`div`,E,[(d(!0),c(s,null,f(B.value,(e,n)=>(d(),c(`input`,{id:`otp-${n}`,key:n,ref_for:!0,ref:e=>be(e,n),class:t([`otp-box`,{"otp-box--error":H.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:Ce(e),"aria-label":`رقم ${u(y)(String(n+1))}`,onInput:e=>Q(n,e),onKeydown:e=>xe(n,e),onPaste:e=>Se(n,e)},null,42,D))),128))]),H.value.code?(d(),c(`p`,O,r(H.value.code),1)):o(``,!0),p(`button`,{class:`otp-submit`,type:`submit`,disabled:u(L).loading},[u(L).loading?(d(),c(`span`,A)):o(``,!0),p(`span`,j,[l(se,{size:18,color:`#F4EDE4`})]),i[5]||=p(`span`,null,`تأیید و ورود`,-1)],8,k),p(`button`,{class:`otp-resend`,type:`button`,disabled:!K.value,onClick:we},[K.value?(d(),c(s,{key:0},[a(`ارسال مجدد کد`)],64)):(d(),c(s,{key:1},[a(`ارسال مجدد کد (`+r(_e.value)+`)`,1)],64))],8,M),p(`button`,{type:`button`,class:`otp-edit`,onClick:Te},[p(`span`,N,r(u(y)(R.value)),1),i[6]||=p(`span`,null,`ویرایش شماره`,-1),l(fe,{size:16,"stroke-width":1.5})])],32),i[8]||=p(`div`,{class:`otp-spacer`,"aria-hidden":`true`},null,-1),i[9]||=p(`p`,{class:`otp-watermark`},[a(`MORE`),p(`br`),a(`THAN`),p(`br`),a(`FABRIC`)],-1)])])]))}}),[[`__scopeId`,`data-v-ca2f5cfe`]]);export{I as default}; \ No newline at end of file +import{A as e,Ct as t,D as n,Et as r,G as i,L as a,N as o,O as s,P as c,R as l,St as u,Y as d,Z as f,_ as ee,g as te,j as p,mt as m,n as h,q as g,z as _}from"./BasicIcon-C6boaehV.js";import{l as ne}from"./dist-CUUvbY4x.js";import{c as re,t as v,u as y}from"./format-BHJptHdF.js";import{_ as ie,c as ae,h as oe,o as se}from"./index-fdhs4HNc.js";import{t as ce}from"./IconChevronBack-DORV2H0q.js";import{t as le}from"./FormErrorBanner-CjdBfIQT.js";import{n as ue,r as b,t as de}from"./formErrors-DglFjYkZ.js";import{t as x}from"./login-fabric-CzrIXTnD.js";import{t as fe}from"./IconEditPen-DLV3_yq2.js";var pe={class:`page otp-page`},me=[`src`],he={class:`otp-page__scroll`},ge={class:`otp-page__stage`},S={class:`otp-top`},C={class:`otp-brand`},w={class:`otp-card__lead`},T={dir:`ltr`},E={class:`otp-row`,dir:`ltr`,role:`group`,"aria-label":`کد تأیید`},D=[`id`,`value`,`aria-label`,`onInput`,`onKeydown`,`onPaste`],O={key:0,class:`otp-card__error`},k=[`disabled`],A={key:0,class:`otp-submit__spinner`,"aria-hidden":`true`},j={class:`otp-submit__chevron`,"aria-hidden":`true`},M=[`disabled`],N={dir:`ltr`},P=4,F=60,I=h(_({__name:`OtpView`,setup(h){let _=te(),I=ee(),L=ae(),R=e(()=>{let e=_.query.phone,t=Array.isArray(e)?e[0]:e;return re(typeof t==`string`?t:``)}),z=e(()=>_.query.mode===`register`),B=m(Array.from({length:P},()=>``)),V=m([]),H=m({}),U=m(``),W=m(F),G=e(()=>B.value.join(``)),K=e(()=>W.value<=0&&!L.loading),_e=e(()=>{let e=Math.floor(W.value/60),t=W.value%60,n=`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;return y(n)}),{pause:ve,resume:ye}=ne(()=>{if(W.value<=1){W.value=0,ve();return}--W.value},1e3,{immediate:!1});function q(){H.value=ue(H.value,`code`),b(H.value)||(U.value=``)}function be(e,t){V.value[t]=e}function J(e){let t=Math.max(0,Math.min(3,e));i(()=>V.value[t]?.focus())}function Y(){W.value=F,ye()}function X(e,t=0){let n=v(e).slice(0,P-t);if(!n)return t;let r=[...B.value],i=t;for(let e of n){if(i>=P)break;r[i]=e,i+=1}return B.value=r,q(),Math.min(i,3)}function Z(){G.value.length===P&&!L.loading&&$()}function Q(e,t){let n=t.target,r=v(n.value);if(r.length>1){let t=X(r,e);n.value=B.value[e]??``,J(t),Z();return}let i=r.slice(-1);B.value[e]=i,n.value=i,q(),i&&e<3?J(e+1):i&&Z()}function xe(e,t){if(t.key===`Backspace`){if(B.value[e]){B.value[e]=``,q();return}e>0&&(B.value[e-1]=``,q(),J(e-1));return}if(t.key===`ArrowLeft`){t.preventDefault(),J(e-1);return}t.key===`ArrowRight`&&(t.preventDefault(),J(e+1))}function Se(e,t){t.preventDefault(),J(X(t.clipboardData?.getData(`text`)??``,e)),Z()}function Ce(e){return e?y(e):``}async function $(){if(L.loading)return;H.value={},U.value=``;let e={};if(G.value.length
``),J(0))}async function we(){if(!K.value)return;U.value=``,H.value={};let e=z.value?oe():null;if(z.value&&!e){U.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبتنام را شروع کنید.`;return}let t=await L.requestOtp(R.value,{isRegister:z.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(B.value=Array.from({length:P},()=>``),Y(),J(0)):U.value=t.message??`خطا در ارسال مجدد کد.`}function Te(){I.replace({name:z.value?`register`:`login`})}return g(()=>{if(!R.value){I.replace({name:`login`});return}Y(),J(0)}),(e,i)=>(d(),c(`div`,pe,[p(`img`,{class:`otp-page__bg`,src:u(x),alt:``},null,8,me),p(`div`,he,[p(`div`,ge,[p(`header`,S,[p(`button`,{type:`button`,class:`otp-top__back`,"aria-label":`بازگشت`,onClick:i[0]||=e=>u(I).push(z.value?`/register`:`/login`)},[l(ce,{size:20})])]),p(`div`,C,[l(ie,{size:72}),i[1]||=p(`h1`,{class:`otp-brand__fa`},`نادمی تکس`,-1),i[2]||=p(`p`,{class:`otp-brand__en`},`NADEMITEX`,-1)]),p(`form`,{class:`otp-card`,onSubmit:n($,[`prevent`])},[i[7]||=p(`h2`,{class:`otp-card__title`},`تأیید موبایل`,-1),p(`p`,w,[i[3]||=a(` کد ارسالشده به `,-1),p(`span`,T,r(u(y)(R.value)),1),i[4]||=a(` را وارد کنید. `,-1)]),l(le,{message:U.value},null,8,[`message`]),p(`div`,E,[(d(!0),c(s,null,f(B.value,(e,n)=>(d(),c(`input`,{id:`otp-${n}`,key:n,ref_for:!0,ref:e=>be(e,n),class:t([`otp-box`,{"otp-box--error":H.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:Ce(e),"aria-label":`رقم ${u(y)(String(n+1))}`,onInput:e=>Q(n,e),onKeydown:e=>xe(n,e),onPaste:e=>Se(n,e)},null,42,D))),128))]),H.value.code?(d(),c(`p`,O,r(H.value.code),1)):o(``,!0),p(`button`,{class:`otp-submit`,type:`submit`,disabled:u(L).loading},[u(L).loading?(d(),c(`span`,A)):o(``,!0),p(`span`,j,[l(se,{size:18,color:`#F4EDE4`})]),i[5]||=p(`span`,null,`تأیید و ورود`,-1)],8,k),p(`button`,{class:`otp-resend`,type:`button`,disabled:!K.value,onClick:we},[K.value?(d(),c(s,{key:0},[a(`ارسال مجدد کد`)],64)):(d(),c(s,{key:1},[a(`ارسال مجدد کد (`+r(_e.value)+`)`,1)],64))],8,M),p(`button`,{type:`button`,class:`otp-edit`,onClick:Te},[p(`span`,N,r(u(y)(R.value)),1),i[6]||=p(`span`,null,`ویرایش شماره`,-1),l(fe,{size:16,"stroke-width":1.5})])],32),i[8]||=p(`div`,{class:`otp-spacer`,"aria-hidden":`true`},null,-1),i[9]||=p(`p`,{class:`otp-watermark`},[a(`MORE`),p(`br`),a(`THAN`),p(`br`),a(`FABRIC`)],-1)])])]))}}),[[`__scopeId`,`data-v-db716981`]]);export{I as default}; \ No newline at end of file diff --git a/dist/assets/OtpView-D50bP3mT.css b/dist/assets/OtpView-D50bP3mT.css deleted file mode 100644 index 5677923..0000000 --- a/dist/assets/OtpView-D50bP3mT.css +++ /dev/null @@ -1 +0,0 @@ -.otp-page[data-v-ca2f5cfe]{isolation:isolate;color:#f4ede4;background:#1a1612;height:100%;min-height:100%;position:relative;overflow:hidden}.otp-page__bg[data-v-ca2f5cfe]{z-index:0;object-fit:cover;object-position:center center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.otp-page__scroll[data-v-ca2f5cfe]{z-index:1;overscroll-behavior:contain;height:100%;position:relative;overflow:hidden auto}.otp-page__stage[data-v-ca2f5cfe]{width:100%;max-width:390px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 16px calc(14px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;margin-inline:auto;display:flex}.otp-top[data-v-ca2f5cfe]{justify-content:flex-end;align-items:center;min-height:36px;display:flex}.otp-top__back[data-v-ca2f5cfe]{color:#f3e6d6;cursor:pointer;background:#f4ede424;border:none;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.otp-brand[data-v-ca2f5cfe]{text-align:center;color:#f3e6d6;flex-direction:column;align-items:center;margin-top:18px;margin-bottom:18px;display:flex}.otp-brand__fa[data-v-ca2f5cfe]{margin:12px 0 0;font-size:1.625rem;font-weight:700;line-height:1.25}.otp-brand__en[data-v-ca2f5cfe]{letter-spacing:.28em;color:#ead7c0;margin:6px 0 0;font-size:.6875rem;font-weight:500}.otp-card[data-v-ca2f5cfe]{color:#2a2622;background:#f4f1ed;border:none;border-radius:28px;width:100%;margin:0;padding:22px 18px 18px;box-shadow:0 18px 40px #0c0a0838}.otp-card__title[data-v-ca2f5cfe]{text-align:center;color:#1c1b19;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.5}.otp-card__lead[data-v-ca2f5cfe]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.otp-card[data-v-ca2f5cfe] .form-error-banner{margin-top:14px;margin-bottom:0}.otp-row[data-v-ca2f5cfe]{justify-content:center;gap:10px;margin-top:18px;display:flex}.otp-box[data-v-ca2f5cfe]{color:#1c1b19;text-align:center;width:52px;height:56px;caret-color:var(--color-primary);background:#f7f5f1;border:1px solid #e4e0db;border-radius:16px;padding:0;font-family:inherit;font-size:1.25rem;font-weight:700;transition:border-color .15s}.otp-box[data-v-ca2f5cfe]:focus{border-color:var(--color-primary);background:#fff;outline:none}.otp-box--error[data-v-ca2f5cfe]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e4e0db)}.otp-card__error[data-v-ca2f5cfe]{color:var(--color-danger);text-align:center;margin:8px 4px 0;font-size:.75rem}.otp-submit[data-v-ca2f5cfe]{color:#f7f4ef;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;width:100%;height:48px;margin-top:16px;padding:0 44px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.otp-submit[data-v-ca2f5cfe]:not(:disabled):hover,.otp-submit[data-v-ca2f5cfe]:not(:disabled):focus-visible{background:#072a2f}.otp-submit[data-v-ca2f5cfe]:disabled{opacity:.7;cursor:not-allowed}.otp-submit__chevron[data-v-ca2f5cfe]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.otp-submit__spinner[data-v-ca2f5cfe]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite otp-spin-ca2f5cfe;position:absolute;inset-inline-start:16px}.otp-resend[data-v-ca2f5cfe]{color:#6f6b66;cursor:pointer;background:0 0;border:1px solid #d8d3cd;border-radius:999px;width:100%;height:48px;margin-top:10px;font-family:inherit;font-size:.875rem;font-weight:500}.otp-resend[data-v-ca2f5cfe]:disabled{opacity:.7;cursor:not-allowed}.otp-edit[data-v-ca2f5cfe]{color:#8a847c;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:14px;font-family:inherit;font-size:.8125rem;display:flex}.otp-spacer[data-v-ca2f5cfe]{flex:auto;min-height:16px}.otp-watermark[data-v-ca2f5cfe]{color:#f4ede494;letter-spacing:.2em;text-align:left;direction:ltr;margin:0;padding-bottom:8px;font-size:.625rem;font-weight:600;line-height:1.35}@keyframes otp-spin-ca2f5cfe{to{transform:rotate(360deg)}}@media (width>=768px){.otp-page[data-v-ca2f5cfe]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/OtpView-w9hAwgso.css b/dist/assets/OtpView-w9hAwgso.css new file mode 100644 index 0000000..d9f3902 --- /dev/null +++ b/dist/assets/OtpView-w9hAwgso.css @@ -0,0 +1 @@ +.otp-page[data-v-db716981]{isolation:isolate;color:#f4ede4;background:#1a1612;height:100%;min-height:100%;position:relative;overflow:hidden}.otp-page__bg[data-v-db716981]{z-index:0;object-fit:cover;object-position:center center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.otp-page__scroll[data-v-db716981]{z-index:1;overscroll-behavior:contain;height:100%;position:relative;overflow:hidden auto}.otp-page__stage[data-v-db716981]{width:100%;max-width:390px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 16px calc(14px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;margin-inline:auto;display:flex}.otp-top[data-v-db716981]{justify-content:flex-end;align-items:center;min-height:36px;display:flex}.otp-top__back[data-v-db716981]{color:#f3e6d6;cursor:pointer;background:#f4ede424;border:none;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.otp-brand[data-v-db716981]{text-align:center;color:#f3e6d6;flex-direction:column;align-items:center;margin-top:18px;margin-bottom:18px;display:flex}.otp-brand__fa[data-v-db716981]{margin:12px 0 0;font-size:1.625rem;font-weight:700;line-height:1.25}.otp-brand__en[data-v-db716981]{letter-spacing:.28em;color:#ead7c0;margin:6px 0 0;font-size:.6875rem;font-weight:500}.otp-card[data-v-db716981]{color:#2a2622;background:#f4f1ed;border:none;border-radius:28px;width:100%;margin:0;padding:22px 18px 18px;box-shadow:0 18px 40px #0c0a0838}.otp-card__title[data-v-db716981]{text-align:center;color:#1c1b19;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.5}.otp-card__lead[data-v-db716981]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.otp-card[data-v-db716981] .form-error-banner{margin-top:14px;margin-bottom:0}.otp-row[data-v-db716981]{justify-content:center;gap:10px;margin-top:18px;display:flex}.otp-box[data-v-db716981]{color:#1c1b19;text-align:center;width:52px;height:56px;caret-color:var(--color-primary);border:1px solid #e4e0db;border-radius:16px;padding:0;font-family:inherit;font-size:1.25rem;font-weight:700;transition:border-color .15s}.otp-box[data-v-db716981]:focus{border-color:var(--color-primary);outline:none}.otp-box--error[data-v-db716981]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e4e0db)}.otp-card__error[data-v-db716981]{color:var(--color-danger);text-align:center;margin:8px 4px 0;font-size:.75rem}.otp-submit[data-v-db716981]{color:#f7f4ef;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;width:100%;height:48px;margin-top:16px;padding:0 44px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.otp-submit[data-v-db716981]:not(:disabled):hover,.otp-submit[data-v-db716981]:not(:disabled):focus-visible{background:#072a2f}.otp-submit[data-v-db716981]:disabled{opacity:.7;cursor:not-allowed}.otp-submit__chevron[data-v-db716981]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.otp-submit__spinner[data-v-db716981]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite otp-spin-db716981;position:absolute;inset-inline-start:16px}.otp-resend[data-v-db716981]{color:#6f6b66;cursor:pointer;background:0 0;border:1px solid #d8d3cd;border-radius:999px;width:100%;height:48px;margin-top:10px;font-family:inherit;font-size:.875rem;font-weight:500}.otp-resend[data-v-db716981]:disabled{opacity:.7;cursor:not-allowed}.otp-edit[data-v-db716981]{color:#8a847c;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:14px;font-family:inherit;font-size:.8125rem;display:flex}.otp-spacer[data-v-db716981]{flex:auto;min-height:16px}.otp-watermark[data-v-db716981]{color:#f4ede494;letter-spacing:.2em;text-align:left;direction:ltr;margin:0;padding-bottom:8px;font-size:.625rem;font-weight:600;line-height:1.35}@keyframes otp-spin-db716981{to{transform:rotate(360deg)}}@media (width>=768px){.otp-page[data-v-db716981]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/PageHeader-BFnKSFNh.js b/dist/assets/PageHeader-Cd04Z6F_.js similarity index 95% rename from dist/assets/PageHeader-BFnKSFNh.js rename to dist/assets/PageHeader-Cd04Z6F_.js index 0f28756..3808d68 100644 --- a/dist/assets/PageHeader-BFnKSFNh.js +++ b/dist/assets/PageHeader-Cd04Z6F_.js @@ -1 +1 @@ -import{Et as e,N as t,O as n,P as r,Q as i,R as a,Y as o,j as s,n as c,z as l}from"./BasicIcon-C6boaehV.js";import{i as u}from"./index-DzzUgmYT.js";import{t as d}from"./IconChevronBack-DORV2H0q.js";var f={class:`page-nav`},p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={key:1,class:`page-header`},v={class:`header-text`},y={class:`page-title`},b={key:0,class:`page-subtitle`},x={class:`page-header__trailing`},S=c(l({__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(c){return(l,S)=>c.centered?(o(),r(n,{key:0},[s(`header`,f,[c.showBack?(o(),r(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:S[0]||=e=>l.$emit(`back`)},[a(d,{size:20})])):(o(),r(`span`,p)),s(`h1`,m,e(c.title),1),s(`div`,h,[i(l.$slots,`trailing`,{},void 0,!0),a(u,{variant:`inline`,class:`mobile-only`})])]),c.subtitle?(o(),r(`p`,g,e(c.subtitle),1)):t(``,!0)],64)):(o(),r(`header`,_,[c.showBack?(o(),r(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:S[1]||=e=>l.$emit(`back`)},[a(d,{size:20})])):t(``,!0),s(`div`,v,[s(`h1`,y,e(c.title),1),c.subtitle?(o(),r(`p`,b,e(c.subtitle),1)):t(``,!0)]),s(`div`,x,[i(l.$slots,`trailing`,{},void 0,!0),a(u,{variant:`inline`,class:`mobile-only`})])]))}}),[[`__scopeId`,`data-v-dd86426f`]]);export{S as t}; \ No newline at end of file +import{Et as e,N as t,O as n,P as r,Q as i,R as a,Y as o,j as s,n as c,z as l}from"./BasicIcon-C6boaehV.js";import{i as u}from"./index-fdhs4HNc.js";import{t as d}from"./IconChevronBack-DORV2H0q.js";var f={class:`page-nav`},p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={key:1,class:`page-header`},v={class:`header-text`},y={class:`page-title`},b={key:0,class:`page-subtitle`},x={class:`page-header__trailing`},S=c(l({__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(c){return(l,S)=>c.centered?(o(),r(n,{key:0},[s(`header`,f,[c.showBack?(o(),r(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:S[0]||=e=>l.$emit(`back`)},[a(d,{size:20})])):(o(),r(`span`,p)),s(`h1`,m,e(c.title),1),s(`div`,h,[i(l.$slots,`trailing`,{},void 0,!0),a(u,{variant:`inline`,class:`mobile-only`})])]),c.subtitle?(o(),r(`p`,g,e(c.subtitle),1)):t(``,!0)],64)):(o(),r(`header`,_,[c.showBack?(o(),r(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:S[1]||=e=>l.$emit(`back`)},[a(d,{size:20})])):t(``,!0),s(`div`,v,[s(`h1`,y,e(c.title),1),c.subtitle?(o(),r(`p`,b,e(c.subtitle),1)):t(``,!0)]),s(`div`,x,[i(l.$slots,`trailing`,{},void 0,!0),a(u,{variant:`inline`,class:`mobile-only`})])]))}}),[[`__scopeId`,`data-v-dd86426f`]]);export{S as t}; \ No newline at end of file diff --git a/dist/assets/PageSkeleton-BAjL8n2H.css b/dist/assets/PageSkeleton-BAjL8n2H.css deleted file mode 100644 index f896d36..0000000 --- a/dist/assets/PageSkeleton-BAjL8n2H.css +++ /dev/null @@ -1 +0,0 @@ -.sk[data-v-eee3758f]{background:linear-gradient(90deg, color-mix(in srgb, var(--color-border) 55%, var(--color-surface)) 0%, color-mix(in srgb, var(--color-border) 85%, var(--color-elevated,var(--color-surface))) 45%, color-mix(in srgb, var(--color-border) 55%, var(--color-surface)) 100%);background-size:220% 100%;flex-shrink:0;animation:1.35s ease-in-out infinite sk-shimmer-eee3758f;display:block}.sk--circle[data-v-eee3758f]{border-radius:50%}@keyframes sk-shimmer-eee3758f{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.sk[data-v-eee3758f]{background:var(--color-border);animation:none}}.page-skeleton[data-v-d4bc3a38]{flex-direction:column;gap:14px;width:100%;padding:4px 0 24px;display:flex}.page-skeleton__banner[data-v-d4bc3a38],.page-skeleton__panel[data-v-d4bc3a38],.page-skeleton__detail-body[data-v-d4bc3a38],.page-skeleton__form[data-v-d4bc3a38]{flex-direction:column;gap:12px;display:flex}.page-skeleton__quick[data-v-d4bc3a38]{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.page-skeleton__quick-item[data-v-d4bc3a38]{flex-direction:column;align-items:center;gap:8px;display:flex}.page-skeleton__grid[data-v-d4bc3a38]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.page-skeleton__card[data-v-d4bc3a38]{flex-direction:column;gap:8px;display:flex}.page-skeleton__chips[data-v-d4bc3a38]{flex-wrap:wrap;gap:8px;display:flex}.page-skeleton__profile-hero[data-v-d4bc3a38]{flex-direction:column;align-items:center;gap:10px;padding:20px 0 8px;display:flex}.page-skeleton__panel[data-v-d4bc3a38]{background:var(--color-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;display:grid}.page-skeleton__stat[data-v-d4bc3a38]{flex-direction:column;gap:8px;display:flex}.page-skeleton__list[data-v-d4bc3a38]{flex-direction:column;gap:10px;display:flex}.page-skeleton__row[data-v-d4bc3a38]{align-items:center;gap:12px;display:flex}.page-skeleton__row--card[data-v-d4bc3a38]{background:var(--color-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px}.page-skeleton__row-text[data-v-d4bc3a38]{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.page-skeleton__detail-body[data-v-d4bc3a38]{padding:16px}.page-skeleton__field[data-v-d4bc3a38]{flex-direction:column;gap:8px;display:flex}@media (width>=768px){.page-skeleton__grid[data-v-d4bc3a38]{grid-template-columns:repeat(3,minmax(0,1fr))}} diff --git a/dist/assets/PageSkeleton-CaQ4bDKV.css b/dist/assets/PageSkeleton-CaQ4bDKV.css new file mode 100644 index 0000000..5ddd5c0 --- /dev/null +++ b/dist/assets/PageSkeleton-CaQ4bDKV.css @@ -0,0 +1 @@ +.sk[data-v-eee3758f]{background:linear-gradient(90deg, color-mix(in srgb, var(--color-border) 55%, var(--color-surface)) 0%, color-mix(in srgb, var(--color-border) 85%, var(--color-elevated,var(--color-surface))) 45%, color-mix(in srgb, var(--color-border) 55%, var(--color-surface)) 100%);background-size:220% 100%;flex-shrink:0;animation:1.35s ease-in-out infinite sk-shimmer-eee3758f;display:block}.sk--circle[data-v-eee3758f]{border-radius:50%}@keyframes sk-shimmer-eee3758f{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.sk[data-v-eee3758f]{background:var(--color-border);animation:none}}.page-skeleton[data-v-d3e1c988]{flex-direction:column;gap:14px;width:100%;padding:4px 0 24px;display:flex}.page-skeleton__hero[data-v-d3e1c988],.page-skeleton__panel[data-v-d3e1c988],.page-skeleton__detail-body[data-v-d3e1c988],.page-skeleton__form[data-v-d3e1c988]{flex-direction:column;gap:12px;display:flex}.page-skeleton__hero[data-v-d3e1c988],.page-skeleton__hero-block[data-v-d3e1c988]{width:100%}.page-skeleton__level[data-v-d3e1c988]{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:0 0;flex-direction:column;gap:12px;padding:16px;display:flex}.page-skeleton__level-top[data-v-d3e1c988]{align-items:center;gap:12px;display:flex}.page-skeleton__level-text[data-v-d3e1c988]{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.page-skeleton__products[data-v-d3e1c988]{flex-direction:column;gap:12px;min-width:0;display:flex}.page-skeleton__section-head[data-v-d3e1c988]{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-skeleton__quick[data-v-d3e1c988]{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.page-skeleton__quick-item[data-v-d3e1c988]{flex-direction:column;align-items:center;gap:8px;display:flex}.page-skeleton__grid[data-v-d3e1c988]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.page-skeleton__card[data-v-d3e1c988]{flex-direction:column;gap:8px;display:flex}.page-skeleton__chips[data-v-d3e1c988]{flex-wrap:wrap;gap:8px;display:flex}.page-skeleton__profile-hero[data-v-d3e1c988]{flex-direction:column;align-items:center;gap:10px;padding:20px 0 8px;display:flex}.page-skeleton__panel[data-v-d3e1c988]{background:var(--color-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;display:grid}.page-skeleton__stat[data-v-d3e1c988]{flex-direction:column;gap:8px;display:flex}.page-skeleton__list[data-v-d3e1c988]{flex-direction:column;gap:10px;display:flex}.page-skeleton__row[data-v-d3e1c988]{align-items:center;gap:12px;display:flex}.page-skeleton__row--card[data-v-d3e1c988]{background:var(--color-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px}.page-skeleton__row-text[data-v-d3e1c988]{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.page-skeleton__detail-body[data-v-d3e1c988]{padding:16px}.page-skeleton__field[data-v-d3e1c988]{flex-direction:column;gap:8px;display:flex}@media (width>=768px){.page-skeleton[data-v-d3e1c988]{padding:8px 0 28px}.page-skeleton--home[data-v-d3e1c988]{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"hero hero level""quick quick quick""products products products";gap:18px 20px;width:100%;min-width:0;display:grid}.page-skeleton__hero[data-v-d3e1c988]{aspect-ratio:2.1;grid-area:hero;min-height:0}.page-skeleton__hero-block[data-v-d3e1c988]{border-radius:20px!important;height:100%!important}.page-skeleton__quick[data-v-d3e1c988]{grid-area:quick;gap:14px}.page-skeleton__quick-item[data-v-d3e1c988]{border:1px solid var(--color-border);border-radius:16px;justify-content:center;min-height:96px;padding:12px 8px}.page-skeleton__level[data-v-d3e1c988]{grid-area:level;justify-content:center;align-self:stretch;padding:20px 22px}.page-skeleton__products[data-v-d3e1c988]{grid-area:products}.page-skeleton__grid[data-v-d3e1c988]{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.page-skeleton__product-image[data-v-d3e1c988]{height:160px!important}.page-skeleton__profile-hero[data-v-d3e1c988]{align-items:flex-start;padding:0 0 8px}.page-skeleton__panel[data-v-d3e1c988]{grid-template-columns:repeat(4,minmax(0,1fr))}.page-skeleton__list[data-v-d3e1c988]{gap:12px}.page-skeleton__row--card[data-v-d3e1c988]{padding:14px 16px}} diff --git a/dist/assets/PageSkeleton-sKuEY4NI.js b/dist/assets/PageSkeleton-sKuEY4NI.js new file mode 100644 index 0000000..85a768e --- /dev/null +++ b/dist/assets/PageSkeleton-sKuEY4NI.js @@ -0,0 +1 @@ +import{Ct as e,O as t,P as n,R as r,Tt as i,Y as a,Z as o,j as s,n as c,z as l}from"./BasicIcon-C6boaehV.js";var u=c(l({__name:`SkeletonBlock`,props:{width:{default:`100%`},height:{default:`14px`},radius:{default:`8px`},circle:{type:Boolean,default:!1}},setup(t){return(r,o)=>(a(),n(`span`,{class:e([`sk`,{"sk--circle":t.circle}]),style:i({width:t.width,height:t.height,borderRadius:t.circle?`50%`:t.radius}),"aria-hidden":`true`},null,6))}}),[[`__scopeId`,`data-v-eee3758f`]]),d={class:`page-skeleton__hero`},f={class:`page-skeleton__quick`},p={class:`page-skeleton__level`},m={class:`page-skeleton__level-top`},h={class:`page-skeleton__level-text`},g={class:`page-skeleton__products`},_={class:`page-skeleton__section-head`},v={class:`page-skeleton__grid page-skeleton__product-grid`},y={class:`page-skeleton__profile-hero`},b={class:`page-skeleton__panel`},x={class:`page-skeleton__list`},S={class:`page-skeleton__row-text`},C={class:`page-skeleton__detail-body`},w={class:`page-skeleton__chips`},T={class:`page-skeleton__grid`},E={key:4,class:`page-skeleton__form`},D={key:5,class:`page-skeleton__list`},O={class:`page-skeleton__row-text`},k=c(l({__name:`PageSkeleton`,props:{variant:{default:`list`},rows:{default:4}},setup(i){return(c,l)=>(a(),n(`div`,{class:e([`page-skeleton`,{"page-skeleton--home":i.variant===`home`}]),role:`status`,"aria-live":`polite`,"aria-busy":`true`,"aria-label":`در حال بارگذاری`},[i.variant===`home`?(a(),n(t,{key:0},[s(`div`,d,[r(u,{class:`page-skeleton__hero-block`,height:`148px`,radius:`16px`})]),s(`div`,f,[(a(),n(t,null,o(4,e=>s(`div`,{key:`q-${e}`,class:`page-skeleton__quick-item`},[r(u,{circle:``,width:`48px`,height:`48px`}),r(u,{width:`72%`,height:`10px`})])),64))]),s(`div`,p,[s(`div`,m,[r(u,{circle:``,width:`48px`,height:`48px`}),s(`div`,h,[r(u,{width:`56px`,height:`10px`}),r(u,{width:`88px`,height:`16px`}),r(u,{width:`104px`,height:`10px`})])]),r(u,{height:`8px`,radius:`999px`}),r(u,{width:`62%`,height:`10px`})]),s(`div`,g,[s(`div`,_,[r(u,{width:`132px`,height:`16px`}),r(u,{width:`72px`,height:`12px`})]),s(`div`,v,[(a(),n(t,null,o(6,e=>s(`div`,{key:`g-${e}`,class:`page-skeleton__card`},[r(u,{class:`page-skeleton__product-image`,height:`110px`,radius:`12px`}),r(u,{width:`82%`,height:`12px`}),r(u,{width:`54%`,height:`10px`})])),64))])])],64)):i.variant===`profile`?(a(),n(t,{key:1},[s(`div`,y,[r(u,{circle:``,width:`72px`,height:`72px`}),r(u,{width:`45%`,height:`18px`}),r(u,{width:`30%`,height:`12px`})]),s(`div`,b,[(a(),n(t,null,o(4,e=>s(`div`,{key:`s-${e}`,class:`page-skeleton__stat`},[r(u,{width:`50%`,height:`10px`}),r(u,{width:`70%`,height:`18px`})])),64))]),s(`div`,x,[(a(),n(t,null,o(5,e=>s(`div`,{key:`m-${e}`,class:`page-skeleton__row`},[r(u,{circle:``,width:`36px`,height:`36px`}),s(`div`,S,[r(u,{width:`55%`,height:`12px`}),r(u,{width:`35%`,height:`10px`})])])),64))])],64)):i.variant===`detail`?(a(),n(t,{key:2},[r(u,{height:`220px`,radius:`0`}),s(`div`,C,[r(u,{width:`70%`,height:`20px`}),r(u,{width:`40%`,height:`12px`}),r(u,{height:`72px`,radius:`12px`}),r(u,{width:`100%`,height:`12px`}),r(u,{width:`92%`,height:`12px`}),r(u,{width:`85%`,height:`12px`}),r(u,{height:`48px`,radius:`12px`})])],64)):i.variant===`grid`||i.variant===`cards`?(a(),n(t,{key:3},[r(u,{width:`55%`,height:`16px`}),s(`div`,w,[(a(),n(t,null,o(4,e=>r(u,{key:`c-${e}`,width:`72px`,height:`32px`,radius:`999px`})),64))]),s(`div`,T,[(a(!0),n(t,null,o(i.rows,e=>(a(),n(`div`,{key:`card-${e}`,class:`page-skeleton__card`},[r(u,{height:`120px`,radius:`12px`}),r(u,{width:`85%`,height:`12px`}),r(u,{width:`55%`,height:`10px`})]))),128))])],64)):i.variant===`form`?(a(),n(`div`,E,[(a(!0),n(t,null,o(i.rows,e=>(a(),n(`div`,{key:`f-${e}`,class:`page-skeleton__field`},[r(u,{width:`30%`,height:`10px`}),r(u,{height:`44px`,radius:`10px`})]))),128)),r(u,{height:`48px`,radius:`12px`})])):(a(),n(`div`,D,[(a(!0),n(t,null,o(i.rows,e=>(a(),n(`div`,{key:`r-${e}`,class:`page-skeleton__row page-skeleton__row--card`},[r(u,{circle:``,width:`40px`,height:`40px`}),s(`div`,O,[r(u,{width:`62%`,height:`13px`}),r(u,{width:`42%`,height:`10px`}),r(u,{width:`28%`,height:`10px`})])]))),128))]))],2))}}),[[`__scopeId`,`data-v-d3e1c988`]]);export{k as t}; \ No newline at end of file diff --git a/dist/assets/PageSkeleton-uO-jhbNm.js b/dist/assets/PageSkeleton-uO-jhbNm.js deleted file mode 100644 index bd8ac03..0000000 --- a/dist/assets/PageSkeleton-uO-jhbNm.js +++ /dev/null @@ -1 +0,0 @@ -import{Ct as e,O as t,P as n,R as r,Tt as i,Y as a,Z as o,j as s,n as c,z as l}from"./BasicIcon-C6boaehV.js";var u=c(l({__name:`SkeletonBlock`,props:{width:{default:`100%`},height:{default:`14px`},radius:{default:`8px`},circle:{type:Boolean,default:!1}},setup(t){return(r,o)=>(a(),n(`span`,{class:e([`sk`,{"sk--circle":t.circle}]),style:i({width:t.width,height:t.height,borderRadius:t.circle?`50%`:t.radius}),"aria-hidden":`true`},null,6))}}),[[`__scopeId`,`data-v-eee3758f`]]),d={class:`page-skeleton`,role:`status`,"aria-live":`polite`,"aria-busy":`true`,"aria-label":`در حال بارگذاری`},f={class:`page-skeleton__banner`},p={class:`page-skeleton__quick`},m={class:`page-skeleton__grid`},h={class:`page-skeleton__profile-hero`},g={class:`page-skeleton__panel`},_={class:`page-skeleton__list`},v={class:`page-skeleton__row-text`},y={class:`page-skeleton__detail-body`},b={class:`page-skeleton__chips`},x={class:`page-skeleton__grid`},S={key:4,class:`page-skeleton__form`},C={key:5,class:`page-skeleton__list`},w={class:`page-skeleton__row-text`},T=c(l({__name:`PageSkeleton`,props:{variant:{default:`list`},rows:{default:4}},setup(e){return(i,c)=>(a(),n(`div`,d,[e.variant===`home`?(a(),n(t,{key:0},[s(`div`,f,[r(u,{height:`148px`,radius:`16px`})]),s(`div`,p,[(a(),n(t,null,o(4,e=>s(`div`,{key:`q-${e}`,class:`page-skeleton__quick-item`},[r(u,{circle:``,width:`48px`,height:`48px`}),r(u,{width:`64%`,height:`10px`})])),64))]),r(u,{width:`40%`,height:`16px`}),s(`div`,m,[(a(),n(t,null,o(4,e=>s(`div`,{key:`g-${e}`,class:`page-skeleton__card`},[r(u,{height:`110px`,radius:`12px`}),r(u,{width:`80%`,height:`12px`}),r(u,{width:`50%`,height:`10px`})])),64))])],64)):e.variant===`profile`?(a(),n(t,{key:1},[s(`div`,h,[r(u,{circle:``,width:`72px`,height:`72px`}),r(u,{width:`45%`,height:`18px`}),r(u,{width:`30%`,height:`12px`})]),s(`div`,g,[(a(),n(t,null,o(4,e=>s(`div`,{key:`s-${e}`,class:`page-skeleton__stat`},[r(u,{width:`50%`,height:`10px`}),r(u,{width:`70%`,height:`18px`})])),64))]),s(`div`,_,[(a(),n(t,null,o(5,e=>s(`div`,{key:`m-${e}`,class:`page-skeleton__row`},[r(u,{circle:``,width:`36px`,height:`36px`}),s(`div`,v,[r(u,{width:`55%`,height:`12px`}),r(u,{width:`35%`,height:`10px`})])])),64))])],64)):e.variant===`detail`?(a(),n(t,{key:2},[r(u,{height:`220px`,radius:`0`}),s(`div`,y,[r(u,{width:`70%`,height:`20px`}),r(u,{width:`40%`,height:`12px`}),r(u,{height:`72px`,radius:`12px`}),r(u,{width:`100%`,height:`12px`}),r(u,{width:`92%`,height:`12px`}),r(u,{width:`85%`,height:`12px`}),r(u,{height:`48px`,radius:`12px`})])],64)):e.variant===`grid`||e.variant===`cards`?(a(),n(t,{key:3},[r(u,{width:`55%`,height:`16px`}),s(`div`,b,[(a(),n(t,null,o(4,e=>r(u,{key:`c-${e}`,width:`72px`,height:`32px`,radius:`999px`})),64))]),s(`div`,x,[(a(!0),n(t,null,o(e.rows,e=>(a(),n(`div`,{key:`card-${e}`,class:`page-skeleton__card`},[r(u,{height:`120px`,radius:`12px`}),r(u,{width:`85%`,height:`12px`}),r(u,{width:`55%`,height:`10px`})]))),128))])],64)):e.variant===`form`?(a(),n(`div`,S,[(a(!0),n(t,null,o(e.rows,e=>(a(),n(`div`,{key:`f-${e}`,class:`page-skeleton__field`},[r(u,{width:`30%`,height:`10px`}),r(u,{height:`44px`,radius:`10px`})]))),128)),r(u,{height:`48px`,radius:`12px`})])):(a(),n(`div`,C,[(a(!0),n(t,null,o(e.rows,e=>(a(),n(`div`,{key:`r-${e}`,class:`page-skeleton__row page-skeleton__row--card`},[r(u,{circle:``,width:`40px`,height:`40px`}),s(`div`,w,[r(u,{width:`62%`,height:`13px`}),r(u,{width:`42%`,height:`10px`}),r(u,{width:`28%`,height:`10px`})])]))),128))]))]))}}),[[`__scopeId`,`data-v-d4bc3a38`]]);export{T as t}; \ No newline at end of file diff --git a/dist/assets/PersianDateInput-2Yt1srLL.js b/dist/assets/PersianDateInput-2Yt1srLL.js new file mode 100644 index 0000000..f56cbad --- /dev/null +++ b/dist/assets/PersianDateInput-2Yt1srLL.js @@ -0,0 +1 @@ +import{A as e,Ct as t,D as n,Et as r,K as i,N as a,O as o,P as s,St as c,Y as l,Z as u,j as d,mt as f,n as p,q as m,tt as h,z as g}from"./BasicIcon-C6boaehV.js";import{d as _,f as v,g as y,h as b,m as x,p as S,u as C,y as w}from"./format-BHJptHdF.js";var T={key:0,class:`form-label`},E=[`disabled`],D={class:`persian-date-input__header`},O={class:`persian-date-input__month`},k={class:`persian-date-input__weekdays`},A={class:`persian-date-input__grid`},j={key:0,class:`persian-date-input__cell persian-date-input__cell--empty`},M=[`onClick`],N={key:2,class:`input-error-text`},P={key:3,class:`form-hint`},F=p(g({__name:`PersianDateInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(p,{emit:g}){let F=p,I=g,L=f(null),R=f(!1),z=f(w().jy),B=f(w().jm),V=e(()=>b(F.modelValue??``)),H=e(()=>{if(!V.value)return``;let{jy:e,jm:t,jd:n}=V.value;return x(e,t,n)}),U=e(()=>S(z.value,B.value)),W=e(()=>`${_[B.value-1]} ${C(String(z.value))}`);h(()=>F.modelValue,e=>{let t=b(e??``);t&&(z.value=t.jy,B.value=t.jm)},{immediate:!0});function G(){F.disabled||(R.value=!R.value)}function K(){R.value=!1}function q(e){I(`update:modelValue`,y(z.value,B.value,e)),K()}function J(e){let t=B.value+e,n=z.value;t>12?(t=1,n+=1):t<1&&(t=12,--n),B.value=t,z.value=n}function Y(){let e=w();z.value=e.jy,B.value=e.jm,I(`update:modelValue`,y(e.jy,e.jm,e.jd)),K()}function X(e){if(!V.value)return!1;let{jy:t,jm:n,jd:r}=V.value;return t===z.value&&n===B.value&&r===e}function Z(e){let t=w();return t.jy===z.value&&t.jm===B.value&&t.jd===e}function Q(e){L.value?.contains(e.target)||K()}return m(()=>{document.addEventListener(`click`,Q)}),i(()=>{document.removeEventListener(`click`,Q)}),(e,i)=>(l(),s(`div`,{ref_key:`rootRef`,ref:L,class:`form-group persian-date-input`},[p.label?(l(),s(`label`,T,r(p.label),1)):a(``,!0),d(`button`,{type:`button`,class:t([`input persian-date-input__trigger`,{"input-error":p.error,"is-open":R.value}]),disabled:p.disabled,onClick:n(G,[`stop`])},[d(`span`,{class:t({"persian-date-input__placeholder":!H.value})},r(H.value||p.placeholder||`انتخاب تاریخ`),3),i[3]||=d(`span`,{class:`persian-date-input__icon`,"aria-hidden":`true`},[d(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`},[d(`rect`,{x:`3`,y:`5`,width:`18`,height:`16`,rx:`2`,stroke:`currentColor`,"stroke-width":`1.5`}),d(`path`,{d:`M8 3v4M16 3v4M3 10h18`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})])],-1)],10,E),R.value?(l(),s(`div`,{key:1,class:`persian-date-input__panel`,onClick:i[2]||=n(()=>{},[`stop`])},[d(`div`,D,[d(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:i[0]||=e=>J(-1)},`‹`),d(`strong`,O,r(W.value),1),d(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:i[1]||=e=>J(1)},`›`)]),d(`div`,k,[(l(!0),s(o,null,u(c(v),e=>(l(),s(`span`,{key:e},r(e),1))),128))]),d(`div`,A,[(l(!0),s(o,null,u(U.value,(e,n)=>(l(),s(o,{key:n},[e===null?(l(),s(`span`,j)):(l(),s(`button`,{key:1,type:`button`,class:t([`persian-date-input__cell`,{"persian-date-input__cell--selected":X(e),"persian-date-input__cell--today":Z(e)}]),onClick:t=>q(e)},r(c(C)(String(e))),11,M))],64))),128))]),d(`button`,{type:`button`,class:`persian-date-input__today`,onClick:Y},`امروز`)])):a(``,!0),p.error?(l(),s(`p`,N,r(p.error),1)):p.hint?(l(),s(`p`,P,r(p.hint),1)):a(``,!0)],512))}}),[[`__scopeId`,`data-v-f02e5adc`]]);export{F as t}; \ No newline at end of file diff --git a/dist/assets/PersianDateInput-5iA_raeL.js b/dist/assets/PersianDateInput-5iA_raeL.js deleted file mode 100644 index a81e0b1..0000000 --- a/dist/assets/PersianDateInput-5iA_raeL.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,Ct as t,D as n,Et as r,K as i,N as a,O as o,P as s,St as c,Y as l,Z as u,j as d,mt as f,n as p,q as m,tt as h,z as g}from"./BasicIcon-C6boaehV.js";import{d as _,f as v,g as y,h as b,m as x,o as S,p as C,t as w,u as T,y as E}from"./format-BHJptHdF.js";var D={class:`form-group`},O={key:0,class:`form-label`},k=[`value`,`placeholder`,`disabled`],A={key:1,class:`input-error-text`},j={key:2,class:`form-hint`},M=p(g({__name:`CurrencyInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:n}){let i=e,o=n,c=f(``);h(()=>i.modelValue,e=>{let t=w(e??``);c.value=t?S(Number(t)):``},{immediate:!0});function u(e){let t=e.target,n=w(t.value);c.value=n?S(Number(n)):``,o(`update:modelValue`,n)}return(n,i)=>(l(),s(`div`,D,[e.label?(l(),s(`label`,O,r(e.label),1)):a(``,!0),d(`input`,{class:t([`input`,{"input-error":e.error}]),type:`text`,inputmode:`numeric`,dir:`ltr`,value:c.value,placeholder:e.placeholder,disabled:e.disabled,onInput:u},null,42,k),e.error?(l(),s(`p`,A,r(e.error),1)):e.hint?(l(),s(`p`,j,r(e.hint),1)):a(``,!0)]))}}),[[`__scopeId`,`data-v-4691da38`]]),N={key:0,class:`form-label`},P=[`disabled`],F={class:`persian-date-input__header`},I={class:`persian-date-input__month`},L={class:`persian-date-input__weekdays`},R={class:`persian-date-input__grid`},z={key:0,class:`persian-date-input__cell persian-date-input__cell--empty`},B=[`onClick`],V={key:2,class:`input-error-text`},H={key:3,class:`form-hint`},U=p(g({__name:`PersianDateInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(p,{emit:g}){let S=p,w=g,D=f(null),O=f(!1),k=f(E().jy),A=f(E().jm),j=e(()=>b(S.modelValue??``)),M=e(()=>{if(!j.value)return``;let{jy:e,jm:t,jd:n}=j.value;return x(e,t,n)}),U=e(()=>C(k.value,A.value)),W=e(()=>`${_[A.value-1]} ${T(String(k.value))}`);h(()=>S.modelValue,e=>{let t=b(e??``);t&&(k.value=t.jy,A.value=t.jm)},{immediate:!0});function G(){S.disabled||(O.value=!O.value)}function K(){O.value=!1}function q(e){w(`update:modelValue`,y(k.value,A.value,e)),K()}function J(e){let t=A.value+e,n=k.value;t>12?(t=1,n+=1):t<1&&(t=12,--n),A.value=t,k.value=n}function Y(){let e=E();k.value=e.jy,A.value=e.jm,w(`update:modelValue`,y(e.jy,e.jm,e.jd)),K()}function X(e){if(!j.value)return!1;let{jy:t,jm:n,jd:r}=j.value;return t===k.value&&n===A.value&&r===e}function Z(e){let t=E();return t.jy===k.value&&t.jm===A.value&&t.jd===e}function Q(e){D.value?.contains(e.target)||K()}return m(()=>{document.addEventListener(`click`,Q)}),i(()=>{document.removeEventListener(`click`,Q)}),(e,i)=>(l(),s(`div`,{ref_key:`rootRef`,ref:D,class:`form-group persian-date-input`},[p.label?(l(),s(`label`,N,r(p.label),1)):a(``,!0),d(`button`,{type:`button`,class:t([`input persian-date-input__trigger`,{"input-error":p.error,"is-open":O.value}]),disabled:p.disabled,onClick:n(G,[`stop`])},[d(`span`,{class:t({"persian-date-input__placeholder":!M.value})},r(M.value||p.placeholder||`انتخاب تاریخ`),3),i[3]||=d(`span`,{class:`persian-date-input__icon`,"aria-hidden":`true`},[d(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`},[d(`rect`,{x:`3`,y:`5`,width:`18`,height:`16`,rx:`2`,stroke:`currentColor`,"stroke-width":`1.5`}),d(`path`,{d:`M8 3v4M16 3v4M3 10h18`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})])],-1)],10,P),O.value?(l(),s(`div`,{key:1,class:`persian-date-input__panel`,onClick:i[2]||=n(()=>{},[`stop`])},[d(`div`,F,[d(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:i[0]||=e=>J(-1)},`‹`),d(`strong`,I,r(W.value),1),d(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:i[1]||=e=>J(1)},`›`)]),d(`div`,L,[(l(!0),s(o,null,u(c(v),e=>(l(),s(`span`,{key:e},r(e),1))),128))]),d(`div`,R,[(l(!0),s(o,null,u(U.value,(e,n)=>(l(),s(o,{key:n},[e===null?(l(),s(`span`,z)):(l(),s(`button`,{key:1,type:`button`,class:t([`persian-date-input__cell`,{"persian-date-input__cell--selected":X(e),"persian-date-input__cell--today":Z(e)}]),onClick:t=>q(e)},r(c(T)(String(e))),11,B))],64))),128))]),d(`button`,{type:`button`,class:`persian-date-input__today`,onClick:Y},`امروز`)])):a(``,!0),p.error?(l(),s(`p`,V,r(p.error),1)):p.hint?(l(),s(`p`,H,r(p.hint),1)):a(``,!0)],512))}}),[[`__scopeId`,`data-v-69b2c009`]]);export{M as n,U as t}; \ No newline at end of file diff --git a/dist/assets/PersianDateInput-CQDjJN3F.css b/dist/assets/PersianDateInput-CQDjJN3F.css new file mode 100644 index 0000000..af34551 --- /dev/null +++ b/dist/assets/PersianDateInput-CQDjJN3F.css @@ -0,0 +1 @@ +.persian-date-input[data-v-f02e5adc]{position:relative}.input[data-v-f02e5adc]{width:100%;height:var(--btn-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:0 14px;font-size:.9375rem;transition:border-color .15s}.persian-date-input__trigger[data-v-f02e5adc]{cursor:pointer;text-align:right;justify-content:space-between;align-items:center;gap:8px;display:flex}.persian-date-input__trigger[data-v-f02e5adc]:focus{border-color:var(--color-primary);outline:none}.persian-date-input__trigger.is-open[data-v-f02e5adc],.persian-date-input__trigger[data-v-f02e5adc]:focus-visible{border-color:var(--color-primary)}.persian-date-input__trigger[data-v-f02e5adc]:disabled{opacity:.6;cursor:not-allowed}.persian-date-input__placeholder[data-v-f02e5adc]{color:var(--color-text-muted)}.persian-date-input__icon[data-v-f02e5adc]{color:var(--color-text-muted);align-items:center;display:flex}.input-error[data-v-f02e5adc]{border-color:var(--color-danger)}.input-error-text[data-v-f02e5adc]{color:var(--color-danger);margin:4px 0 0;font-size:.8125rem}.persian-date-input__panel[data-v-f02e5adc]{z-index:120;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);padding:12px;position:absolute;top:calc(100% + 6px);left:0;right:0}.persian-date-input__header[data-v-f02e5adc]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.persian-date-input__month[data-v-f02e5adc]{font-size:.9375rem;font-weight:700}.persian-date-input__nav[data-v-f02e5adc]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-elevated);width:32px;height:32px;color:var(--color-text);cursor:pointer;font-size:1.125rem;line-height:1}.persian-date-input__weekdays[data-v-f02e5adc],.persian-date-input__grid[data-v-f02e5adc]{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.persian-date-input__weekdays[data-v-f02e5adc]{color:var(--color-text-muted);text-align:center;margin-bottom:6px;font-size:.75rem}.persian-date-input__cell[data-v-f02e5adc]{border-radius:var(--radius-sm);height:34px;color:var(--color-text);cursor:pointer;background:0 0;border:none;font-size:.8125rem}.persian-date-input__cell--empty[data-v-f02e5adc]{cursor:default}.persian-date-input__cell--today[data-v-f02e5adc]{border:1px solid var(--color-primary)}.persian-date-input__cell--selected[data-v-f02e5adc]{background:var(--color-primary);color:var(--color-on-primary,#fff)}.persian-date-input__today[data-v-f02e5adc]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-elevated);width:100%;color:var(--color-primary);cursor:pointer;margin-top:10px;padding:8px 12px;font-size:.8125rem;font-weight:600;transition:background .15s,border-color .15s}.persian-date-input__today[data-v-f02e5adc]:hover{background:var(--color-primary-soft);border-color:var(--color-primary)} diff --git a/dist/assets/PersianDateInput-MG7uK7zm.css b/dist/assets/PersianDateInput-MG7uK7zm.css deleted file mode 100644 index 50af575..0000000 --- a/dist/assets/PersianDateInput-MG7uK7zm.css +++ /dev/null @@ -1 +0,0 @@ -.input[data-v-4691da38]{width:100%;height:var(--btn-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-align:right;padding:0 14px;font-size:.9375rem;transition:border-color .15s}.input[data-v-4691da38]:focus{border-color:var(--color-primary);outline:none}.input-error[data-v-4691da38]{border-color:var(--color-danger)}.input-error-text[data-v-4691da38]{color:var(--color-danger);margin:4px 0 0;font-size:.8125rem}.persian-date-input[data-v-69b2c009]{position:relative}.input[data-v-69b2c009]{width:100%;height:var(--btn-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:0 14px;font-size:.9375rem;transition:border-color .15s}.persian-date-input__trigger[data-v-69b2c009]{cursor:pointer;text-align:right;justify-content:space-between;align-items:center;gap:8px;display:flex}.persian-date-input__trigger[data-v-69b2c009]:focus{border-color:var(--color-primary);outline:none}.persian-date-input__trigger.is-open[data-v-69b2c009],.persian-date-input__trigger[data-v-69b2c009]:focus-visible{border-color:var(--color-primary)}.persian-date-input__trigger[data-v-69b2c009]:disabled{opacity:.6;cursor:not-allowed}.persian-date-input__placeholder[data-v-69b2c009]{color:var(--color-text-muted)}.persian-date-input__icon[data-v-69b2c009]{color:var(--color-text-muted);align-items:center;display:flex}.input-error[data-v-69b2c009]{border-color:var(--color-danger)}.input-error-text[data-v-69b2c009]{color:var(--color-danger);margin:4px 0 0;font-size:.8125rem}.persian-date-input__panel[data-v-69b2c009]{z-index:120;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);padding:12px;position:absolute;top:calc(100% + 6px);left:0;right:0}.persian-date-input__header[data-v-69b2c009]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.persian-date-input__month[data-v-69b2c009]{font-size:.9375rem;font-weight:700}.persian-date-input__nav[data-v-69b2c009]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-elevated);width:32px;height:32px;color:var(--color-text);cursor:pointer;font-size:1.125rem;line-height:1}.persian-date-input__weekdays[data-v-69b2c009],.persian-date-input__grid[data-v-69b2c009]{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.persian-date-input__weekdays[data-v-69b2c009]{color:var(--color-text-muted);text-align:center;margin-bottom:6px;font-size:.75rem}.persian-date-input__cell[data-v-69b2c009]{border-radius:var(--radius-sm);height:34px;color:var(--color-text);cursor:pointer;background:0 0;border:none;font-size:.8125rem}.persian-date-input__cell--empty[data-v-69b2c009]{cursor:default}.persian-date-input__cell--today[data-v-69b2c009]{border:1px solid var(--color-primary)}.persian-date-input__cell--selected[data-v-69b2c009]{background:var(--color-primary);color:var(--color-on-primary,#fff)}.persian-date-input__today[data-v-69b2c009]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-elevated);width:100%;color:var(--color-primary);cursor:pointer;margin-top:10px;padding:8px 12px;font-size:.8125rem;font-weight:600;transition:background .15s,border-color .15s}.persian-date-input__today[data-v-69b2c009]:hover{background:var(--color-primary-soft);border-color:var(--color-primary)} diff --git a/dist/assets/ProductDetailView-BUGwmJWw.js b/dist/assets/ProductDetailView-BUGwmJWw.js new file mode 100644 index 0000000..116533c --- /dev/null +++ b/dist/assets/ProductDetailView-BUGwmJWw.js @@ -0,0 +1 @@ +import{A as e,Ct as t,Et as n,L as r,N as i,O as a,P as o,R as s,St as c,Tt as l,Y as u,Z as d,_ as f,g as ee,j as p,mt as m,n as te,q as ne,tt as re,z as h}from"./BasicIcon-C6boaehV.js";import{o as g}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-s7nVUdlj.js";import{C as ae,T as oe,l as se}from"./index-fdhs4HNc.js";import{t as ce}from"./IconChevronBack-DORV2H0q.js";import{t as le}from"./PageSkeleton-sKuEY4NI.js";import{t as ue}from"./IconShare-1kao-fAR.js";import{a as de,o as fe,t as pe}from"./crm-DmqasSZ_.js";import{t as me}from"./useGoBack-CgNp0uP9.js";import{n as _,t as he}from"./colorSwatch-BgOH1LE5.js";import{t as ge}from"./IconShoppingBag-Bq21_Txe.js";import{t as _e}from"./quick-catalog-request-Di7-t6Ua.js";import{t as ve}from"./IconHeart-CZMe29Nz.js";var v={key:0,class:`page product-detail`},y={class:`pd-header`},b={class:`pd-header__actions`},x=[`aria-label`,`aria-pressed`],S={class:`page__scroll pd-scroll`},C={class:`gallery`},w={class:`gallery__count`},T={class:`gallery__thumbs`},E=[`onClick`],D={class:`pd-body`},O={class:`title-row`},k={key:0,class:`new-badge`},A={class:`code`},j={class:`specs`},M={class:`spec-cell`},N={class:`spec-cell`},P={class:`spec-cell`},F={class:`spec-icon`,"aria-hidden":`true`},ye={class:`spec-cell`},be={key:0,class:`specs-extra`},xe={class:`pd-section pd-section--boxed`},Se={class:`section-head`},Ce={class:`colors`},we=[`onClick`],Te={class:`pd-section`},Ee={class:`tags`,role:`list`},De=[`onClick`],Oe={class:`pd-section`},ke={class:`roll-field`},Ae={class:`pd-footer`},je={class:`pd-footer__primary`},Me=[`disabled`],Ne={class:`min-note`},Pe=[`src`],Fe={key:1,class:`page empty`},Ie={key:2,class:`page empty`},I=te(h({__name:`ProductDetailView`,setup(te){let h={suit:`پارچه کتشلواری`,trousers:`پارچه شلواری`,shirt:`پارچه پیراهنی`},I={summer:`پارچه تابستانه`,winter:`پارچه زمستانه`,all_season:`پارچه چهارفصل`},Le=ee(),L=f(),{goBack:R}=me(`/products`),Re=pe(),z=se(),ze=oe(),Be=ie(),B=e(()=>String(Le.query.id??``)),V=m(null),H=m(!0),U=m(null),W=m(0),G=m(1),K=m(!1),q=m(!1),J=e(()=>V.value?.rollMeters??50),Y=e(()=>{let e=V.value;return e?he(e.colors,e.colorImages,e.imageUrls,W.value,e.imageUrl):``}),Ve=e(()=>V.value?.colors[W.value]??``),X=e(()=>G.value*J.value),He=e(()=>{let e=V.value?.minMeterage;return e&&e>0?e:J.value}),Z=e(()=>Math.max(1,Math.ceil(He.value/J.value))),Q=e(()=>h[V.value?.categoryId??``]||`—`),Ue=e(()=>I[V.value?.season??``]||`—`),We=e(()=>{let e=V.value;if(!e)return[];let t=[],n=fe.some(t=>t.id===e.categoryId)?e.categoryId:``,r=n?h[n]:``;r&&t.push({key:`usage-${n}`,label:r,to:{path:`/products`,query:{categoryId:n}}});let i=de.some(t=>t.id===e.season)?e.season:``,a=i?I[i]:``;a&&t.push({key:`season-${i}`,label:a,to:{path:`/products`,query:{season:i}}});let o=new Set(t.flatMap(e=>[e.label,e.label.replace(/^پارچه\s*/,``)]));for(let n of e.tags){let e=n.replace(/^پارچه?های?\s*/,``).trim();if(!e||o.has(e)||t.some(t=>t.label.includes(e)))continue;let r=n.startsWith(`پارچه`)?n:`پارچه ${e}`;o.add(e),t.push({key:`tag-${n}`,label:r})}return t});async function $(){if(!B.value){V.value=null,H.value=!1;return}H.value=!0,U.value=null;try{await Promise.all([z.hydrate(),Be.loadCompanies()]),V.value=await Re.loadProductById(B.value),W.value=0,G.value=Z.value}catch(e){V.value=null,U.value=e instanceof Error?e.message:`محصول یافت نشد.`}finally{H.value=!1}}ne($),re(B,$);function Ge(e){let t=e.rollMeters||50,n=e.orderMultiplier&&e.orderMultiplier>0?e.orderMultiplier:t,r=e.minMeterage&&e.minMeterage>0?e.minMeterage:t;return{id:e.id,companyId:e.companyId||``,catalogId:e.catalogId||``,name:e.name,code:e.code,color:e.color||e.colors[W.value]||`—`,minMeterage:r,orderMultiplier:n,basePrice:e.basePrice,isActive:!0}}function Ke(e,t,n){let r=t>0?t:1,i=Math.ceil(e/r)*r,a=Math.ceil(n/r)*r;return Math.max(i,a)}async function qe(){if(!V.value)return;let e=Ge(V.value);K.value=!0;try{let t=Ke(X.value,e.orderMultiplier,e.minMeterage);await ze.addItem(e,V.value.catalogCode||V.value.code,t)}finally{K.value=!1}}function Je(){V.value&&z.toggle(V.value.id)}function Ye(){let e=window.location.href;if(navigator.share){navigator.share({title:V.value?.name,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}return(e,f)=>V.value?(u(),o(`div`,v,[p(`header`,y,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:f[0]||=(...e)=>c(R)&&c(R)(...e)},[s(ce,{size:20})]),p(`div`,b,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":c(z).isFavorite(V.value.id)?`حذف از علاقهمندیها`:`افزودن به علاقهمندیها`,"aria-pressed":c(z).isFavorite(V.value.id),onClick:Je},[s(ve,{size:20,filled:c(z).isFavorite(V.value.id),color:c(z).isFavorite(V.value.id)?`#0a353c`:void 0},null,8,[`filled`,`color`])],8,x),p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراکگذاری`,onClick:Ye},[s(ue,{size:20})])])]),p(`div`,S,[p(`div`,C,[p(`div`,{class:`gallery__main`,style:l(Y.value?{backgroundImage:`url(${Y.value})`,backgroundSize:`cover`,backgroundPosition:`center`}:c(_)(Ve.value))},[p(`span`,w,n(c(g)(W.value+1))+`/`+n(c(g)(Math.max(V.value.colors.length,1))),1)],4),p(`div`,T,[(u(!0),o(a,null,d(V.value.colors,(e,n)=>(u(),o(`button`,{key:n,type:`button`,class:t([`thumb`,{"thumb--active":W.value===n}]),onClick:e=>W.value=n},[p(`span`,{class:`thumb__swatch`,style:l(c(_)(e,V.value.colorImages?.[n]||V.value.imageUrls?.[n]))},null,4)],10,E))),128))])]),p(`div`,D,[p(`div`,O,[p(`h1`,null,n(V.value.name),1),V.value.isNew?(u(),o(`span`,k,`جدید`)):i(``,!0)]),p(`p`,A,`کد محصول: `+n(V.value.code),1),p(`div`,j,[p(`div`,M,[f[4]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`rect`,{x:`4`,y:`8`,width:`16`,height:`8`,rx:`2`})])],-1),f[5]||=p(`span`,null,`عرض`,-1),p(`strong`,null,n(c(g)(V.value.widthCm))+` سانتیمتر`,1)]),p(`div`,N,[f[6]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`path`,{d:`M12 3.5 20 8v8l-8 4.5L4 16V8l8-4.5Z`})])],-1),f[7]||=p(`span`,null,`جنس`,-1),p(`strong`,null,n(V.value.composition||`—`),1)]),p(`div`,P,[p(`span`,F,[s(ge,{size:22,color:`#98a2ad`})]),f[8]||=p(`span`,null,`وزن`,-1),p(`strong`,null,n(V.value.weightGrams?`${c(g)(V.value.weightGrams)} گرم`:`—`),1)]),p(`div`,ye,[f[9]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`circle`,{cx:`12`,cy:`12`,r:`8`}),p(`path`,{d:`M12 8a6 6 0 0 1 0 8`})])],-1),f[10]||=p(`span`,null,`نوع بافت`,-1),p(`strong`,null,n(V.value.weaveType||`—`),1)])]),p(`button`,{type:`button`,class:`specs-more`,onClick:f[1]||=e=>q.value=!q.value},[r(n(q.value?`بستن مشخصات`:`مشاهده همه مشخصات`)+` `,1),(u(),o(`svg`,{class:t([`specs-more__chevron`,{"is-open":q.value}]),viewBox:`0 0 12 12`,"aria-hidden":`true`},[...f[11]||=[p(`path`,{d:`M3 4.5 6 8l3-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`},null,-1)]],2))]),q.value?(u(),o(`div`,be,[p(`p`,null,`فصل: `+n(Ue.value),1),p(`p`,null,`دسته: `+n(Q.value),1),p(`p`,null,`جمع سفارش: `+n(c(g)(X.value))+` متر`,1)])):i(``,!0),p(`section`,xe,[p(`div`,Se,[f[12]||=p(`h2`,null,`رنگبندی`,-1),p(`span`,null,`(`+n(c(g)(V.value.colors.length))+` رنگ موجود)`,1)]),p(`div`,Ce,[(u(!0),o(a,null,d(V.value.colors,(e,n)=>(u(),o(`button`,{key:n,type:`button`,class:t([`color-dot`,{"color-dot--active":W.value===n}]),style:l(c(_)(e,V.value.colorImages?.[n]||V.value.imageUrls?.[n])),onClick:e=>W.value=n},null,14,we))),128))])]),p(`section`,Te,[f[13]||=p(`h2`,{class:`section-title`},`دستهبندی`,-1),p(`div`,Ee,[(u(!0),o(a,null,d(We.value,e=>(u(),o(`button`,{key:e.key,type:`button`,class:t([`tag`,{"tag--link":!!e.to}]),role:`listitem`,onClick:t=>e.to&&c(L).push(e.to)},n(e.label),11,De))),128))])]),p(`section`,Oe,[f[14]||=p(`h2`,{class:`section-title`},`متراژ هر ساقه (طاقه)`,-1),p(`div`,ke,n(c(g)(V.value.rollMeters))+` متر`,1)])])]),p(`footer`,Ae,[p(`div`,je,[p(`button`,{type:`button`,class:`btn-primary`,disabled:K.value,onClick:qe},[s(ae,{size:18,color:`#ffffff`}),r(` `+n(K.value?`در حال افزودن...`:`افزودن به سفارش`),1)],8,Me),p(`p`,Ne,`حداقل سفارش: `+n(c(g)(Z.value))+` طاقه`,1)]),p(`button`,{type:`button`,class:`btn-secondary`,onClick:f[2]||=e=>c(L).push({path:`/catalog-request`,query:{productId:V.value.id}})},[p(`img`,{class:`btn-secondary__icon`,src:c(_e),alt:``,"aria-hidden":`true`},null,8,Pe),f[15]||=r(` درخواست کالیته `,-1)])])])):H.value?(u(),o(`div`,Fe,[s(le,{variant:`detail`})])):(u(),o(`div`,Ie,[p(`p`,null,n(U.value||`محصول یافت نشد.`),1),p(`button`,{type:`button`,onClick:f[3]||=e=>c(L).push(`/products`)},`بازگشت به لیست`)]))}}),[[`__scopeId`,`data-v-54dc20a3`]]);export{I as default}; \ No newline at end of file diff --git a/dist/assets/ProductDetailView-BlsIoIkr.css b/dist/assets/ProductDetailView-BlsIoIkr.css new file mode 100644 index 0000000..b7de48e --- /dev/null +++ b/dist/assets/ProductDetailView-BlsIoIkr.css @@ -0,0 +1 @@ +.product-detail[data-v-54dc20a3]{--pd-card-border:1px solid #eeeef1;--pd-card-shadow:0 1px 2px #1018280a, 0 6px 16px #1018280d;--pd-card-radius:16px;background:var(--color-surface);flex-direction:column;min-height:100%;display:flex}.pd-header[data-v-54dc20a3]{padding:8px var(--page-padding);background:var(--color-surface);justify-content:space-between;align-items:center;display:flex}.pd-header__actions[data-v-54dc20a3]{gap:4px;display:flex}.icon-btn[data-v-54dc20a3]{cursor:pointer;background:0 0;border:none;place-items:center;width:40px;height:40px;display:grid}.pd-scroll[data-v-54dc20a3]{flex:1;padding-bottom:120px}.gallery__main[data-v-54dc20a3]{background:linear-gradient(160deg,#a8b5a0,#6f8570);height:260px;position:relative}.gallery__count[data-v-54dc20a3]{bottom:12px;color:#fff;background:#0000008c;border-radius:6px;padding:4px 10px;font-size:.75rem;position:absolute;inset-inline-start:12px}.gallery__thumbs[data-v-54dc20a3]{margin:12px var(--page-padding) 0;background:var(--color-surface);border:var(--pd-card-border);border-radius:var(--pd-card-radius);box-shadow:var(--pd-card-shadow);gap:10px;padding:10px;display:flex;overflow-x:auto}.thumb[data-v-54dc20a3]{appearance:none;border:var(--pd-card-border);background:var(--color-surface);width:52px;height:52px;box-shadow:var(--pd-card-shadow);cursor:pointer;box-sizing:border-box;border-radius:14px;flex-shrink:0;padding:0}.thumb__swatch[data-v-54dc20a3]{border-radius:12px;width:100%;height:100%;display:block}.thumb--active[data-v-54dc20a3]{border:2px solid #0a353c;padding:3px}.thumb--active .thumb__swatch[data-v-54dc20a3]{border-radius:9px}.pd-body[data-v-54dc20a3]{padding:16px var(--page-padding) 20px;background:var(--color-surface);flex-direction:column;gap:18px;display:flex}.title-row[data-v-54dc20a3]{justify-content:flex-start;align-items:center;gap:8px;display:flex}.title-row h1[data-v-54dc20a3]{margin:0;font-size:1.2rem;font-weight:700}.new-badge[data-v-54dc20a3]{color:#fff;background:#96b49c;border:none;border-radius:10px;justify-content:center;align-items:center;height:26px;padding:0 16px;font-size:.8125rem;font-weight:500;line-height:1;display:inline-flex}.code[data-v-54dc20a3]{color:var(--color-text-muted);margin:-10px 0 0;font-size:.82rem}.specs[data-v-54dc20a3]{background:var(--color-surface);border:var(--pd-card-border);border-radius:var(--pd-card-radius);box-shadow:var(--pd-card-shadow);grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:14px 8px;display:grid}.spec-cell[data-v-54dc20a3]{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.spec-icon[data-v-54dc20a3]{color:#98a2ad;place-items:center;width:22px;height:22px;display:grid}.spec-icon svg[data-v-54dc20a3]{width:22px;height:22px}.spec-cell strong[data-v-54dc20a3]{color:var(--color-text);text-overflow:ellipsis;max-width:100%;font-size:.7rem;font-weight:600;line-height:1.4;overflow:hidden}.spec-cell span[data-v-54dc20a3]{color:#98a2ad;font-size:.7rem}.specs-more[data-v-54dc20a3]{color:#8b939c;cursor:pointer;background:0 0;border:none;align-self:center;align-items:center;gap:4px;padding:0;font-size:.8rem;font-weight:500;display:inline-flex}.specs-more__chevron[data-v-54dc20a3]{width:12px;height:12px}.specs-more__chevron.is-open[data-v-54dc20a3]{transform:rotate(180deg)}.specs-extra[data-v-54dc20a3]{color:var(--color-text-muted);background:#f6f7f8;border-radius:12px;padding:12px 14px;font-size:.82rem}.specs-extra p[data-v-54dc20a3]{margin:0 0 6px}.specs-extra p[data-v-54dc20a3]:last-child{margin:0}.pd-section[data-v-54dc20a3]{flex-direction:column;gap:10px;display:flex}.pd-section--boxed[data-v-54dc20a3]{background:var(--color-surface);border:var(--pd-card-border);border-radius:var(--pd-card-radius);box-shadow:var(--pd-card-shadow);padding:12px 14px}.section-head[data-v-54dc20a3]{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.section-head h2[data-v-54dc20a3],.section-title[data-v-54dc20a3]{margin:0;font-size:.95rem;font-weight:700}.section-head span[data-v-54dc20a3]{color:#8b939c;font-size:.78rem}.colors[data-v-54dc20a3]{padding:4px 2px;flex-wrap:nowrap;gap:14px;padding-inline-start:20px;display:flex;overflow-x:auto}.color-dot[data-v-54dc20a3]{appearance:none;width:22px;height:22px;box-shadow:none;cursor:pointer;box-sizing:border-box;background-position:50%;background-size:cover;border:1px solid #00000014;border-radius:999px;flex-shrink:0;padding:0}.color-dot--active[data-v-54dc20a3]{border-color:#0000;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #0a353c}.tags[data-v-54dc20a3]{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.tag[data-v-54dc20a3],button.tag[data-v-54dc20a3]{appearance:none;border:var(--pd-card-border);background:var(--color-surface);color:#6b7280;letter-spacing:0;white-space:nowrap;height:32px;min-height:32px;box-shadow:var(--pd-card-shadow);border-radius:6px;outline:none;justify-content:center;align-items:center;padding:0 16px;font-size:.8125rem;font-weight:400;line-height:1;display:inline-flex}button.tag[data-v-54dc20a3]{cursor:default;font-family:inherit}button.tag--link[data-v-54dc20a3]{cursor:pointer}button.tag--link[data-v-54dc20a3]:hover{background:var(--color-surface)}.roll-field[data-v-54dc20a3]{border:var(--pd-card-border);background:var(--color-surface);width:fit-content;max-width:100%;box-shadow:var(--pd-card-shadow);color:#6b7280;border-radius:6px;align-items:center;padding:0 16px;font-size:.9rem;display:inline-flex}.pd-footer[data-v-54dc20a3]{padding:12px var(--page-padding) calc(12px + env(safe-area-inset-bottom,0));background:var(--color-surface);border-top:1px solid var(--color-border);grid-template-columns:1.2fr 1fr;align-items:start;gap:8px;display:grid;position:sticky;bottom:0}.pd-footer__primary[data-v-54dc20a3]{flex-direction:column;display:flex}.btn-secondary[data-v-54dc20a3],.btn-primary[data-v-54dc20a3]{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;height:48px;min-height:48px;font-weight:700;display:inline-flex}.btn-secondary[data-v-54dc20a3]{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary)}.btn-secondary__icon[data-v-54dc20a3]{object-fit:contain;flex-shrink:0;width:18px;height:18px;display:block}.btn-primary[data-v-54dc20a3]{background:var(--color-accent-navy);color:#fff;border:none}.btn-primary[data-v-54dc20a3]:disabled{opacity:.7;cursor:wait}.min-note[data-v-54dc20a3]{text-align:center;color:var(--color-text-muted);margin:6px 0 0;font-size:.7rem}.empty[data-v-54dc20a3]{padding:40px var(--page-padding);text-align:center} diff --git a/dist/assets/ProductDetailView-C-2OwXKv.js b/dist/assets/ProductDetailView-C-2OwXKv.js deleted file mode 100644 index a4a479a..0000000 --- a/dist/assets/ProductDetailView-C-2OwXKv.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,Ct as t,Et as n,L as r,N as i,O as a,P as o,R as s,St as c,Tt as l,Y as u,Z as d,_ as f,g as ee,j as p,mt as m,n as te,q as ne,tt as re,z as h}from"./BasicIcon-C6boaehV.js";import{o as g}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-s7nVUdlj.js";import{C as ae,T as oe,b as se,l as ce}from"./index-DzzUgmYT.js";import{t as le}from"./IconChevronBack-DORV2H0q.js";import{t as ue}from"./PageSkeleton-uO-jhbNm.js";import{t as de}from"./IconShare-1kao-fAR.js";import{a as fe,i as pe,t as me}from"./crm-CtglbPsN.js";import{t as he}from"./useGoBack-CgNp0uP9.js";import{n as _,t as ge}from"./colorSwatch-BgOH1LE5.js";import{t as _e}from"./IconShoppingBag-Bq21_Txe.js";import{t as ve}from"./IconHeart-CZMe29Nz.js";var v={key:0,class:`page product-detail`},y={class:`pd-header`},b={class:`pd-header__actions`},x=[`aria-label`,`aria-pressed`],S={class:`page__scroll pd-scroll`},C={class:`gallery`},w={class:`gallery__count`},T={class:`gallery__thumbs`},E=[`onClick`],D={class:`pd-body`},O={class:`title-row`},k={key:0,class:`new-badge`},A={class:`code`},j={class:`specs`},M={class:`spec-cell`},N={class:`spec-cell`},P={class:`spec-cell`},F={class:`spec-icon`,"aria-hidden":`true`},ye={class:`spec-cell`},be={key:0,class:`specs-extra`},xe={class:`pd-section pd-section--boxed`},Se={class:`section-head`},Ce={class:`colors`},we=[`onClick`],Te={class:`pd-section`},Ee={class:`tags`,role:`list`},De=[`onClick`],Oe={class:`pd-section`},I={class:`roll-field`},ke={class:`pd-footer`},Ae={class:`pd-footer__primary`},je=[`disabled`],Me={class:`min-note`},Ne={key:1,class:`page empty`},Pe={key:2,class:`page empty`},L=te(h({__name:`ProductDetailView`,setup(te){let h={suit:`پارچه کتشلواری`,trousers:`پارچه شلواری`,shirt:`پارچه پیراهنی`},L={summer:`پارچه تابستانه`,winter:`پارچه زمستانه`,all_season:`پارچه چهارفصل`},Fe=ee(),R=f(),{goBack:z}=he(`/products`),Ie=me(),B=ce(),Le=oe(),Re=ie(),V=e(()=>String(Fe.query.id??``)),H=m(null),U=m(!0),W=m(null),G=m(0),K=m(1),q=m(!1),J=m(!1),Y=e(()=>H.value?.rollMeters??50),X=e(()=>{let e=H.value;return e?ge(e.colors,e.colorImages,e.imageUrls,G.value,e.imageUrl):``}),ze=e(()=>H.value?.colors[G.value]??``),Z=e(()=>K.value*Y.value),Be=e(()=>{let e=H.value?.minMeterage;return e&&e>0?e:Y.value}),Q=e(()=>Math.max(1,Math.ceil(Be.value/Y.value))),Ve=e(()=>h[H.value?.categoryId??``]||`—`),He=e(()=>L[H.value?.season??``]||`—`),Ue=e(()=>{let e=H.value;if(!e)return[];let t=[],n=fe.some(t=>t.id===e.categoryId)?e.categoryId:``,r=n?h[n]:``;r&&t.push({key:`usage-${n}`,label:r,to:{path:`/products`,query:{categoryId:n}}});let i=pe.some(t=>t.id===e.season)?e.season:``,a=i?L[i]:``;a&&t.push({key:`season-${i}`,label:a,to:{path:`/products`,query:{season:i}}});let o=new Set(t.flatMap(e=>[e.label,e.label.replace(/^پارچه\s*/,``)]));for(let n of e.tags){let e=n.replace(/^پارچه?های?\s*/,``).trim();if(!e||o.has(e)||t.some(t=>t.label.includes(e)))continue;let r=n.startsWith(`پارچه`)?n:`پارچه ${e}`;o.add(e),t.push({key:`tag-${n}`,label:r})}return t});async function $(){if(!V.value){H.value=null,U.value=!1;return}U.value=!0,W.value=null;try{await Promise.all([B.hydrate(),Re.loadCompanies()]),H.value=await Ie.loadProductById(V.value),G.value=0,K.value=Q.value}catch(e){H.value=null,W.value=e instanceof Error?e.message:`محصول یافت نشد.`}finally{U.value=!1}}ne($),re(V,$);function We(e){let t=e.rollMeters||50,n=e.orderMultiplier&&e.orderMultiplier>0?e.orderMultiplier:t,r=e.minMeterage&&e.minMeterage>0?e.minMeterage:t;return{id:e.id,companyId:e.companyId||``,catalogId:e.catalogId||``,name:e.name,code:e.code,color:e.color||e.colors[G.value]||`—`,minMeterage:r,orderMultiplier:n,basePrice:e.basePrice,isActive:!0}}function Ge(e,t,n){let r=t>0?t:1,i=Math.ceil(e/r)*r,a=Math.ceil(n/r)*r;return Math.max(i,a)}async function Ke(){if(!H.value)return;let e=We(H.value);q.value=!0;try{let t=Ge(Z.value,e.orderMultiplier,e.minMeterage);await Le.addItem(e,H.value.catalogCode||H.value.code,t)}finally{q.value=!1}}function qe(){H.value&&B.toggle(H.value.id)}function Je(){let e=window.location.href;if(navigator.share){navigator.share({title:H.value?.name,url:e}).catch(()=>void 0);return}navigator.clipboard?.writeText(e)}return(e,f)=>H.value?(u(),o(`div`,v,[p(`header`,y,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:f[0]||=(...e)=>c(z)&&c(z)(...e)},[s(le,{size:20})]),p(`div`,b,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":c(B).isFavorite(H.value.id)?`حذف از علاقهمندیها`:`افزودن به علاقهمندیها`,"aria-pressed":c(B).isFavorite(H.value.id),onClick:qe},[s(ve,{size:20,filled:c(B).isFavorite(H.value.id),color:c(B).isFavorite(H.value.id)?`#0a353c`:void 0},null,8,[`filled`,`color`])],8,x),p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اشتراکگذاری`,onClick:Je},[s(de,{size:20})])])]),p(`div`,S,[p(`div`,C,[p(`div`,{class:`gallery__main`,style:l(X.value?{backgroundImage:`url(${X.value})`,backgroundSize:`cover`,backgroundPosition:`center`}:c(_)(ze.value))},[p(`span`,w,n(c(g)(G.value+1))+`/`+n(c(g)(Math.max(H.value.colors.length,1))),1)],4),p(`div`,T,[(u(!0),o(a,null,d(H.value.colors,(e,n)=>(u(),o(`button`,{key:n,type:`button`,class:t([`thumb`,{"thumb--active":G.value===n}]),onClick:e=>G.value=n},[p(`span`,{class:`thumb__swatch`,style:l(c(_)(e,H.value.colorImages?.[n]||H.value.imageUrls?.[n]))},null,4)],10,E))),128))])]),p(`div`,D,[p(`div`,O,[p(`h1`,null,n(H.value.name),1),H.value.isNew?(u(),o(`span`,k,`جدید`)):i(``,!0)]),p(`p`,A,`کد محصول: `+n(H.value.code),1),p(`div`,j,[p(`div`,M,[f[4]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`rect`,{x:`4`,y:`8`,width:`16`,height:`8`,rx:`2`})])],-1),f[5]||=p(`span`,null,`عرض`,-1),p(`strong`,null,n(c(g)(H.value.widthCm))+` سانتیمتر`,1)]),p(`div`,N,[f[6]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`path`,{d:`M12 3.5 20 8v8l-8 4.5L4 16V8l8-4.5Z`})])],-1),f[7]||=p(`span`,null,`جنس`,-1),p(`strong`,null,n(H.value.composition||`—`),1)]),p(`div`,P,[p(`span`,F,[s(_e,{size:22,color:`#98a2ad`})]),f[8]||=p(`span`,null,`وزن`,-1),p(`strong`,null,n(H.value.weightGrams?`${c(g)(H.value.weightGrams)} گرم`:`—`),1)]),p(`div`,ye,[f[9]||=p(`span`,{class:`spec-icon`,"aria-hidden":`true`},[p(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`},[p(`circle`,{cx:`12`,cy:`12`,r:`8`}),p(`path`,{d:`M12 8a6 6 0 0 1 0 8`})])],-1),f[10]||=p(`span`,null,`نوع بافت`,-1),p(`strong`,null,n(H.value.weaveType||`—`),1)])]),p(`button`,{type:`button`,class:`specs-more`,onClick:f[1]||=e=>J.value=!J.value},[r(n(J.value?`بستن مشخصات`:`مشاهده همه مشخصات`)+` `,1),(u(),o(`svg`,{class:t([`specs-more__chevron`,{"is-open":J.value}]),viewBox:`0 0 12 12`,"aria-hidden":`true`},[...f[11]||=[p(`path`,{d:`M3 4.5 6 8l3-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`},null,-1)]],2))]),J.value?(u(),o(`div`,be,[p(`p`,null,`فصل: `+n(He.value),1),p(`p`,null,`دسته: `+n(Ve.value),1),p(`p`,null,`جمع سفارش: `+n(c(g)(Z.value))+` متر`,1)])):i(``,!0),p(`section`,xe,[p(`div`,Se,[f[12]||=p(`h2`,null,`رنگبندی`,-1),p(`span`,null,`(`+n(c(g)(H.value.colors.length))+` رنگ موجود)`,1)]),p(`div`,Ce,[(u(!0),o(a,null,d(H.value.colors,(e,n)=>(u(),o(`button`,{key:n,type:`button`,class:t([`color-dot`,{"color-dot--active":G.value===n}]),style:l(c(_)(e,H.value.colorImages?.[n]||H.value.imageUrls?.[n])),onClick:e=>G.value=n},null,14,we))),128))])]),p(`section`,Te,[f[13]||=p(`h2`,{class:`section-title`},`دستهبندی`,-1),p(`div`,Ee,[(u(!0),o(a,null,d(Ue.value,e=>(u(),o(`button`,{key:e.key,type:`button`,class:t([`tag`,{"tag--link":!!e.to}]),role:`listitem`,onClick:t=>e.to&&c(R).push(e.to)},n(e.label),11,De))),128))])]),p(`section`,Oe,[f[14]||=p(`h2`,{class:`section-title`},`متراژ هر ساقه (طاقه)`,-1),p(`div`,I,n(c(g)(H.value.rollMeters))+` متر`,1)])])]),p(`footer`,ke,[p(`div`,Ae,[p(`button`,{type:`button`,class:`btn-primary`,disabled:q.value,onClick:Ke},[s(ae,{size:18,color:`#ffffff`}),r(` `+n(q.value?`در حال افزودن...`:`افزودن به سفارش`),1)],8,je),p(`p`,Me,`حداقل سفارش: `+n(c(g)(Q.value))+` طاقه`,1)]),p(`button`,{type:`button`,class:`btn-secondary`,onClick:f[2]||=e=>c(R).push({path:`/catalog-request`,query:{productId:H.value.id}})},[s(se,{size:18}),f[15]||=r(` درخواست کالیته `,-1)])])])):U.value?(u(),o(`div`,Ne,[s(ue,{variant:`detail`})])):(u(),o(`div`,Pe,[p(`p`,null,n(W.value||`محصول یافت نشد.`),1),p(`button`,{type:`button`,onClick:f[3]||=e=>c(R).push(`/products`)},`بازگشت به لیست`)]))}}),[[`__scopeId`,`data-v-615be54f`]]);export{L as default}; \ No newline at end of file diff --git a/dist/assets/ProductDetailView-CqyNqug9.css b/dist/assets/ProductDetailView-CqyNqug9.css deleted file mode 100644 index c4e6524..0000000 --- a/dist/assets/ProductDetailView-CqyNqug9.css +++ /dev/null @@ -1 +0,0 @@ -.product-detail[data-v-615be54f]{--pd-card-border:1px solid #eeeef1;--pd-card-shadow:0 1px 2px #1018280a, 0 6px 16px #1018280d;--pd-card-radius:16px;background:var(--color-surface);flex-direction:column;min-height:100%;display:flex}.pd-header[data-v-615be54f]{padding:8px var(--page-padding);background:var(--color-surface);justify-content:space-between;align-items:center;display:flex}.pd-header__actions[data-v-615be54f]{gap:4px;display:flex}.icon-btn[data-v-615be54f]{cursor:pointer;background:0 0;border:none;place-items:center;width:40px;height:40px;display:grid}.pd-scroll[data-v-615be54f]{flex:1;padding-bottom:120px}.gallery__main[data-v-615be54f]{background:linear-gradient(160deg,#a8b5a0,#6f8570);height:260px;position:relative}.gallery__count[data-v-615be54f]{bottom:12px;color:#fff;background:#0000008c;border-radius:999px;padding:4px 10px;font-size:.75rem;position:absolute;inset-inline-start:12px}.gallery__thumbs[data-v-615be54f]{margin:12px var(--page-padding) 0;background:var(--color-surface);border:var(--pd-card-border);border-radius:var(--pd-card-radius);box-shadow:var(--pd-card-shadow);gap:10px;padding:10px;display:flex;overflow-x:auto}.thumb[data-v-615be54f]{appearance:none;border:var(--pd-card-border);background:var(--color-surface);width:52px;height:52px;box-shadow:var(--pd-card-shadow);cursor:pointer;box-sizing:border-box;border-radius:14px;flex-shrink:0;padding:0}.thumb__swatch[data-v-615be54f]{border-radius:12px;width:100%;height:100%;display:block}.thumb--active[data-v-615be54f]{border:2px solid #0a353c;padding:3px}.thumb--active .thumb__swatch[data-v-615be54f]{border-radius:9px}.pd-body[data-v-615be54f]{padding:16px var(--page-padding) 20px;background:var(--color-surface);flex-direction:column;gap:18px;display:flex}.title-row[data-v-615be54f]{justify-content:flex-start;align-items:center;gap:8px;display:flex}.title-row h1[data-v-615be54f]{margin:0;font-size:1.2rem;font-weight:700}.new-badge[data-v-615be54f]{color:#fff;background:#96b49c;border:none;border-radius:10px;justify-content:center;align-items:center;height:26px;padding:0 16px;font-size:.8125rem;font-weight:500;line-height:1;display:inline-flex}.code[data-v-615be54f]{color:var(--color-text-muted);margin:-10px 0 0;font-size:.82rem}.specs[data-v-615be54f]{background:var(--color-surface);border:var(--pd-card-border);border-radius:var(--pd-card-radius);box-shadow:var(--pd-card-shadow);grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:14px 8px;display:grid}.spec-cell[data-v-615be54f]{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.spec-icon[data-v-615be54f]{color:#98a2ad;place-items:center;width:22px;height:22px;display:grid}.spec-icon svg[data-v-615be54f]{width:22px;height:22px}.spec-cell strong[data-v-615be54f]{color:var(--color-text);text-overflow:ellipsis;max-width:100%;font-size:.7rem;font-weight:600;line-height:1.4;overflow:hidden}.spec-cell span[data-v-615be54f]{color:#98a2ad;font-size:.7rem}.specs-more[data-v-615be54f]{color:#8b939c;cursor:pointer;background:0 0;border:none;align-self:center;align-items:center;gap:4px;padding:0;font-size:.8rem;font-weight:500;display:inline-flex}.specs-more__chevron[data-v-615be54f]{width:12px;height:12px}.specs-more__chevron.is-open[data-v-615be54f]{transform:rotate(180deg)}.specs-extra[data-v-615be54f]{color:var(--color-text-muted);background:#f6f7f8;border-radius:12px;padding:12px 14px;font-size:.82rem}.specs-extra p[data-v-615be54f]{margin:0 0 6px}.specs-extra p[data-v-615be54f]:last-child{margin:0}.pd-section[data-v-615be54f]{flex-direction:column;gap:10px;display:flex}.pd-section--boxed[data-v-615be54f]{background:var(--color-surface);border:var(--pd-card-border);border-radius:var(--pd-card-radius);box-shadow:var(--pd-card-shadow);padding:12px 14px}.section-head[data-v-615be54f]{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.section-head h2[data-v-615be54f],.section-title[data-v-615be54f]{margin:0;font-size:.95rem;font-weight:700}.section-head span[data-v-615be54f]{color:#8b939c;font-size:.78rem}.colors[data-v-615be54f]{padding:4px 2px;flex-wrap:nowrap;gap:14px;padding-inline-start:20px;display:flex;overflow-x:auto}.color-dot[data-v-615be54f]{appearance:none;width:22px;height:22px;box-shadow:none;cursor:pointer;box-sizing:border-box;background-position:50%;background-size:cover;border:1px solid #00000014;border-radius:999px;flex-shrink:0;padding:0}.color-dot--active[data-v-615be54f]{border-color:#0000;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #0a353c}.tags[data-v-615be54f]{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.tag[data-v-615be54f],button.tag[data-v-615be54f]{appearance:none;border:var(--pd-card-border);border-radius:var(--pd-card-radius);background:var(--color-surface);color:#6b7280;letter-spacing:0;white-space:nowrap;height:32px;min-height:32px;box-shadow:var(--pd-card-shadow);outline:none;justify-content:center;align-items:center;padding:0 16px;font-size:.8125rem;font-weight:400;line-height:1;display:inline-flex}button.tag[data-v-615be54f]{cursor:default;font-family:inherit}button.tag--link[data-v-615be54f]{cursor:pointer}button.tag--link[data-v-615be54f]:hover{background:var(--color-surface)}.roll-field[data-v-615be54f]{background:var(--color-surface);width:fit-content;max-width:100%;box-shadow:none;color:#6b7280;border:1px solid #eeeef1;border-radius:16px;align-items:center;padding:14px 16px;font-size:.9rem;display:inline-flex}.pd-footer[data-v-615be54f]{padding:12px var(--page-padding) calc(12px + env(safe-area-inset-bottom,0));background:var(--color-surface);border-top:1px solid var(--color-border);grid-template-columns:1.2fr 1fr;align-items:start;gap:8px;display:grid;position:sticky;bottom:0}.pd-footer__primary[data-v-615be54f]{flex-direction:column;display:flex}.btn-secondary[data-v-615be54f],.btn-primary[data-v-615be54f]{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;height:48px;min-height:48px;font-weight:700;display:inline-flex}.btn-secondary[data-v-615be54f]{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary)}.btn-primary[data-v-615be54f]{background:var(--color-accent-navy);color:#fff;border:none}.btn-primary[data-v-615be54f]:disabled{opacity:.7;cursor:wait}.min-note[data-v-615be54f]{text-align:center;color:var(--color-text-muted);margin:6px 0 0;font-size:.7rem}.empty[data-v-615be54f]{padding:40px var(--page-padding);text-align:center} diff --git a/dist/assets/ProductsView-CQle6SsP.css b/dist/assets/ProductsView-CQle6SsP.css new file mode 100644 index 0000000..d55aa42 --- /dev/null +++ b/dist/assets/ProductsView-CQle6SsP.css @@ -0,0 +1 @@ +.products-page[data-v-c3ba0821]{background:var(--color-bg);position:relative}.nav-filter[data-v-c3ba0821]{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;place-items:center;display:grid}.products-scroll[data-v-c3ba0821]{padding:8px var(--page-padding) 24px;flex-direction:column;gap:12px;display:flex}.cat-banner[data-v-c3ba0821]{isolation:isolate;border-radius:var(--radius-lg);background:linear-gradient(100deg, rgba(var(--color-primary-rgb), .75), rgba(var(--color-primary-rgb), .35)), #2f3430;color:#fff;background-position:top;background-repeat:no-repeat;background-size:cover;justify-content:space-between;align-items:center;gap:16px;min-height:112px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.cat-banner--photo[data-v-c3ba0821]:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(90deg,#00000094 0%,#00000047 42%,#00000014 68%,#0000 100%);position:absolute;inset:0}.cat-banner__copy[data-v-c3ba0821]{z-index:1;text-align:start;flex:1;min-width:0;position:relative}.cat-banner__lead[data-v-c3ba0821]{opacity:.95;text-shadow:0 1px 6px #00000059;margin:0 0 2px;font-size:.82rem;font-weight:500;line-height:1.4}.cat-banner__title[data-v-c3ba0821]{text-shadow:0 1px 8px #00000059;margin:0 0 6px;font-size:1.35rem;font-weight:700;line-height:1.25}.cat-banner__tagline[data-v-c3ba0821]{opacity:.92;text-shadow:0 1px 6px #00000059;margin:0;font-size:.78rem;font-weight:400;line-height:1.5}.cat-banner__icon-ring[data-v-c3ba0821]{z-index:1;background:#00000029;border:1.5px solid #ffffffe0;border-radius:999px;flex-shrink:0;place-items:center;width:56px;height:56px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.chips[data-v-c3ba0821]{gap:8px;display:flex;overflow-x:auto}.chip[data-v-c3ba0821]{border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);white-space:nowrap;cursor:pointer;border:none;padding:8px 14px;font-size:.8rem}.chip--active[data-v-c3ba0821]{background:var(--color-primary);color:#fff}.list-meta[data-v-c3ba0821]{color:var(--color-text-muted);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.list-meta__sort[data-v-c3ba0821]{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.list-meta__sort-icon[data-v-c3ba0821]{flex-shrink:0;line-height:0;display:inline-flex}.list-meta__sort-badge[data-v-c3ba0821]{font-variant-numeric:tabular-nums}.product-item[data-v-c3ba0821]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;grid-template-columns:112px 1fr;align-items:stretch;gap:12px;padding:12px;display:grid}.product-item__image[data-v-c3ba0821]{background:linear-gradient(145deg,#2a3544,#111827) 50%/cover;border-radius:12px;min-height:112px}.product-item__body[data-v-c3ba0821]{flex-direction:column;gap:6px;min-width:0;display:flex}.product-item__head[data-v-c3ba0821]{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.product-item__title[data-v-c3ba0821]{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.product-item__title strong[data-v-c3ba0821]{color:var(--color-text);font-size:.9375rem;font-weight:700;line-height:1.4}.new-tag[data-v-c3ba0821]{background:var(--color-primary);color:#fff;white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.65rem;font-weight:700}.bookmark[data-v-c3ba0821]{cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;width:28px;height:28px;margin-inline-start:auto;padding:0;display:grid}.product-item__specs[data-v-c3ba0821]{color:var(--color-text-muted);text-align:start;flex-direction:column;gap:2px;margin:0;padding:0;font-size:.75rem;line-height:1.55;list-style:none;display:flex}.swatches[data-v-c3ba0821]{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.swatch[data-v-c3ba0821]{background-position:50%;background-size:cover;border:1px solid #00000014;border-radius:999px;width:14px;height:14px}.details-link[data-v-c3ba0821]{color:var(--color-info);cursor:pointer;background:0 0;border:none;align-self:flex-end;align-items:center;gap:2px;margin-top:auto;padding:0;font-size:.75rem;display:inline-flex}.empty-list[data-v-c3ba0821]{text-align:center;color:var(--color-text-muted);margin:12px 0 0} diff --git a/dist/assets/ProductsView-Dhc6PK3T.js b/dist/assets/ProductsView-Dhc6PK3T.js new file mode 100644 index 0000000..85c7ba0 --- /dev/null +++ b/dist/assets/ProductsView-Dhc6PK3T.js @@ -0,0 +1 @@ +import{A as e,Ct as t,D as n,Et as r,I as ee,L as te,M as i,N as a,O as o,P as s,R as c,St as l,Tt as u,Y as d,Z as f,_ as p,et as ne,g as re,j as m,mt as h,n as g,q as ie,rt as ae,tt as _,z as v}from"./BasicIcon-C6boaehV.js";import{b as oe,l as se,o as ce}from"./index-fdhs4HNc.js";import{t as le}from"./IconFilter-D9NdLZ7w.js";import{t as ue}from"./IconDiamond-Bgv1zgqc.js";import{t as de}from"./PageSkeleton-sKuEY4NI.js";import{t as fe}from"./crm-DmqasSZ_.js";import{n as pe}from"./colorSwatch-BgOH1LE5.js";import{t as me}from"./PageHeader-Cd04Z6F_.js";import{t as he}from"./SearchField-CRmbblW7.js";import{n as ge,t as y}from"./categoryIcons-eyHye9W7.js";import{t as _e}from"./IconHeart-CZMe29Nz.js";var ve={class:`page products-page`},ye={class:`page__scroll page__scroll--with-nav products-scroll`},be={key:1},xe={key:0,class:`cat-banner__icon-ring`,"aria-hidden":`true`},Se={class:`cat-banner__copy`},Ce={key:0,class:`cat-banner__lead`},we={class:`cat-banner__title`},b={key:1,class:`cat-banner__tagline`},x={class:`chips`,role:`tablist`,"aria-label":`فصل`},S=[`onClick`],C={class:`list-meta`},w=[`aria-label`],T=[`onClick`],E={class:`product-item__body`},D={class:`product-item__head`},O={class:`product-item__title`},k={key:0,class:`new-tag`},Te=[`aria-label`,`aria-pressed`,`onClick`],Ee={class:`product-item__specs`},De={class:`swatches`},Oe=[`onClick`],ke={key:0,class:`empty-list`},Ae=`مشاهده محصولات`,A=g(v({__name:`ProductsView`,setup(g){let v={suit:`شیک، بادوام و رسمی`,trousers:`مناسب شلوار و مصارف روزانه`,shirt:`سبک و مناسب پیراهن`},A=re(),j=p(),M=fe(),N=se(),P=e(()=>String(A.query.categoryId??``)),F=e(()=>String(A.query.catalogId??``)),I=e(()=>String(A.query.companyId??``)),L=e(()=>String(A.query.season??``)),R=e(()=>String(A.query.q??``)),z=h(String(A.query.q??``)),B=h([]),V=h([]),H=h(``),U=h(!0),W=h(null),G=h(`newest`),K=e(()=>F.value&&H.value?H.value:P.value?M.usageCategories.find(e=>e.id===P.value)?.title??`محصولات`:L.value?V.value.find(e=>e.id===L.value)?.title??`محصولات`:R.value?`جستجو: ${R.value}`:`همه محصولات`);function je(e){let t=e.trim();return t.startsWith(`پارچههای `)?{lead:`پارچههای`,headline:t.slice(10)}:{lead:void 0,headline:t}}function Me(e){return e.icon||(e.id===`summer`?`bolt`:e.id===`winter`?`feather`:`diamond`)}let q=e(()=>{if(P.value){let e=M.usageCategories.find(e=>e.id===P.value),t=je(e?.title??K.value),n=v[P.value]??(e?.subtitle&&e.subtitle!==Ae?e.subtitle:void 0);return{...t,tagline:n}}if(L.value){let e=V.value.find(e=>e.id===L.value);return{lead:void 0,headline:e?.title??K.value,tagline:e?.description||`فیلتر شده بر اساس فصل`}}return F.value?{lead:`کالیته`,headline:H.value||K.value,tagline:`انتخاب محصول از کالیته`}:{lead:void 0,headline:K.value,tagline:R.value?`نتایج جستجو`:`مشاهده و ثبت سفارش`}}),J=e(()=>{if(P.value){let e=M.usageCategories.find(e=>e.id===P.value);if(e)return y(ge(e),oe)}if(L.value){let e=V.value.find(e=>e.id===L.value);if(e)return y(Me(e),ue)}return null}),Y=e(()=>{if(P.value){let e=M.usageCategories.find(e=>e.id===P.value);if(e?.imageUrl)return e.imageUrl}if(L.value){let e=V.value.find(e=>e.id===L.value);if(e?.imageUrl)return e.imageUrl}if(F.value)return B.value.find(e=>e.imageUrl)?.imageUrl}),Ne=e(()=>Y.value?{backgroundImage:`url(${Y.value})`}:void 0),Pe=e(()=>!P.value&&!F.value),X=e(()=>{let e=R.value.trim().toLowerCase(),t=[...B.value];return e&&(t=t.filter(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)||(t.composition||``).toLowerCase().includes(e))),G.value===`name`?t.sort((e,t)=>e.name.localeCompare(t.name,`fa`)):t.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||e.name.localeCompare(t.name,`fa`))});function Fe(){G.value=G.value===`newest`?`name`:`newest`}let Ie=e(()=>G.value===`newest`?`مرتبسازی: جدیدترین`:`مرتبسازی: نام`);function Le(e){z.value=e,j.replace({path:`/products`,query:{...P.value?{categoryId:P.value}:{},...F.value?{catalogId:F.value}:{},...I.value?{companyId:I.value}:{},...L.value?{season:L.value}:{},...e.trim()?{q:e.trim()}:{}}})}async function Z(){U.value=!0,W.value=null;try{if(!M.usageCategories.length||!V.value.length){let e=await M.loadCategories();V.value=e.seasons}B.value=await M.loadBrowseProducts({categoryId:P.value||void 0,season:L.value||void 0,catalogId:F.value||void 0,companyId:I.value||void 0});let e=B.value[0];H.value=e?.catalogName||e?.catalogCode||``}catch(e){W.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`,B.value=[]}finally{U.value=!1}}ie(async()=>{await N.hydrate(),await Z()}),_([P,L,F,I],Z),_(R,e=>{z.value=e});function Q(e){j.replace({path:`/products`,query:{...P.value?{categoryId:P.value}:{},...F.value?{catalogId:F.value}:{},...I.value?{companyId:I.value}:{},...e?{season:e}:{},...R.value?{q:R.value}:{}}})}function $(e){j.push({path:`/product`,query:{id:e}})}function Re(e){return V.value.find(t=>t.id===e)?.title??e}function ze(e){N.toggle(e)}return(e,p)=>(d(),s(`div`,ve,[c(me,{title:K.value,"show-back":``,centered:``,onBack:p[1]||=e=>l(j).back()},{trailing:ae(()=>[m(`button`,{type:`button`,class:`nav-filter`,"aria-label":`فیلتر`,onClick:p[0]||=e=>l(j).push(`/categories`)},[c(le,{size:18})])]),_:1},8,[`title`]),m(`div`,ye,[Pe.value?(d(),i(he,{key:0,"model-value":z.value,placeholder:`جستجو نام یا کد محصول...`,"onUpdate:modelValue":Le},null,8,[`model-value`])):a(``,!0),W.value?(d(),s(`p`,be,r(W.value),1)):U.value?(d(),i(de,{key:2,variant:`grid`})):(d(),s(o,{key:3},[m(`section`,{class:t([`cat-banner`,{"cat-banner--photo":!!Y.value}]),style:u(Ne.value)},[J.value?(d(),s(`div`,xe,[(d(),i(ne(J.value),{size:26,color:`#ffffff`}))])):a(``,!0),m(`div`,Se,[q.value.lead?(d(),s(`p`,Ce,r(q.value.lead),1)):a(``,!0),m(`h2`,we,r(q.value.headline),1),q.value.tagline?(d(),s(`p`,b,r(q.value.tagline),1)):a(``,!0)])],6),m(`div`,x,[m(`button`,{type:`button`,class:t([`chip`,{"chip--active":!L.value}]),onClick:p[2]||=e=>Q(``)},` همه `,2),(d(!0),s(o,null,f(V.value,e=>(d(),s(`button`,{key:e.id,type:`button`,class:t([`chip`,{"chip--active":L.value===e.id}]),onClick:t=>Q(e.id)},r(e.title),11,S))),128))]),m(`div`,C,[m(`span`,null,`تعداد محصولات: `+r(X.value.length.toLocaleString(`fa-IR`)),1),m(`button`,{type:`button`,class:`list-meta__sort`,"aria-label":Ie.value,onClick:Fe},[...p[3]||=[ee(``,3)]],8,w)]),(d(!0),s(o,null,f(X.value,e=>(d(),s(`article`,{key:e.id,class:`product-item`,onClick:t=>$(e.id)},[m(`div`,{class:`product-item__image`,style:u(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},null,4),m(`div`,E,[m(`div`,D,[m(`div`,O,[m(`strong`,null,r(e.name),1),e.isNew?(d(),s(`span`,k,`جدید`)):a(``,!0)]),m(`button`,{type:`button`,class:`bookmark`,"aria-label":l(N).isFavorite(e.id)?`حذف از علاقهمندیها`:`افزودن به علاقهمندیها`,"aria-pressed":l(N).isFavorite(e.id),onClick:n(t=>ze(e.id),[`stop`])},[c(_e,{size:18,filled:l(N).isFavorite(e.id),color:l(N).isFavorite(e.id)?`#0a353c`:`#9ca3af`},null,8,[`filled`,`color`])],8,Te)]),m(`ul`,Ee,[m(`li`,null,`عرض: `+r(e.widthCm.toLocaleString(`fa-IR`))+` سانتیمتر`,1),m(`li`,null,`ترکیب: `+r(e.composition||`—`),1),m(`li`,null,`مناسب: `+r(Re(e.season)),1)]),m(`div`,De,[(d(!0),s(o,null,f(e.colors.slice(0,6),(t,n)=>(d(),s(`span`,{key:n,class:`swatch`,style:u(l(pe)(t,e.colorImages?.[n]||e.imageUrls?.[n]))},null,4))),128))]),m(`button`,{type:`button`,class:`details-link`,onClick:n(t=>$(e.id),[`stop`])},[p[4]||=te(` مشاهده جزئیات `,-1),c(ce,{size:14})],8,Oe)])],8,T))),128)),X.value.length?a(``,!0):(d(),s(`p`,ke,`محصولی در این دسته یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-c3ba0821`]]);export{A as default}; \ No newline at end of file diff --git a/dist/assets/ProductsView-DyuDmduq.js b/dist/assets/ProductsView-DyuDmduq.js deleted file mode 100644 index e9d5e46..0000000 --- a/dist/assets/ProductsView-DyuDmduq.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,Ct as t,D as n,Et as r,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,g as h,j as g,mt as _,n as v,q as ee,rt as te,tt as y,z as b}from"./BasicIcon-C6boaehV.js";import{l as ne,o as re}from"./index-DzzUgmYT.js";import{t as ie}from"./IconFilter-D9NdLZ7w.js";import{t as ae}from"./PageSkeleton-uO-jhbNm.js";import{t as oe}from"./crm-CtglbPsN.js";import{n as x}from"./colorSwatch-BgOH1LE5.js";import{t as S}from"./PageHeader-BFnKSFNh.js";import{t as C}from"./SearchField-Dx2PcshV.js";import{t as se}from"./IconHeart-CZMe29Nz.js";var ce={class:`page products-page`},le={class:`page__scroll page__scroll--with-nav products-scroll`},ue={key:1},de={class:`cat-banner`},fe={class:`chips`,role:`tablist`,"aria-label":`فصل`},pe=[`onClick`],me={class:`list-meta`},he=[`onClick`],w={class:`product-item__body`},T={class:`product-item__head`},E={class:`product-item__title`},D={key:0,class:`new-tag`},O=[`aria-label`,`aria-pressed`,`onClick`],k={class:`product-item__specs`},A={class:`swatches`},j=[`onClick`],M={key:0,class:`empty-list`},N=v(b({__name:`ProductsView`,setup(v){let b=h(),N=m(),P=oe(),F=ne(),I=e(()=>String(b.query.categoryId??``)),L=e(()=>String(b.query.catalogId??``)),R=e(()=>String(b.query.companyId??``)),z=e(()=>String(b.query.season??``)),B=e(()=>String(b.query.q??``)),V=_(String(b.query.q??``)),H=_([]),U=_([]),W=_(``),G=_(!0),K=_(null),q=_(`newest`),J=e(()=>L.value&&W.value?W.value:I.value?P.usageCategories.find(e=>e.id===I.value)?.title??`محصولات`:z.value?U.value.find(e=>e.id===z.value)?.title??`محصولات`:B.value?`جستجو: ${B.value}`:`همه محصولات`),ge=e(()=>L.value?`انتخاب محصول از کالیته`:I.value===`suit`?`شیک، بادوام و رسمی`:I.value===`trousers`?`مناسب شلوار و مصارف روزانه`:I.value===`shirt`?`سبک و مناسب پیراهن`:z.value?`فیلتر شده بر اساس فصل`:`مشاهده و ثبت سفارش`),_e=e(()=>!I.value&&!L.value),Y=e(()=>{let e=B.value.trim().toLowerCase(),t=[...H.value];return e&&(t=t.filter(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)||(t.composition||``).toLowerCase().includes(e))),q.value===`name`?t.sort((e,t)=>e.name.localeCompare(t.name,`fa`)):t.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||e.name.localeCompare(t.name,`fa`))});function X(){q.value=q.value===`newest`?`name`:`newest`}function ve(e){V.value=e,N.replace({path:`/products`,query:{...I.value?{categoryId:I.value}:{},...L.value?{catalogId:L.value}:{},...R.value?{companyId:R.value}:{},...z.value?{season:z.value}:{},...e.trim()?{q:e.trim()}:{}}})}async function Z(){G.value=!0,K.value=null;try{if(!P.usageCategories.length||!U.value.length){let e=await P.loadCategories();U.value=e.seasons}H.value=await P.loadBrowseProducts({categoryId:I.value||void 0,season:z.value||void 0,catalogId:L.value||void 0,companyId:R.value||void 0});let e=H.value[0];W.value=e?.catalogName||e?.catalogCode||``}catch(e){K.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`,H.value=[]}finally{G.value=!1}}ee(async()=>{await F.hydrate(),await Z()}),y([I,z,L,R],Z),y(B,e=>{V.value=e});function Q(e){N.replace({path:`/products`,query:{...I.value?{categoryId:I.value}:{},...L.value?{catalogId:L.value}:{},...R.value?{companyId:R.value}:{},...e?{season:e}:{},...B.value?{q:B.value}:{}}})}function $(e){N.push({path:`/product`,query:{id:e}})}function ye(e){return U.value.find(t=>t.id===e)?.title??e}function be(e){F.toggle(e)}return(e,m)=>(f(),c(`div`,ce,[l(S,{title:J.value,"show-back":``,centered:``,onBack:m[1]||=e=>u(N).back()},{trailing:te(()=>[g(`button`,{type:`button`,class:`nav-filter`,"aria-label":`فیلتر`,onClick:m[0]||=e=>u(N).push(`/categories`)},[l(ie,{size:18})])]),_:1},8,[`title`]),g(`div`,le,[_e.value?(f(),a(C,{key:0,"model-value":V.value,placeholder:`جستجو نام یا کد محصول...`,"onUpdate:modelValue":ve},null,8,[`model-value`])):o(``,!0),K.value?(f(),c(`p`,ue,r(K.value),1)):G.value?(f(),a(ae,{key:2,variant:`grid`})):(f(),c(s,{key:3},[g(`section`,de,[m[3]||=g(`div`,{class:`cat-banner__icon`,"aria-hidden":`true`},null,-1),g(`div`,null,[g(`h2`,null,r(J.value),1),g(`p`,null,r(ge.value),1)])]),g(`div`,fe,[g(`button`,{type:`button`,class:t([`chip`,{"chip--active":!z.value}]),onClick:m[2]||=e=>Q(``)},` همه `,2),(f(!0),c(s,null,p(U.value,e=>(f(),c(`button`,{key:e.id,type:`button`,class:t([`chip`,{"chip--active":z.value===e.id}]),onClick:t=>Q(e.id)},r(e.title),11,pe))),128))]),g(`div`,me,[g(`span`,null,`تعداد محصولات: `+r(Y.value.length.toLocaleString(`fa-IR`)),1),g(`button`,{type:`button`,class:`list-meta__sort`,onClick:X},` مرتبسازی: `+r(q.value===`newest`?`جدیدترین`:`نام`),1)]),(f(!0),c(s,null,p(Y.value,e=>(f(),c(`article`,{key:e.id,class:`product-item`,onClick:t=>$(e.id)},[g(`div`,{class:`product-item__image`,style:d(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},null,4),g(`div`,w,[g(`div`,T,[g(`div`,E,[g(`strong`,null,r(e.name),1),e.isNew?(f(),c(`span`,D,`جدید`)):o(``,!0)]),g(`button`,{type:`button`,class:`bookmark`,"aria-label":u(F).isFavorite(e.id)?`حذف از علاقهمندیها`:`افزودن به علاقهمندیها`,"aria-pressed":u(F).isFavorite(e.id),onClick:n(t=>be(e.id),[`stop`])},[l(se,{size:18,filled:u(F).isFavorite(e.id),color:u(F).isFavorite(e.id)?`#0a353c`:`#9ca3af`},null,8,[`filled`,`color`])],8,O)]),g(`ul`,k,[g(`li`,null,`عرض: `+r(e.widthCm.toLocaleString(`fa-IR`))+` سانتیمتر`,1),g(`li`,null,`ترکیب: `+r(e.composition||`—`),1),g(`li`,null,`مناسب: `+r(ye(e.season)),1)]),g(`div`,A,[(f(!0),c(s,null,p(e.colors.slice(0,6),(t,n)=>(f(),c(`span`,{key:n,class:`swatch`,style:d(u(x)(t,e.colorImages?.[n]||e.imageUrls?.[n]))},null,4))),128))]),g(`button`,{type:`button`,class:`details-link`,onClick:n(t=>$(e.id),[`stop`])},[m[4]||=i(` مشاهده جزئیات `,-1),l(re,{size:14})],8,j)])],8,he))),128)),Y.value.length?o(``,!0):(f(),c(`p`,M,`محصولی در این دسته یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-67beb24b`]]);export{N as default}; \ No newline at end of file diff --git a/dist/assets/ProductsView-l55Gj6ux.css b/dist/assets/ProductsView-l55Gj6ux.css deleted file mode 100644 index f87bfa6..0000000 --- a/dist/assets/ProductsView-l55Gj6ux.css +++ /dev/null @@ -1 +0,0 @@ -.products-page[data-v-67beb24b]{background:var(--color-bg);position:relative}.nav-filter[data-v-67beb24b]{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;place-items:center;display:grid}.products-scroll[data-v-67beb24b]{padding:8px var(--page-padding) 24px;flex-direction:column;gap:12px;display:flex}.cat-banner[data-v-67beb24b]{border-radius:var(--radius-lg);background:linear-gradient(100deg, rgba(var(--color-primary-rgb), .75), rgba(var(--color-primary-rgb), .35)), #2f3430;color:#fff;align-items:center;gap:12px;min-height:96px;padding:16px;display:flex}.cat-banner__icon[data-v-67beb24b]{background:#fff3;border-radius:999px;flex-shrink:0;width:48px;height:48px}.cat-banner h2[data-v-67beb24b]{margin:0 0 4px;font-size:1rem}.cat-banner p[data-v-67beb24b]{opacity:.9;margin:0;font-size:.8rem}.chips[data-v-67beb24b]{gap:8px;display:flex;overflow-x:auto}.chip[data-v-67beb24b]{background:var(--color-bg);color:var(--color-text);white-space:nowrap;cursor:pointer;border:none;border-radius:999px;padding:8px 14px;font-size:.8rem}.chip--active[data-v-67beb24b]{background:var(--color-primary);color:#fff}.list-meta[data-v-67beb24b]{color:var(--color-text-muted);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.list-meta__sort[data-v-67beb24b]{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.product-item[data-v-67beb24b]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;grid-template-columns:112px 1fr;align-items:stretch;gap:12px;padding:12px;display:grid}.product-item__image[data-v-67beb24b]{background:linear-gradient(145deg,#2a3544,#111827) 50%/cover;border-radius:12px;min-height:112px}.product-item__body[data-v-67beb24b]{flex-direction:column;gap:6px;min-width:0;display:flex}.product-item__head[data-v-67beb24b]{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.product-item__title[data-v-67beb24b]{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.product-item__title strong[data-v-67beb24b]{color:var(--color-text);font-size:.9375rem;font-weight:700;line-height:1.4}.new-tag[data-v-67beb24b]{background:var(--color-primary);color:#fff;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.65rem;font-weight:700}.bookmark[data-v-67beb24b]{cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;width:28px;height:28px;margin-inline-start:auto;padding:0;display:grid}.product-item__specs[data-v-67beb24b]{color:var(--color-text-muted);text-align:start;flex-direction:column;gap:2px;margin:0;padding:0;font-size:.75rem;line-height:1.55;list-style:none;display:flex}.swatches[data-v-67beb24b]{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.swatch[data-v-67beb24b]{background-position:50%;background-size:cover;border:1px solid #00000014;border-radius:999px;width:14px;height:14px}.details-link[data-v-67beb24b]{color:var(--color-info);cursor:pointer;background:0 0;border:none;align-self:flex-end;align-items:center;gap:2px;margin-top:auto;padding:0;font-size:.75rem;display:inline-flex}.empty-list[data-v-67beb24b]{text-align:center;color:var(--color-text-muted);margin:12px 0 0} diff --git a/dist/assets/ProfileChecksView-DtgHDdIY.js b/dist/assets/ProfileChecksView-CeWWUlq-.js similarity index 67% rename from dist/assets/ProfileChecksView-DtgHDdIY.js rename to dist/assets/ProfileChecksView-CeWWUlq-.js index 97073c9..d9c5d5c 100644 --- a/dist/assets/ProfileChecksView-DtgHDdIY.js +++ b/dist/assets/ProfileChecksView-CeWWUlq-.js @@ -1 +1 @@ -import{t as e}from"./CheckListView-DSyd4n4b.js";import{M as t,Y as n,z as r}from"./BasicIcon-C6boaehV.js";var i=r({__name:`ProfileChecksView`,setup(r){return(r,i)=>(n(),t(e))}});export{i as default}; \ No newline at end of file +import{t as e}from"./CheckListView-BM6vq5YZ.js";import{M as t,Y as n,z as r}from"./BasicIcon-C6boaehV.js";var i=r({__name:`ProfileChecksView`,setup(r){return(r,i)=>(n(),t(e))}});export{i as default}; \ No newline at end of file diff --git a/dist/assets/ProfileDisplayView-CwFfrYN3.js b/dist/assets/ProfileDisplayView-BeAOZ6_e.js similarity index 98% rename from dist/assets/ProfileDisplayView-CwFfrYN3.js rename to dist/assets/ProfileDisplayView-BeAOZ6_e.js index c1d509d..1bebb89 100644 --- a/dist/assets/ProfileDisplayView-CwFfrYN3.js +++ b/dist/assets/ProfileDisplayView-BeAOZ6_e.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,j as p,mt as m,n as h,rt as g,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{u as y}from"./dist-CUUvbY4x.js";import{a as b,c as x,d as S,n as C}from"./index-DzzUgmYT.js";import{t as w}from"./ProfileSubpageLayout-PN2YWH-s.js";var T={class:`settings-page`},E={class:`settings-links`,"aria-label":`حساب کاربری`},D={class:`settings-link__icon`,"aria-hidden":`true`},O={class:`settings-link__icon`,"aria-hidden":`true`},k={class:`settings-link__label`},A={key:0},j={class:`display-fieldset`},M={class:`display-grid`,role:`radiogroup`,"aria-label":`حالت نمایش`},N=[`aria-checked`,`onClick`],P={class:`theme-card__icon`,"aria-hidden":`true`},F={class:`theme-card__body`},I={class:`theme-card__label`},L={class:`theme-card__desc`},R={class:`theme-card__check`,"aria-hidden":`true`},z={key:0,class:`display-saved`},B=h(v({__name:`ProfileDisplayView`,setup(h){let v=f(),B=x(),V=S(),H=b(),U=m(!1),{start:W}=y(()=>{U.value=!1},2e3),G=[{value:`light`,label:`روشن`,description:`پسزمینه روشن و کنتراست بالا`,icon:`vuesax-linear:sun-1`},{value:`dark`,label:`تاریک`,description:`مناسب استفاده در شب`,icon:`vuesax-linear:moon`},{value:`system`,label:`سیستم`,description:`همتراز با تنظیمات دستگاه`,icon:`vuesax-linear:mobile`}],K=e(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),v.replace(`/welcome`)}return(e,f)=>(u(),i(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:g(()=>[p(`div`,T,[p(`nav`,E,[p(`button`,{type:`button`,class:`settings-link`,onClick:f[0]||=e=>l(v).push(`/profile/edit`)},[p(`span`,D,[c(_,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),f[2]||=p(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),c(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),p(`button`,{type:`button`,class:`settings-link`,onClick:f[1]||=e=>l(v).push(`/profile/checks`)},[p(`span`,O,[c(_,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),p(`span`,k,[f[3]||=r(` لیست چکها `,-1),K.value?(u(),s(`em`,A,`(`+n(K.value)+`)`,1)):a(``,!0)]),c(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),p(`fieldset`,j,[f[4]||=p(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),p(`div`,M,[(u(),s(o,null,d(G,e=>p(`button`,{key:e.value,type:`button`,class:t([`theme-card`,{"theme-card--active":l(H).preference===e.value}]),role:`radio`,"aria-checked":l(H).preference===e.value,onClick:t=>l(H).preference=e.value},[p(`span`,P,[c(_,{icon:e.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),p(`span`,F,[p(`strong`,I,n(e.label),1),p(`span`,L,n(e.description),1)]),p(`span`,R,[l(H).preference===e.value?(u(),i(_,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):a(``,!0)])],10,N)),64))])]),c(C,{block:``,onClick:q},{default:g(()=>[...f[5]||=[r(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(u(),s(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):a(``,!0),p(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-f16dc950`]]);export{B as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,j as p,mt as m,n as h,rt as g,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{u as y}from"./dist-CUUvbY4x.js";import{a as b,c as x,d as S,n as C}from"./index-fdhs4HNc.js";import{t as w}from"./ProfileSubpageLayout-PN2YWH-s.js";var T={class:`settings-page`},E={class:`settings-links`,"aria-label":`حساب کاربری`},D={class:`settings-link__icon`,"aria-hidden":`true`},O={class:`settings-link__icon`,"aria-hidden":`true`},k={class:`settings-link__label`},A={key:0},j={class:`display-fieldset`},M={class:`display-grid`,role:`radiogroup`,"aria-label":`حالت نمایش`},N=[`aria-checked`,`onClick`],P={class:`theme-card__icon`,"aria-hidden":`true`},F={class:`theme-card__body`},I={class:`theme-card__label`},L={class:`theme-card__desc`},R={class:`theme-card__check`,"aria-hidden":`true`},z={key:0,class:`display-saved`},B=h(v({__name:`ProfileDisplayView`,setup(h){let v=f(),B=x(),V=S(),H=b(),U=m(!1),{start:W}=y(()=>{U.value=!1},2e3),G=[{value:`light`,label:`روشن`,description:`پسزمینه روشن و کنتراست بالا`,icon:`vuesax-linear:sun-1`},{value:`dark`,label:`تاریک`,description:`مناسب استفاده در شب`,icon:`vuesax-linear:moon`},{value:`system`,label:`سیستم`,description:`همتراز با تنظیمات دستگاه`,icon:`vuesax-linear:mobile`}],K=e(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),v.replace(`/welcome`)}return(e,f)=>(u(),i(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:g(()=>[p(`div`,T,[p(`nav`,E,[p(`button`,{type:`button`,class:`settings-link`,onClick:f[0]||=e=>l(v).push(`/profile/edit`)},[p(`span`,D,[c(_,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),f[2]||=p(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),c(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),p(`button`,{type:`button`,class:`settings-link`,onClick:f[1]||=e=>l(v).push(`/profile/checks`)},[p(`span`,O,[c(_,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),p(`span`,k,[f[3]||=r(` لیست چکها `,-1),K.value?(u(),s(`em`,A,`(`+n(K.value)+`)`,1)):a(``,!0)]),c(_,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),p(`fieldset`,j,[f[4]||=p(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),p(`div`,M,[(u(),s(o,null,d(G,e=>p(`button`,{key:e.value,type:`button`,class:t([`theme-card`,{"theme-card--active":l(H).preference===e.value}]),role:`radio`,"aria-checked":l(H).preference===e.value,onClick:t=>l(H).preference=e.value},[p(`span`,P,[c(_,{icon:e.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),p(`span`,F,[p(`strong`,I,n(e.label),1),p(`span`,L,n(e.description),1)]),p(`span`,R,[l(H).preference===e.value?(u(),i(_,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):a(``,!0)])],10,N)),64))])]),c(C,{block:``,onClick:q},{default:g(()=>[...f[5]||=[r(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(u(),s(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):a(``,!0),p(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-f16dc950`]]);export{B as default}; \ No newline at end of file diff --git a/dist/assets/ProfileEditView-BIvFm_eS.js b/dist/assets/ProfileEditView-BMYT8anS.js similarity index 97% rename from dist/assets/ProfileEditView-BIvFm_eS.js rename to dist/assets/ProfileEditView-BMYT8anS.js index 7634e90..a5be67b 100644 --- a/dist/assets/ProfileEditView-BIvFm_eS.js +++ b/dist/assets/ProfileEditView-BMYT8anS.js @@ -1 +1 @@ -import{A as e,Et as t,L as n,M as r,N as i,P as a,R as o,Y as s,j as c,mt as l,n as u,rt as d,t as f,z as p}from"./BasicIcon-C6boaehV.js";import{c as m,n as h,r as g}from"./index-DzzUgmYT.js";import{t as _}from"./FormErrorBanner-CjdBfIQT.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./BaseInput-qoEXOHCQ.js";import{t as S}from"./ProfileSubpageLayout-PN2YWH-s.js";var C=512,w=.82;async function T(e){if(!e.type.startsWith(`image/`))throw Error(`فقط فایل تصویری مجاز است.`);if(e.size>8388608)throw Error(`حجم تصویر نباید بیشتر از ۸ مگابایت باشد.`);return D(await E(e))}function E(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(Error(`خواندن تصویر ناموفق بود.`)),r.readAsDataURL(e)})}function D(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{let e=Math.min(1,C/Math.max(r.width,r.height)),i=Math.max(1,Math.round(r.width*e)),a=Math.max(1,Math.round(r.height*e)),o=document.createElement(`canvas`);o.width=i,o.height=a;let s=o.getContext(`2d`);if(!s){n(Error(`پردازش تصویر ناموفق بود.`));return}s.drawImage(r,0,0,i,a),t(o.toDataURL(`image/jpeg`,w))},r.onerror=()=>n(Error(`تصویر نامعتبر است.`)),r.src=e})}var O={class:`profile-edit`},k={class:`avatar-editor`},A={class:`avatar-editor__actions`},j={class:`avatar-editor__btns`},M=[`disabled`],N=[`disabled`],P={class:`profile-edit__intro`},F={class:`profile-edit__intro-icon`,"aria-hidden":`true`},I={class:`profile-edit__grid`},L={class:`profile-edit__actions`},R={key:0,class:`profile-edit__saved`},z=u(p({__name:`ProfileEditView`,setup(u){let p=m(),C=l(p.user?.firstName??``),w=l(p.user?.lastName??``),E=l(p.user?.nationalId??``),D=l(p.user?.avatarUrl??null),z=l(null),B=l({}),V=l(``),H=l(!1),U=l(!1),W=e(()=>`${C.value.trim().charAt(0)}${w.value.trim().charAt(0)}`||`؟`);function G(e){B.value=v(B.value,e),y(B.value)||(V.value=``)}function K(){z.value?.click()}async function q(e){U.value=!0,V.value=``;try{let t=await p.updateProfile({avatarUrl:e??``});t?D.value=t.avatarUrl??null:D.value=e}catch(e){V.value=e instanceof Error?e.message:`ذخیره تصویر ناموفق بود.`}finally{U.value=!1}}async function J(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){U.value=!0,V.value=``;try{let e=await T(n);D.value=e,await q(e)}catch(e){V.value=e instanceof Error?e.message:`بارگذاری تصویر ناموفق بود.`,U.value=!1}}}async function Y(){D.value=null,await q(null)}async function X(){B.value={},V.value=``,H.value=!1;let e={};if(C.value.trim()||(e.firstName=`نام الزامی است.`),w.value.trim()||(e.lastName=`نام خانوادگی الزامی است.`),E.value&&E.value.length!==10&&(e.nationalId=`کد ملی باید ۱۰ رقم باشد.`),y(e)){B.value=e,V.value=b;return}if(!await p.updateProfile({firstName:C.value.trim(),lastName:w.value.trim(),nationalId:E.value||void 0,avatarUrl:D.value??``})){V.value=`ذخیره پروفایل ناموفق بود.`;return}H.value=!0,setTimeout(()=>{H.value=!1},2e3)}return(e,l)=>(s(),r(S,{title:`اطلاعات کاربری`,subtitle:`ویرایش تصویر، نام و کد ملی حساب کاربری`},{default:d(()=>[o(_,{message:V.value},null,8,[`message`]),c(`div`,O,[c(`div`,k,[o(g,{src:D.value,initials:W.value,size:96,class:`avatar-editor__photo`},null,8,[`src`,`initials`]),c(`div`,A,[l[6]||=c(`p`,{class:`avatar-editor__title`},`تصویر پروفایل`,-1),l[7]||=c(`p`,{class:`avatar-editor__hint`},`افزودن، تغییر یا حذف عکس نمایشدادهشده در پروفایل`,-1),c(`div`,j,[c(`button`,{type:`button`,class:`avatar-btn`,disabled:U.value,onClick:K},t(D.value?`تغییر تصویر`:`افزودن تصویر`),9,M),D.value?(s(),a(`button`,{key:0,type:`button`,class:`avatar-btn avatar-btn--danger`,disabled:U.value,onClick:Y},` حذف تصویر `,8,N)):i(``,!0)])]),c(`input`,{ref_key:`fileInput`,ref:z,type:`file`,accept:`image/*`,class:`avatar-editor__file`,onChange:J},null,544)]),c(`div`,P,[c(`span`,F,[o(f,{icon:`vuesax-linear:profile-circle`,size:22,"stroke-width":1.5})]),l[8]||=c(`div`,{class:`profile-edit__intro-text`},[c(`strong`,null,`مشخصات فردی`),c(`p`,null,`این اطلاعات روی سفارشها و چکهای ثبتشده نمایش داده میشود.`)],-1)]),c(`div`,I,[o(x,{modelValue:C.value,"onUpdate:modelValue":[l[0]||=e=>C.value=e,l[1]||=e=>G(`firstName`)],label:`نام`,error:B.value.firstName},null,8,[`modelValue`,`error`]),o(x,{modelValue:w.value,"onUpdate:modelValue":[l[2]||=e=>w.value=e,l[3]||=e=>G(`lastName`)],label:`نام خانوادگی`,error:B.value.lastName},null,8,[`modelValue`,`error`]),o(x,{modelValue:E.value,"onUpdate:modelValue":[l[4]||=e=>E.value=e,l[5]||=e=>G(`nationalId`)],class:`profile-edit__full`,label:`کد ملی`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,hint:`برای ثبت چک الزامی است`,error:B.value.nationalId},null,8,[`modelValue`,`error`])]),c(`div`,L,[o(h,{class:`profile-edit__save`,onClick:X},{default:d(()=>[...l[9]||=[n(`ذخیره تغییرات`,-1)]]),_:1}),H.value?(s(),a(`p`,R,`ذخیره شد ✓`)):i(``,!0)])])]),_:1}))}}),[[`__scopeId`,`data-v-bd0a4276`]]);export{z as default}; \ No newline at end of file +import{A as e,Et as t,L as n,M as r,N as i,P as a,R as o,Y as s,j as c,mt as l,n as u,rt as d,t as f,z as p}from"./BasicIcon-C6boaehV.js";import{c as m,n as h,r as g}from"./index-fdhs4HNc.js";import{t as _}from"./FormErrorBanner-CjdBfIQT.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./BaseInput-C6eO_Qjy.js";import{t as S}from"./ProfileSubpageLayout-PN2YWH-s.js";var C=512,w=.82;async function T(e){if(!e.type.startsWith(`image/`))throw Error(`فقط فایل تصویری مجاز است.`);if(e.size>8388608)throw Error(`حجم تصویر نباید بیشتر از ۸ مگابایت باشد.`);return D(await E(e))}function E(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(Error(`خواندن تصویر ناموفق بود.`)),r.readAsDataURL(e)})}function D(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{let e=Math.min(1,C/Math.max(r.width,r.height)),i=Math.max(1,Math.round(r.width*e)),a=Math.max(1,Math.round(r.height*e)),o=document.createElement(`canvas`);o.width=i,o.height=a;let s=o.getContext(`2d`);if(!s){n(Error(`پردازش تصویر ناموفق بود.`));return}s.drawImage(r,0,0,i,a),t(o.toDataURL(`image/jpeg`,w))},r.onerror=()=>n(Error(`تصویر نامعتبر است.`)),r.src=e})}var O={class:`profile-edit`},k={class:`avatar-editor`},A={class:`avatar-editor__actions`},j={class:`avatar-editor__btns`},M=[`disabled`],N=[`disabled`],P={class:`profile-edit__intro`},F={class:`profile-edit__intro-icon`,"aria-hidden":`true`},I={class:`profile-edit__grid`},L={class:`profile-edit__actions`},R={key:0,class:`profile-edit__saved`},z=u(p({__name:`ProfileEditView`,setup(u){let p=m(),C=l(p.user?.firstName??``),w=l(p.user?.lastName??``),E=l(p.user?.nationalId??``),D=l(p.user?.avatarUrl??null),z=l(null),B=l({}),V=l(``),H=l(!1),U=l(!1),W=e(()=>`${C.value.trim().charAt(0)}${w.value.trim().charAt(0)}`||`؟`);function G(e){B.value=v(B.value,e),y(B.value)||(V.value=``)}function K(){z.value?.click()}async function q(e){U.value=!0,V.value=``;try{let t=await p.updateProfile({avatarUrl:e??``});t?D.value=t.avatarUrl??null:D.value=e}catch(e){V.value=e instanceof Error?e.message:`ذخیره تصویر ناموفق بود.`}finally{U.value=!1}}async function J(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){U.value=!0,V.value=``;try{let e=await T(n);D.value=e,await q(e)}catch(e){V.value=e instanceof Error?e.message:`بارگذاری تصویر ناموفق بود.`,U.value=!1}}}async function Y(){D.value=null,await q(null)}async function X(){B.value={},V.value=``,H.value=!1;let e={};if(C.value.trim()||(e.firstName=`نام الزامی است.`),w.value.trim()||(e.lastName=`نام خانوادگی الزامی است.`),E.value&&E.value.length!==10&&(e.nationalId=`کد ملی باید ۱۰ رقم باشد.`),y(e)){B.value=e,V.value=b;return}if(!await p.updateProfile({firstName:C.value.trim(),lastName:w.value.trim(),nationalId:E.value||void 0,avatarUrl:D.value??``})){V.value=`ذخیره پروفایل ناموفق بود.`;return}H.value=!0,setTimeout(()=>{H.value=!1},2e3)}return(e,l)=>(s(),r(S,{title:`اطلاعات کاربری`,subtitle:`ویرایش تصویر، نام و کد ملی حساب کاربری`},{default:d(()=>[o(_,{message:V.value},null,8,[`message`]),c(`div`,O,[c(`div`,k,[o(g,{src:D.value,initials:W.value,size:96,class:`avatar-editor__photo`},null,8,[`src`,`initials`]),c(`div`,A,[l[6]||=c(`p`,{class:`avatar-editor__title`},`تصویر پروفایل`,-1),l[7]||=c(`p`,{class:`avatar-editor__hint`},`افزودن، تغییر یا حذف عکس نمایشدادهشده در پروفایل`,-1),c(`div`,j,[c(`button`,{type:`button`,class:`avatar-btn`,disabled:U.value,onClick:K},t(D.value?`تغییر تصویر`:`افزودن تصویر`),9,M),D.value?(s(),a(`button`,{key:0,type:`button`,class:`avatar-btn avatar-btn--danger`,disabled:U.value,onClick:Y},` حذف تصویر `,8,N)):i(``,!0)])]),c(`input`,{ref_key:`fileInput`,ref:z,type:`file`,accept:`image/*`,class:`avatar-editor__file`,onChange:J},null,544)]),c(`div`,P,[c(`span`,F,[o(f,{icon:`vuesax-linear:profile-circle`,size:22,"stroke-width":1.5})]),l[8]||=c(`div`,{class:`profile-edit__intro-text`},[c(`strong`,null,`مشخصات فردی`),c(`p`,null,`این اطلاعات روی سفارشها و چکهای ثبتشده نمایش داده میشود.`)],-1)]),c(`div`,I,[o(x,{modelValue:C.value,"onUpdate:modelValue":[l[0]||=e=>C.value=e,l[1]||=e=>G(`firstName`)],label:`نام`,error:B.value.firstName},null,8,[`modelValue`,`error`]),o(x,{modelValue:w.value,"onUpdate:modelValue":[l[2]||=e=>w.value=e,l[3]||=e=>G(`lastName`)],label:`نام خانوادگی`,error:B.value.lastName},null,8,[`modelValue`,`error`]),o(x,{modelValue:E.value,"onUpdate:modelValue":[l[4]||=e=>E.value=e,l[5]||=e=>G(`nationalId`)],class:`profile-edit__full`,label:`کد ملی`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,hint:`برای ثبت چک الزامی است`,error:B.value.nationalId},null,8,[`modelValue`,`error`])]),c(`div`,L,[o(h,{class:`profile-edit__save`,onClick:X},{default:d(()=>[...l[9]||=[n(`ذخیره تغییرات`,-1)]]),_:1}),H.value?(s(),a(`p`,R,`ذخیره شد ✓`)):i(``,!0)])])]),_:1}))}}),[[`__scopeId`,`data-v-bd0a4276`]]);export{z as default}; \ No newline at end of file diff --git a/dist/assets/ProfileNotificationsView-BtwJaRCQ.js b/dist/assets/ProfileNotificationsView-qTfW9-vz.js similarity index 94% rename from dist/assets/ProfileNotificationsView-BtwJaRCQ.js rename to dist/assets/ProfileNotificationsView-qTfW9-vz.js index b234b38..78c21b8 100644 --- a/dist/assets/ProfileNotificationsView-BtwJaRCQ.js +++ b/dist/assets/ProfileNotificationsView-qTfW9-vz.js @@ -1 +1 @@ -import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,j as p,n as m,q as h,rt as g,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{i as y}from"./format-BHJptHdF.js";import{n as b,u as x}from"./index-DzzUgmYT.js";import{t as S}from"./EmptyState-C_QQeA_h.js";import{t as C}from"./ProfileSubpageLayout-PN2YWH-s.js";var w={key:0,class:`notif-box`},T={class:`notif-box__head`},E={class:`notif-box__count`},D=[`onClick`],O={class:`notif-row__icon`,"aria-hidden":`true`},k={class:`notif-row__body`},A={class:`notif-row__title-row`},j={class:`notif-row__title`},M={key:0,class:`notif-row__dot`,"aria-label":`خواندهنشده`},N={class:`notif-row__text`},P={class:`notif-row__time`},F=m(v({__name:`ProfileNotificationsView`,setup(m){let v=f(),F=x(),I=e(()=>F.items),L=e(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};h(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&v.push(e.link)}return(e,f)=>(u(),i(C,{title:`اعلانها`,subtitle:`سفارشها، پیشنهاد محصول و سایر اعلانها`},{default:g(()=>[I.value.length?(u(),s(`div`,w,[p(`div`,T,[p(`span`,E,n(L.value?`${l(F).unreadCount} اعلان خواندهنشده`:`همه خوانده شده`),1),L.value?(u(),i(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:f[0]||=e=>l(F).markAllRead()},{default:g(()=>[...f[2]||=[r(` خواندن همه `,-1)]]),_:1})):a(``,!0)]),(u(!0),s(o,null,d(I.value,e=>(u(),s(`button`,{key:e.id,type:`button`,class:t([`notif-row`,[`notif-row--${e.tone}`,{"notif-row--unread":!e.isRead}]]),onClick:t=>z(e)},[p(`span`,O,[c(_,{icon:R[e.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),p(`span`,k,[p(`span`,A,[p(`strong`,j,n(e.title),1),e.isRead?a(``,!0):(u(),s(`span`,M))]),p(`span`,N,n(e.body),1),p(`span`,P,n(l(y)(e.sentAt)),1)])],10,D))),128))])):(u(),i(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود، پیشنهاد محصولی برایتان ثبت شود یا وضعیت پرداخت تغییر کند، همینجا خبردار میشوید.`},{default:g(()=>[c(b,{variant:`outline`,onClick:f[1]||=e=>l(v).push(`/orders`)},{default:g(()=>[...f[3]||=[r(`سفارشهای من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-7e884b50`]]);export{F as default}; \ No newline at end of file +import{A as e,Ct as t,Et as n,L as r,M as i,N as a,O as o,P as s,R as c,St as l,Y as u,Z as d,_ as f,j as p,n as m,q as h,rt as g,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{i as y}from"./format-BHJptHdF.js";import{n as b,u as x}from"./index-fdhs4HNc.js";import{t as S}from"./EmptyState-C_QQeA_h.js";import{t as C}from"./ProfileSubpageLayout-PN2YWH-s.js";var w={key:0,class:`notif-box`},T={class:`notif-box__head`},E={class:`notif-box__count`},D=[`onClick`],O={class:`notif-row__icon`,"aria-hidden":`true`},k={class:`notif-row__body`},A={class:`notif-row__title-row`},j={class:`notif-row__title`},M={key:0,class:`notif-row__dot`,"aria-label":`خواندهنشده`},N={class:`notif-row__text`},P={class:`notif-row__time`},F=m(v({__name:`ProfileNotificationsView`,setup(m){let v=f(),F=x(),I=e(()=>F.items),L=e(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};h(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&v.push(e.link)}return(e,f)=>(u(),i(C,{title:`اعلانها`,subtitle:`سفارشها، پیشنهاد محصول و سایر اعلانها`},{default:g(()=>[I.value.length?(u(),s(`div`,w,[p(`div`,T,[p(`span`,E,n(L.value?`${l(F).unreadCount} اعلان خواندهنشده`:`همه خوانده شده`),1),L.value?(u(),i(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:f[0]||=e=>l(F).markAllRead()},{default:g(()=>[...f[2]||=[r(` خواندن همه `,-1)]]),_:1})):a(``,!0)]),(u(!0),s(o,null,d(I.value,e=>(u(),s(`button`,{key:e.id,type:`button`,class:t([`notif-row`,[`notif-row--${e.tone}`,{"notif-row--unread":!e.isRead}]]),onClick:t=>z(e)},[p(`span`,O,[c(_,{icon:R[e.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),p(`span`,k,[p(`span`,A,[p(`strong`,j,n(e.title),1),e.isRead?a(``,!0):(u(),s(`span`,M))]),p(`span`,N,n(e.body),1),p(`span`,P,n(l(y)(e.sentAt)),1)])],10,D))),128))])):(u(),i(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود، پیشنهاد محصولی برایتان ثبت شود یا وضعیت پرداخت تغییر کند، همینجا خبردار میشوید.`},{default:g(()=>[c(b,{variant:`outline`,onClick:f[1]||=e=>l(v).push(`/orders`)},{default:g(()=>[...f[3]||=[r(`سفارشهای من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-7e884b50`]]);export{F as default}; \ No newline at end of file diff --git a/dist/assets/ProfileSecurityView-CE_e1P0U.js b/dist/assets/ProfileSecurityView-K8rOJGfa.js similarity index 93% rename from dist/assets/ProfileSecurityView-CE_e1P0U.js rename to dist/assets/ProfileSecurityView-K8rOJGfa.js index 5bc63b3..8037225 100644 --- a/dist/assets/ProfileSecurityView-CE_e1P0U.js +++ b/dist/assets/ProfileSecurityView-K8rOJGfa.js @@ -1 +1 @@ -import{L as e,M as t,N as n,P as r,R as i,Y as a,j as o,mt as s,n as c,rt as l,z as u}from"./BasicIcon-C6boaehV.js";import{n as d}from"./index-DzzUgmYT.js";import{t as f}from"./FormErrorBanner-CjdBfIQT.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-qoEXOHCQ.js";import{t as _}from"./ProfileSubpageLayout-PN2YWH-s.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(u({__name:`ProfileSecurityView`,setup(c){let u=s(``),b=s(``),x=s(``),S=s({}),C=s(``),w=s(!1);function T(e){S.value=p(S.value,e),m(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(u.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}u.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(s,c)=>(a(),t(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:l(()=>[i(f,{message:C.value},null,8,[`message`]),o(`div`,v,[i(g,{modelValue:u.value,"onUpdate:modelValue":[c[0]||=e=>u.value=e,c[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:b.value,"onUpdate:modelValue":[c[2]||=e=>b.value=e,c[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:x.value,"onUpdate:modelValue":[c[4]||=e=>x.value=e,c[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),i(d,{block:``,onClick:E},{default:l(()=>[...c[6]||=[e(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(a(),r(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):n(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default}; \ No newline at end of file +import{L as e,M as t,N as n,P as r,R as i,Y as a,j as o,mt as s,n as c,rt as l,z as u}from"./BasicIcon-C6boaehV.js";import{n as d}from"./index-fdhs4HNc.js";import{t as f}from"./FormErrorBanner-CjdBfIQT.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-C6eO_Qjy.js";import{t as _}from"./ProfileSubpageLayout-PN2YWH-s.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(u({__name:`ProfileSecurityView`,setup(c){let u=s(``),b=s(``),x=s(``),S=s({}),C=s(``),w=s(!1);function T(e){S.value=p(S.value,e),m(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(u.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}u.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(s,c)=>(a(),t(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:l(()=>[i(f,{message:C.value},null,8,[`message`]),o(`div`,v,[i(g,{modelValue:u.value,"onUpdate:modelValue":[c[0]||=e=>u.value=e,c[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:b.value,"onUpdate:modelValue":[c[2]||=e=>b.value=e,c[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:x.value,"onUpdate:modelValue":[c[4]||=e=>x.value=e,c[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),i(d,{block:``,onClick:E},{default:l(()=>[...c[6]||=[e(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(a(),r(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):n(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default}; \ No newline at end of file diff --git a/dist/assets/ProfileView-BnfYcxhD.js b/dist/assets/ProfileView-BnfYcxhD.js new file mode 100644 index 0000000..b4ab9c1 --- /dev/null +++ b/dist/assets/ProfileView-BnfYcxhD.js @@ -0,0 +1 @@ +import{A as e,Ct as t,E as n,Et as r,I as ee,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,j as h,mt as g,n as te,q as ne,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{o as y,r as re}from"./format-BHJptHdF.js";import{C as ie,c as ae,d as oe,o as se,r as ce,s as le,u as ue}from"./index-fdhs4HNc.js";import{r as b,t as x}from"./constants-DXXK14Zz.js";import{t as S}from"./PageSkeleton-sKuEY4NI.js";import{n as C,t as w}from"./crm-DmqasSZ_.js";var T=v({__name:`IconSettings`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(f(),a(_,{icon:`vuesax-linear:setting-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),E={class:`page profile-page`},D={class:`page__scroll page__scroll--with-nav profile-scroll`},O={class:`hero`},k={class:`hero__pin`},A={class:`hero__top mobile-only`},j=[`aria-label`],M={class:`hero__meta`},N={class:`level-pill`},P={class:`hero__desk-actions desktop-only-flex`},F={class:`profile-sheet`},I={class:`panel`},L={class:`panel__head`},R={class:`panel__period`},z={class:`stats`},B={class:`stat-card`},V={class:`stat-card__text`},H={class:`stat-card__value`},U={class:`stat-card__icon stat-card__icon--orders`},de={class:`stat-card`},fe={class:`stat-card__text`},pe={class:`stat-card__value`},me={class:`stat-card__icon stat-card__icon--customers`},he={class:`stat-card`},ge={class:`stat-card__text`},_e={class:`stat-card__value`},ve={class:`stat-card__icon stat-card__icon--profit`},ye={class:`stat-card`},be={class:`stat-card__text`},xe={class:`stat-card__value`},Se={class:`stat-card__icon stat-card__icon--sales`},Ce={class:`loyalty`},we={class:`loyalty__row`},Te={class:`loyalty__text`},Ee={class:`loyalty__text-next`},De={class:`loyalty__bar`},Oe={class:`quick-section`},ke={class:`quick-grid`},Ae=[`onClick`],je={class:`quick-item__icon`},Me={class:`orders-box`},Ne={class:`section-head`},Pe=[`onClick`,`onKeydown`],Fe={class:`order-row__meta`},Ie={class:`order-row__date`},Le={class:`order-row__title`},Re={key:0,class:`order-row__customer`},ze={class:`price-section`},Be={class:`price-card`},Ve={class:`price-card__body`},He={class:`price-card__info`},W=te(v({__name:`MobileProfilePage`,setup(te){let v={id:`sample-base-price`,name:`پارچه فاستونی ایتالیایی`,code:`DF-1204`,categoryId:``,season:`all_season`,widthCm:160,composition:``,colors:[`1`,`2`,`3`,`4`,`5`,`6`],tags:[],isNew:!1,rollMeters:0,basePrice:38e4},W=m(),G=ae(),K=oe(),Ue=w(),q=ue(),J=g(null),Y=g(v),X=g(!1),We=[{label:`ثبت مشتری جدید`,to:`/customers`,icon:`vuesax-linear:add`},{label:`سفارشها`,to:`/orders`,icon:`vuesax-linear:document-text`},{label:`مشتریان من`,to:`/customers`,icon:`vuesax-linear:people`},{label:`گزارشها`,to:`/reminders`,icon:`vuesax-linear:chart-2`},{label:`درخواست کالیته`,to:`/catalog-request`,icon:`vuesax-linear:category`},{label:`قیمتگذاری`,to:`/categories`,icon:`vuesax-linear:money-4`}],Ge=e(()=>[...K.orders].sort((e,t)=>String(t.createdAt).localeCompare(String(e.createdAt))).slice(0,3).map(e=>{let t=b[e.status]??`info`,n=t===`danger`||t===`neutral`?`danger`:t===`success`?`success`:t===`warning`?`warning`:`info`;return{id:e.id,title:`سفارش #${e.orderNumber}`,date:e.createdAt?re(e.createdAt):``,customer:e.companyName||``,statusLabel:x[e.status]||e.status,statusTone:n}})),Z=e(()=>G.fullName||`کاربر`),Q=e(()=>J.value?.code||G.user?.agentCode||`—`),$=e(()=>J.value?.levelLabel||G.user?.levelLabel||`برنزی`),Ke=e(()=>J.value?.nextLevelLabel||G.user?.nextLevelLabel||`نقرهای`),qe=e(()=>J.value?.pointsToNext??G.user?.pointsToNext??0),Je=e(()=>J.value?.periodLabel||`۳۰ روز اخیر`),Ye=e(()=>J.value?.customersCount??0),Xe=e(()=>J.value?.ordersCount??K.orders.length),Ze=e(()=>J.value?.salesVolumeToman??0),Qe=e(()=>J.value?.profitToman??0),$e=e(()=>J.value?.levelProgress??G.user?.levelProgress??0),et=e(()=>q.unreadCount>9?`9+`:String(q.unreadCount)),tt=e(()=>Y.value.basePrice??v.basePrice??0);return ne(async()=>{X.value=!0;try{q.hydrate();try{J.value=await C()}catch{J.value=null}try{let e=(await Ue.loadBrowseProducts())[0];Y.value=e?{...v,...e,basePrice:e.basePrice??v.basePrice}:v}catch{Y.value=v}K.orders.length||await K.hydrate()}finally{X.value=!1}}),(e,m)=>(f(),c(`div`,E,[h(`div`,D,[h(`header`,O,[h(`div`,k,[h(`div`,A,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`تنظیمات`,onClick:m[0]||=e=>u(W).push(`/profile/display`)},[l(T,{size:20,color:`#ffffff`})]),m[7]||=h(`h1`,null,`پروفایل من`,-1),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلانها`,onClick:m[1]||=e=>u(W).push(`/profile/notifications`)},[l(le,{size:20,color:`#ffffff`}),u(q).hasUnread?(f(),c(`span`,{key:0,class:`icon-btn__badge`,"aria-label":`${u(q).unreadCount} اعلان خواندهنشده`},r(et.value),9,j)):o(``,!0)])]),l(ce,{class:`hero__avatar`,src:u(G).user?.avatarUrl,initials:Z.value.charAt(0),size:84},null,8,[`src`,`initials`])]),h(`div`,M,[h(`h2`,null,r(Z.value),1),h(`p`,null,`کد واسطه: `+r(Q.value),1),h(`span`,N,[m[8]||=h(`svg`,{class:`level-pill__crown`,viewBox:`0 0 24 24`,"aria-hidden":`true`},[h(`path`,{fill:`currentColor`,d:`M3.5 17.5h17l-1.2-8.2a1 1 0 0 0-1.5-.7L14 11l-2.5-5.2a1 1 0 0 0-1.8 0L7.2 11 4.2 8.6a1 1 0 0 0-1.5.7L3.5 17.5Zm1.7 1.5h13.6v1.2H5.2V19Z`})],-1),i(` سطح: `+r($.value),1)])]),h(`div`,P,[h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[2]||=e=>u(W).push(`/profile/edit`)},` ویرایش اطلاعات `),h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[3]||=e=>u(W).push(`/profile/checks`)},` لیست چکها `),h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[4]||=e=>u(W).push(`/profile/display`)},` تنظیمات `)])]),h(`div`,F,[X.value?(f(),a(S,{key:0,variant:`profile`})):(f(),c(s,{key:1},[h(`section`,I,[h(`div`,L,[m[9]||=h(`h3`,null,`خلاصه عملکرد`,-1),h(`span`,R,[i(r(Je.value)+` `,1),l(_,{icon:`vuesax-linear:arrow-down`,size:14,"stroke-width":1.5})])]),h(`div`,z,[h(`div`,B,[h(`div`,V,[m[10]||=h(`span`,{class:`stat-card__label`},`سفارشها`,-1),h(`strong`,H,r(u(y)(Xe.value)),1),m[11]||=h(`em`,{class:`stat-card__hint`},`سفارش`,-1)]),h(`span`,U,[l(ie,{size:18})])]),h(`div`,de,[h(`div`,fe,[m[12]||=h(`span`,{class:`stat-card__label`},`مشتریان من`,-1),h(`strong`,pe,r(u(y)(Ye.value)),1),m[13]||=h(`em`,{class:`stat-card__hint`},`مشتری فعال`,-1)]),h(`span`,me,[l(_,{icon:`vuesax-linear:people`,size:18,"stroke-width":1.5})])]),h(`div`,he,[h(`div`,ge,[m[14]||=h(`span`,{class:`stat-card__label`},`سود شما (ریال)`,-1),h(`strong`,_e,r(u(y)(Qe.value)),1),m[15]||=h(`em`,{class:`stat-card__hint`},`تومان`,-1)]),h(`span`,ve,[l(_,{icon:`vuesax-linear:chart-2`,size:18,"stroke-width":1.5})])]),h(`div`,ye,[h(`div`,be,[m[16]||=h(`span`,{class:`stat-card__label`},`حجم فروش (ریال)`,-1),h(`strong`,xe,r(u(y)(Ze.value)),1),m[17]||=h(`em`,{class:`stat-card__hint`},`تومان`,-1)]),h(`span`,Se,[l(_,{icon:`vuesax-linear:wallet`,size:18,"stroke-width":1.5})])])])]),h(`section`,Ce,[h(`div`,we,[m[18]||=ee(`
`,1),h(`p`,Te,[h(`span`,null,`شما در سطح `+r($.value)+` قرار دارید.`,1),h(`span`,Ee,` تا سطح `+r(Ke.value)+` فقط `+r(u(y)(qe.value))+` تومان فروش دیگر نیاز دارید. `,1)])]),h(`div`,De,[h(`span`,{style:d({width:`${Math.min(100,Math.max(0,$e.value))}%`})},null,4)])]),h(`section`,Oe,[m[19]||=h(`h3`,{class:`section-title`},`دسترسی سریع`,-1),h(`div`,ke,[(f(),c(s,null,p(We,e=>h(`button`,{key:e.label,type:`button`,class:`quick-item`,onClick:t=>u(W).push(e.to)},[h(`span`,je,[l(_,{icon:e.icon,size:22,"stroke-width":1.5},null,8,[`icon`])]),i(` `+r(e.label),1)],8,Ae)),64))])]),h(`section`,Me,[h(`div`,Ne,[m[20]||=h(`h3`,null,`آخرین سفارشها`,-1),h(`button`,{type:`button`,class:`link`,onClick:m[5]||=e=>u(W).push(`/orders`)},`مشاهده همه`)]),(f(!0),c(s,null,p(Ge.value,e=>(f(),c(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>u(W).push({path:`/order`,query:{id:e.id}}),onKeydown:n(t=>u(W).push({path:`/order`,query:{id:e.id}}),[`enter`])},[h(`div`,Fe,[h(`span`,Ie,r(e.date),1),h(`strong`,Le,r(e.title),1),e.customer?(f(),c(`p`,Re,`مشتری: `+r(e.customer),1)):o(``,!0)]),h(`span`,{class:t([`tone`,`tone--${e.statusTone}`])},r(e.statusLabel),3),l(se,{size:16,class:`order-row__chevron`})],40,Pe))),128)),h(`button`,{type:`button`,class:`orders-all`,onClick:m[6]||=e=>u(W).push(`/orders`)},` مشاهده همه سفارشها `)]),h(`section`,ze,[m[21]||=h(`h3`,{class:`section-title`},`قیمتهای پایه (نمونه)`,-1),h(`div`,Be,[h(`div`,Ve,[h(`div`,He,[h(`strong`,null,r(Y.value.name),1),h(`p`,null,`کد: `+r(Y.value.code),1),h(`p`,null,`عرض: `+r(u(y)(Y.value.widthCm))+` سانتیمتر`,1),h(`p`,null,`رنگها: `+r(u(y)(Y.value.colors.length))+` رنگ`,1)]),h(`div`,{class:`price-card__image`,style:d(Y.value.imageUrl?{backgroundImage:`url(${Y.value.imageUrl})`}:void 0)},null,4)]),h(`footer`,null,`قیمت پایه به شما: `+r(u(y)(tt.value))+` تومان / متر`,1)])])],64))])])]))}}),[[`__scopeId`,`data-v-7e89a222`]]),G=v({__name:`ProfileView`,setup(e){return(e,t)=>(f(),a(W))}});export{G as default}; \ No newline at end of file diff --git a/dist/assets/ProfileView-D8tUQfUl.css b/dist/assets/ProfileView-D8tUQfUl.css deleted file mode 100644 index 07c8a4a..0000000 --- a/dist/assets/ProfileView-D8tUQfUl.css +++ /dev/null @@ -1 +0,0 @@ -.profile-page[data-v-7cfe559f]{background:var(--color-primary)}.hero[data-v-7cfe559f]{color:#fff;text-align:center;background:linear-gradient(145deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 78%, #0a1f18) 100%);padding:0 0 28px}.hero__pin[data-v-7cfe559f]{z-index:3;padding:12px var(--page-padding) 10px;background:linear-gradient(145deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 78%, #0a1f18) 100%);position:sticky;top:0}.hero__top[data-v-7cfe559f]{grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:12px;display:grid}.hero__top h1[data-v-7cfe559f]{margin:0;font-size:1rem;font-weight:700}.icon-btn[data-v-7cfe559f]{cursor:pointer;color:#fff;background:0 0;border:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.icon-btn__badge[data-v-7cfe559f]{top:4px;color:#fff;text-align:center;background:#f59e0b;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;font-weight:700;line-height:16px;position:absolute;inset-inline-start:4px}.hero__avatar[data-v-7cfe559f]{color:#fff;border:3px solid #ffffff59;margin:0 auto}.hero__meta[data-v-7cfe559f]{padding:10px var(--page-padding) 0}.hero h2[data-v-7cfe559f]{margin:0;font-size:1.2rem;font-weight:700}.hero p[data-v-7cfe559f]{opacity:.88;margin:6px 0 12px;font-size:.85rem}.level-pill[data-v-7cfe559f]{border:1px solid var(--color-level-gold);background:color-mix(in srgb, var(--color-level-gold) 16%, transparent);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:.8125rem;display:inline-flex}.level-pill__crown[data-v-7cfe559f]{width:14px;height:14px;color:var(--color-level-gold)}.profile-scroll[data-v-7cfe559f]{background:0 0;flex:1;min-height:0;padding:0}.profile-sheet[data-v-7cfe559f]{z-index:1;padding:20px var(--page-padding) 24px;background:var(--color-bg);border-radius:24px 24px 0 0;flex-direction:column;gap:18px;margin-top:-20px;display:flex;position:relative;box-shadow:0 -4px 16px #0000000f}.profile-sheet[data-v-7cfe559f]>*{flex-shrink:0}.panel__head[data-v-7cfe559f],.section-head[data-v-7cfe559f]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel__head h3[data-v-7cfe559f],.section-head h3[data-v-7cfe559f],.section-title[data-v-7cfe559f]{color:var(--color-text);margin:0;font-size:.95rem;font-weight:700}.section-title[data-v-7cfe559f]{margin-bottom:12px}.panel__period[data-v-7cfe559f]{color:var(--color-text-muted);align-items:center;gap:2px;font-size:.8rem;display:inline-flex}.link[data-v-7cfe559f]{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.8rem;font-weight:600}.stats[data-v-7cfe559f]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat-card[data-v-7cfe559f]{background:var(--color-surface);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-radius:14px;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.stat-card__text[data-v-7cfe559f]{text-align:start;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stat-card__icon[data-v-7cfe559f]{border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.stat-card__icon--orders[data-v-7cfe559f],.stat-card__icon--customers[data-v-7cfe559f]{background:color-mix(in srgb, var(--color-success) 14%, transparent);color:var(--color-success)}.stat-card__icon--profit[data-v-7cfe559f]{background:color-mix(in srgb, var(--color-info) 14%, transparent);color:var(--color-info)}.stat-card__icon--sales[data-v-7cfe559f]{background:color-mix(in srgb, var(--color-level-gold) 22%, transparent);color:#b8860b}.stat-card__label[data-v-7cfe559f]{color:var(--color-text-muted);font-size:.75rem}.stat-card__value[data-v-7cfe559f]{color:var(--color-text);font-size:1.05rem;font-weight:700;line-height:1.3}.stat-card__hint[data-v-7cfe559f]{color:var(--color-text-muted);font-size:.7rem;font-style:normal}.loyalty[data-v-7cfe559f]{background:var(--color-primary-soft);border-radius:14px;padding:14px}.loyalty__row[data-v-7cfe559f]{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.loyalty__crown[data-v-7cfe559f]{flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.loyalty__text[data-v-7cfe559f]{color:var(--color-text);text-align:start;margin:0;font-size:.8125rem;line-height:1.75}.loyalty__bar[data-v-7cfe559f]{background:rgba(var(--color-primary-rgb), .15);border-radius:999px;height:8px;overflow:hidden}.loyalty__bar span[data-v-7cfe559f]{background:var(--color-primary);border-radius:inherit;height:100%;display:block}.quick-grid[data-v-7cfe559f]{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quick-item[data-v-7cfe559f]{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;min-height:88px;padding:14px 8px 12px;font-family:inherit;font-size:.72rem;line-height:1.4;display:flex}.quick-item__icon[data-v-7cfe559f]{width:40px;height:40px;color:var(--color-primary);place-items:center;display:grid}.orders-box[data-v-7cfe559f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-shrink:0;padding:4px 0 0;overflow:hidden}.orders-box .section-head[data-v-7cfe559f]{margin:0;padding:12px 14px 10px}.order-row[data-v-7cfe559f]{border:none;border-top:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:0;grid-template-columns:1fr auto 16px;align-items:center;gap:8px;margin:0;padding:12px 14px;display:grid}.orders-all[data-v-7cfe559f]{border:none;border-top:1px solid var(--color-border);width:100%;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border-radius:0;margin:0;padding:12px 14px;font-size:.875rem;font-weight:600}.order-row__meta[data-v-7cfe559f]{text-align:start;min-width:0}.order-row__date[data-v-7cfe559f]{color:var(--color-text-muted);margin-bottom:2px;font-size:.75rem;display:block}.order-row__title[data-v-7cfe559f]{font-size:.875rem;display:block}.order-row__customer[data-v-7cfe559f]{color:var(--color-text-muted);margin:2px 0 0;font-size:.75rem}.order-row__chevron[data-v-7cfe559f]{color:var(--color-text-muted)}.tone[data-v-7cfe559f]{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.7rem}.tone--warning[data-v-7cfe559f]{background:var(--color-warning-light);color:#b45309}.tone--success[data-v-7cfe559f]{background:var(--color-success-light);color:var(--color-success)}.tone--info[data-v-7cfe559f]{background:var(--color-info-light);color:var(--color-info)}.tone--danger[data-v-7cfe559f]{background:var(--color-danger-light);color:var(--color-danger)}.price-section[data-v-7cfe559f]{flex-shrink:0}.price-section .section-title[data-v-7cfe559f]{margin-bottom:10px}.price-card[data-v-7cfe559f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.price-card__body[data-v-7cfe559f]{grid-template-columns:1fr 88px;align-items:start;gap:12px;padding:12px;display:grid}.price-card__image[data-v-7cfe559f]{background:linear-gradient(145deg, var(--color-primary), var(--color-primary-dark));background-position:50%;background-size:cover;border-radius:12px;min-height:88px}.price-card__info[data-v-7cfe559f]{text-align:start}.price-card__info strong[data-v-7cfe559f]{margin-bottom:4px;font-size:.9rem;display:block}.price-card__info p[data-v-7cfe559f]{color:var(--color-text-muted);margin:2px 0 0;font-size:.75rem}.price-card footer[data-v-7cfe559f]{border-top:1px solid var(--color-border);background:var(--color-elevated);text-align:start;padding:10px 12px;font-size:.8rem;font-weight:600}.hero__desk-actions[data-v-7cfe559f]{display:none}@media (width>=768px){.profile-page[data-v-7cfe559f]{max-width:var(--content-max-width);background:0 0;margin-inline:auto;padding:8px 0 28px}.profile-scroll[data-v-7cfe559f]{flex-direction:column;gap:0;display:flex;overflow:visible}.hero[data-v-7cfe559f]{text-align:start;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:24px 28px;display:grid;overflow:hidden}.hero__pin[data-v-7cfe559f]{background:0 0;padding:0;display:block;position:static}.hero__avatar[data-v-7cfe559f]{margin:0;width:88px!important;height:88px!important}.hero__meta[data-v-7cfe559f]{padding:0}.hero h2[data-v-7cfe559f]{font-size:1.5rem}.hero__desk-btn[data-v-7cfe559f]{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:.8125rem;font-weight:600}.hero__desk-btn[data-v-7cfe559f]:hover{background:#fff3}.hero__desk-actions[data-v-7cfe559f]{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:280px}.profile-sheet[data-v-7cfe559f]{box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-radius:20px;gap:22px;margin-top:18px;padding:22px 24px 28px}.stats[data-v-7cfe559f]{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-grid[data-v-7cfe559f]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-item[data-v-7cfe559f]{min-height:88px}}@media (width>=1100px){.profile-sheet[data-v-7cfe559f]{grid-template-columns:1.2fr .8fr;grid-template-areas:"panel panel""loyalty loyalty""quick quick""orders price";align-items:start;display:grid}.profile-sheet>.panel[data-v-7cfe559f]{grid-area:panel}.profile-sheet>.loyalty[data-v-7cfe559f]{grid-area:loyalty}.profile-sheet>.quick-section[data-v-7cfe559f]{grid-area:quick}.profile-sheet>.orders-box[data-v-7cfe559f]{grid-area:orders}.profile-sheet>.price-section[data-v-7cfe559f]{grid-area:price}.quick-grid[data-v-7cfe559f]{grid-template-columns:repeat(6,minmax(0,1fr))}} diff --git a/dist/assets/ProfileView-DSZdSgjW.css b/dist/assets/ProfileView-DSZdSgjW.css new file mode 100644 index 0000000..133277a --- /dev/null +++ b/dist/assets/ProfileView-DSZdSgjW.css @@ -0,0 +1 @@ +.profile-page[data-v-7e89a222]{background:var(--color-primary)}.hero[data-v-7e89a222]{color:#fff;text-align:center;background:linear-gradient(145deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 78%, #0a1f18) 100%);padding:0 0 28px}.hero__pin[data-v-7e89a222]{z-index:3;padding:12px var(--page-padding) 10px;background:linear-gradient(145deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 78%, #0a1f18) 100%);position:sticky;top:0}.hero__top[data-v-7e89a222]{grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:12px;display:grid}.hero__top h1[data-v-7e89a222]{margin:0;font-size:1rem;font-weight:700}.icon-btn[data-v-7e89a222]{cursor:pointer;color:#fff;background:0 0;border:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.icon-btn__badge[data-v-7e89a222]{top:4px;color:#fff;text-align:center;background:#f59e0b;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;font-weight:700;line-height:16px;position:absolute;inset-inline-start:4px}.hero__avatar[data-v-7e89a222]{color:#fff;border:3px solid #ffffff59;margin:0 auto}.hero__meta[data-v-7e89a222]{padding:10px var(--page-padding) 0}.hero h2[data-v-7e89a222]{margin:0;font-size:1.2rem;font-weight:700}.hero p[data-v-7e89a222]{opacity:.88;margin:6px 0 12px;font-size:.85rem}.level-pill[data-v-7e89a222]{border:1px solid var(--color-level-gold);background:color-mix(in srgb, var(--color-level-gold) 16%, transparent);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:.8125rem;display:inline-flex}.level-pill__crown[data-v-7e89a222]{width:14px;height:14px;color:var(--color-level-gold)}.profile-scroll[data-v-7e89a222]{background:0 0;flex:1;min-height:0;padding:0}.profile-sheet[data-v-7e89a222]{z-index:1;padding:20px var(--page-padding) 24px;background:var(--color-bg);border-radius:24px 24px 0 0;flex-direction:column;gap:18px;margin-top:-20px;display:flex;position:relative;box-shadow:0 -4px 16px #0000000f}.profile-sheet[data-v-7e89a222]>*{flex-shrink:0}.panel__head[data-v-7e89a222],.section-head[data-v-7e89a222]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel__head h3[data-v-7e89a222],.section-head h3[data-v-7e89a222],.section-title[data-v-7e89a222]{color:var(--color-text);margin:0;font-size:.95rem;font-weight:700}.section-title[data-v-7e89a222]{margin-bottom:12px}.panel__period[data-v-7e89a222]{color:var(--color-text-muted);align-items:center;gap:2px;font-size:.8rem;display:inline-flex}.link[data-v-7e89a222]{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.8rem;font-weight:600}.stats[data-v-7e89a222]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat-card[data-v-7e89a222]{background:var(--color-surface);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-radius:14px;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.stat-card__text[data-v-7e89a222]{text-align:start;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stat-card__icon[data-v-7e89a222]{border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.stat-card__icon--orders[data-v-7e89a222],.stat-card__icon--customers[data-v-7e89a222]{background:color-mix(in srgb, var(--color-success) 14%, transparent);color:var(--color-success)}.stat-card__icon--profit[data-v-7e89a222]{background:color-mix(in srgb, var(--color-info) 14%, transparent);color:var(--color-info)}.stat-card__icon--sales[data-v-7e89a222]{background:color-mix(in srgb, var(--color-level-gold) 22%, transparent);color:#b8860b}.stat-card__label[data-v-7e89a222]{color:var(--color-text-muted);font-size:.75rem}.stat-card__value[data-v-7e89a222]{color:var(--color-text);font-size:1.05rem;font-weight:700;line-height:1.3}.stat-card__hint[data-v-7e89a222]{color:var(--color-text-muted);font-size:.7rem;font-style:normal}.loyalty[data-v-7e89a222]{background:var(--color-primary-soft);border-radius:14px;padding:14px}.loyalty__row[data-v-7e89a222]{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.loyalty__crown[data-v-7e89a222]{flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.loyalty__text[data-v-7e89a222]{color:var(--color-text);text-align:center;margin:0;font-size:.75rem;font-weight:700;line-height:1.75}.loyalty__text-next[data-v-7e89a222]{display:block}.loyalty__bar[data-v-7e89a222]{background:rgba(var(--color-primary-rgb), .15);border-radius:999px;height:8px;overflow:hidden}.loyalty__bar span[data-v-7e89a222]{background:var(--color-primary);border-radius:inherit;height:100%;display:block}.quick-grid[data-v-7e89a222]{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quick-item[data-v-7e89a222]{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;min-height:88px;padding:14px 8px 12px;font-family:inherit;font-size:.72rem;line-height:1.4;display:flex}.quick-item__icon[data-v-7e89a222]{width:40px;height:40px;color:var(--color-primary);place-items:center;display:grid}.orders-box[data-v-7e89a222]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-shrink:0;padding:4px 0 0;overflow:hidden}.orders-box .section-head[data-v-7e89a222]{margin:0;padding:12px 14px 10px}.order-row[data-v-7e89a222]{border:none;border-top:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:0;grid-template-columns:1fr auto 16px;align-items:center;gap:8px;margin:0;padding:12px 14px;display:grid}.orders-all[data-v-7e89a222]{border:none;border-top:1px solid var(--color-border);width:100%;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border-radius:0;margin:0;padding:12px 14px;font-size:.875rem;font-weight:600}.order-row__meta[data-v-7e89a222]{text-align:start;min-width:0}.order-row__date[data-v-7e89a222]{color:var(--color-text-muted);margin-bottom:2px;font-size:.75rem;display:block}.order-row__title[data-v-7e89a222]{font-size:.875rem;display:block}.order-row__customer[data-v-7e89a222]{color:var(--color-text-muted);margin:2px 0 0;font-size:.75rem}.order-row__chevron[data-v-7e89a222]{color:var(--color-text-muted)}.tone[data-v-7e89a222]{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.7rem}.tone--warning[data-v-7e89a222]{background:var(--color-warning-light);color:#b45309}.tone--success[data-v-7e89a222]{background:var(--color-success-light);color:var(--color-success)}.tone--info[data-v-7e89a222]{background:var(--color-info-light);color:var(--color-info)}.tone--danger[data-v-7e89a222]{background:var(--color-danger-light);color:var(--color-danger)}.price-section[data-v-7e89a222]{flex-shrink:0}.price-section .section-title[data-v-7e89a222]{margin-bottom:10px}.price-card[data-v-7e89a222]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.price-card__body[data-v-7e89a222]{grid-template-columns:1fr 88px;align-items:start;gap:12px;padding:12px;display:grid}.price-card__image[data-v-7e89a222]{background:linear-gradient(145deg, var(--color-primary), var(--color-primary-dark));background-position:50%;background-size:cover;border-radius:12px;min-height:88px}.price-card__info[data-v-7e89a222]{text-align:start}.price-card__info strong[data-v-7e89a222]{margin-bottom:4px;font-size:.9rem;display:block}.price-card__info p[data-v-7e89a222]{color:var(--color-text-muted);margin:2px 0 0;font-size:.75rem}.price-card footer[data-v-7e89a222]{border-top:1px solid var(--color-border);background:var(--color-elevated);text-align:start;padding:10px 12px;font-size:.8rem;font-weight:600}.hero__desk-actions[data-v-7e89a222]{display:none}@media (width>=768px){.profile-page[data-v-7e89a222]{max-width:var(--content-max-width);background:0 0;margin-inline:auto;padding:8px 0 28px}.profile-scroll[data-v-7e89a222]{flex-direction:column;gap:0;display:flex;overflow:visible}.hero[data-v-7e89a222]{text-align:start;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:24px 28px;display:grid;overflow:hidden}.hero__pin[data-v-7e89a222]{background:0 0;padding:0;display:block;position:static}.hero__avatar[data-v-7e89a222]{margin:0;width:88px!important;height:88px!important}.hero__meta[data-v-7e89a222]{padding:0}.hero h2[data-v-7e89a222]{font-size:1.5rem}.hero__desk-btn[data-v-7e89a222]{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:.8125rem;font-weight:600}.hero__desk-btn[data-v-7e89a222]:hover{background:#fff3}.hero__desk-actions[data-v-7e89a222]{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:280px}.profile-sheet[data-v-7e89a222]{box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-radius:20px;gap:22px;margin-top:18px;padding:22px 24px 28px}.stats[data-v-7e89a222]{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-grid[data-v-7e89a222]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-item[data-v-7e89a222]{min-height:88px}}@media (width>=1100px){.profile-sheet[data-v-7e89a222]{grid-template-columns:1.2fr .8fr;grid-template-areas:"panel panel""loyalty loyalty""quick quick""orders price";align-items:start;display:grid}.profile-sheet>.panel[data-v-7e89a222]{grid-area:panel}.profile-sheet>.loyalty[data-v-7e89a222]{grid-area:loyalty}.profile-sheet>.quick-section[data-v-7e89a222]{grid-area:quick}.profile-sheet>.orders-box[data-v-7e89a222]{grid-area:orders}.profile-sheet>.price-section[data-v-7e89a222]{grid-area:price}.quick-grid[data-v-7e89a222]{grid-template-columns:repeat(6,minmax(0,1fr))}} diff --git a/dist/assets/ProfileView-DX6DnJ1_.js b/dist/assets/ProfileView-DX6DnJ1_.js deleted file mode 100644 index 9c90558..0000000 --- a/dist/assets/ProfileView-DX6DnJ1_.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,Ct as t,E as n,Et as r,I as ee,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,j as h,mt as g,n as te,q as ne,t as _,z as v}from"./BasicIcon-C6boaehV.js";import{o as y,r as re}from"./format-BHJptHdF.js";import{C as ie,c as ae,d as oe,o as se,r as ce,s as le,u as ue}from"./index-DzzUgmYT.js";import{r as b,t as x}from"./constants-DXXK14Zz.js";import{t as S}from"./PageSkeleton-uO-jhbNm.js";import{n as C,t as w}from"./crm-CtglbPsN.js";var T=v({__name:`IconSettings`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(f(),a(_,{icon:`vuesax-linear:setting-2`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),E={class:`page profile-page`},D={class:`page__scroll page__scroll--with-nav profile-scroll`},O={class:`hero`},k={class:`hero__pin`},A={class:`hero__top mobile-only`},j=[`aria-label`],M={class:`hero__meta`},N={class:`level-pill`},P={class:`hero__desk-actions desktop-only-flex`},F={class:`profile-sheet`},I={class:`panel`},L={class:`panel__head`},R={class:`panel__period`},z={class:`stats`},B={class:`stat-card`},V={class:`stat-card__text`},H={class:`stat-card__value`},U={class:`stat-card__icon stat-card__icon--orders`},de={class:`stat-card`},fe={class:`stat-card__text`},pe={class:`stat-card__value`},me={class:`stat-card__icon stat-card__icon--customers`},he={class:`stat-card`},ge={class:`stat-card__text`},_e={class:`stat-card__value`},ve={class:`stat-card__icon stat-card__icon--profit`},ye={class:`stat-card`},be={class:`stat-card__text`},xe={class:`stat-card__value`},Se={class:`stat-card__icon stat-card__icon--sales`},Ce={class:`loyalty`},W={class:`loyalty__row`},we={class:`loyalty__text`},Te={class:`loyalty__bar`},Ee={class:`quick-section`},De={class:`quick-grid`},Oe=[`onClick`],ke={class:`quick-item__icon`},Ae={class:`orders-box`},je={class:`section-head`},Me=[`onClick`,`onKeydown`],Ne={class:`order-row__meta`},Pe={class:`order-row__date`},Fe={class:`order-row__title`},Ie={key:0,class:`order-row__customer`},Le={class:`price-section`},Re={class:`price-card`},ze={class:`price-card__body`},Be={class:`price-card__info`},G=te(v({__name:`MobileProfilePage`,setup(te){let v={id:`sample-base-price`,name:`پارچه فاستونی ایتالیایی`,code:`DF-1204`,categoryId:``,season:`all_season`,widthCm:160,composition:``,colors:[`1`,`2`,`3`,`4`,`5`,`6`],tags:[],isNew:!1,rollMeters:0,basePrice:38e4},G=m(),K=ae(),q=oe(),Ve=w(),J=ue(),Y=g(null),X=g(v),Z=g(!1),He=[{label:`ثبت مشتری جدید`,to:`/customers`,icon:`vuesax-linear:add`},{label:`سفارشها`,to:`/orders`,icon:`vuesax-linear:document-text`},{label:`مشتریان من`,to:`/customers`,icon:`vuesax-linear:people`},{label:`گزارشها`,to:`/reminders`,icon:`vuesax-linear:chart-2`},{label:`درخواست کالیته`,to:`/catalog-request`,icon:`vuesax-linear:category`},{label:`قیمتگذاری`,to:`/categories`,icon:`vuesax-linear:money-4`}],Ue=e(()=>[...q.orders].sort((e,t)=>String(t.createdAt).localeCompare(String(e.createdAt))).slice(0,3).map(e=>{let t=b[e.status]??`info`,n=t===`danger`||t===`neutral`?`danger`:t===`success`?`success`:t===`warning`?`warning`:`info`;return{id:e.id,title:`سفارش #${e.orderNumber}`,date:e.createdAt?re(e.createdAt):``,customer:e.companyName||``,statusLabel:x[e.status]||e.status,statusTone:n}})),Q=e(()=>K.fullName||`کاربر`),We=e(()=>Y.value?.code||K.user?.agentCode||`—`),$=e(()=>Y.value?.levelLabel||K.user?.levelLabel||`برنزی`),Ge=e(()=>Y.value?.nextLevelLabel||K.user?.nextLevelLabel||`نقرهای`),Ke=e(()=>Y.value?.pointsToNext??K.user?.pointsToNext??0),qe=e(()=>Y.value?.periodLabel||`۳۰ روز اخیر`),Je=e(()=>Y.value?.customersCount??0),Ye=e(()=>Y.value?.ordersCount??q.orders.length),Xe=e(()=>Y.value?.salesVolumeToman??0),Ze=e(()=>Y.value?.profitToman??0),Qe=e(()=>Y.value?.levelProgress??K.user?.levelProgress??72),$e=e(()=>J.unreadCount>9?`9+`:String(J.unreadCount)),et=e(()=>X.value.basePrice??v.basePrice??0);return ne(async()=>{Z.value=!0;try{J.hydrate();try{Y.value=await C()}catch{Y.value=null}try{let e=(await Ve.loadBrowseProducts())[0];X.value=e?{...v,...e,basePrice:e.basePrice??v.basePrice}:v}catch{X.value=v}q.orders.length||await q.hydrate()}finally{Z.value=!1}}),(e,m)=>(f(),c(`div`,E,[h(`div`,D,[h(`header`,O,[h(`div`,k,[h(`div`,A,[h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`تنظیمات`,onClick:m[0]||=e=>u(G).push(`/profile/display`)},[l(T,{size:20,color:`#ffffff`})]),m[7]||=h(`h1`,null,`پروفایل من`,-1),h(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلانها`,onClick:m[1]||=e=>u(G).push(`/profile/notifications`)},[l(le,{size:20,color:`#ffffff`}),u(J).hasUnread?(f(),c(`span`,{key:0,class:`icon-btn__badge`,"aria-label":`${u(J).unreadCount} اعلان خواندهنشده`},r($e.value),9,j)):o(``,!0)])]),l(ce,{class:`hero__avatar`,src:u(K).user?.avatarUrl,initials:Q.value.charAt(0),size:84},null,8,[`src`,`initials`])]),h(`div`,M,[h(`h2`,null,r(Q.value),1),h(`p`,null,`کد واسطه: `+r(We.value),1),h(`span`,N,[m[8]||=h(`svg`,{class:`level-pill__crown`,viewBox:`0 0 24 24`,"aria-hidden":`true`},[h(`path`,{fill:`currentColor`,d:`M3.5 17.5h17l-1.2-8.2a1 1 0 0 0-1.5-.7L14 11l-2.5-5.2a1 1 0 0 0-1.8 0L7.2 11 4.2 8.6a1 1 0 0 0-1.5.7L3.5 17.5Zm1.7 1.5h13.6v1.2H5.2V19Z`})],-1),i(` سطح: `+r($.value),1)])]),h(`div`,P,[h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[2]||=e=>u(G).push(`/profile/edit`)},` ویرایش اطلاعات `),h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[3]||=e=>u(G).push(`/profile/checks`)},` لیست چکها `),h(`button`,{type:`button`,class:`hero__desk-btn`,onClick:m[4]||=e=>u(G).push(`/profile/display`)},` تنظیمات `)])]),h(`div`,F,[Z.value?(f(),a(S,{key:0,variant:`profile`})):(f(),c(s,{key:1},[h(`section`,I,[h(`div`,L,[m[9]||=h(`h3`,null,`خلاصه عملکرد`,-1),h(`span`,R,[i(r(qe.value)+` `,1),l(_,{icon:`vuesax-linear:arrow-down`,size:14,"stroke-width":1.5})])]),h(`div`,z,[h(`div`,B,[h(`div`,V,[m[10]||=h(`span`,{class:`stat-card__label`},`سفارشها`,-1),h(`strong`,H,r(u(y)(Ye.value)),1),m[11]||=h(`em`,{class:`stat-card__hint`},`سفارش`,-1)]),h(`span`,U,[l(ie,{size:18})])]),h(`div`,de,[h(`div`,fe,[m[12]||=h(`span`,{class:`stat-card__label`},`مشتریان من`,-1),h(`strong`,pe,r(u(y)(Je.value)),1),m[13]||=h(`em`,{class:`stat-card__hint`},`مشتری فعال`,-1)]),h(`span`,me,[l(_,{icon:`vuesax-linear:people`,size:18,"stroke-width":1.5})])]),h(`div`,he,[h(`div`,ge,[m[14]||=h(`span`,{class:`stat-card__label`},`سود شما (ریال)`,-1),h(`strong`,_e,r(u(y)(Ze.value)),1),m[15]||=h(`em`,{class:`stat-card__hint`},`تومان`,-1)]),h(`span`,ve,[l(_,{icon:`vuesax-linear:chart-2`,size:18,"stroke-width":1.5})])]),h(`div`,ye,[h(`div`,be,[m[16]||=h(`span`,{class:`stat-card__label`},`حجم فروش (ریال)`,-1),h(`strong`,xe,r(u(y)(Xe.value)),1),m[17]||=h(`em`,{class:`stat-card__hint`},`تومان`,-1)]),h(`span`,Se,[l(_,{icon:`vuesax-linear:wallet`,size:18,"stroke-width":1.5})])])])]),h(`section`,Ce,[h(`div`,W,[m[18]||=ee(``,1),h(`p`,we,` شما در سطح `+r($.value)+` قرار دارید. تا سطح `+r(Ge.value)+` فقط `+r(u(y)(Ke.value))+` تومان فروش دیگر نیاز دارید. `,1)]),h(`div`,Te,[h(`span`,{style:d({width:`${Math.min(100,Math.max(0,Qe.value))}%`})},null,4)])]),h(`section`,Ee,[m[19]||=h(`h3`,{class:`section-title`},`دسترسی سریع`,-1),h(`div`,De,[(f(),c(s,null,p(He,e=>h(`button`,{key:e.label,type:`button`,class:`quick-item`,onClick:t=>u(G).push(e.to)},[h(`span`,ke,[l(_,{icon:e.icon,size:22,"stroke-width":1.5},null,8,[`icon`])]),i(` `+r(e.label),1)],8,Oe)),64))])]),h(`section`,Ae,[h(`div`,je,[m[20]||=h(`h3`,null,`آخرین سفارشها`,-1),h(`button`,{type:`button`,class:`link`,onClick:m[5]||=e=>u(G).push(`/orders`)},`مشاهده همه`)]),(f(!0),c(s,null,p(Ue.value,e=>(f(),c(`article`,{key:e.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:t=>u(G).push({path:`/order`,query:{id:e.id}}),onKeydown:n(t=>u(G).push({path:`/order`,query:{id:e.id}}),[`enter`])},[h(`div`,Ne,[h(`span`,Pe,r(e.date),1),h(`strong`,Fe,r(e.title),1),e.customer?(f(),c(`p`,Ie,`مشتری: `+r(e.customer),1)):o(``,!0)]),h(`span`,{class:t([`tone`,`tone--${e.statusTone}`])},r(e.statusLabel),3),l(se,{size:16,class:`order-row__chevron`})],40,Me))),128)),h(`button`,{type:`button`,class:`orders-all`,onClick:m[6]||=e=>u(G).push(`/orders`)},` مشاهده همه سفارشها `)]),h(`section`,Le,[m[21]||=h(`h3`,{class:`section-title`},`قیمتهای پایه (نمونه)`,-1),h(`div`,Re,[h(`div`,ze,[h(`div`,Be,[h(`strong`,null,r(X.value.name),1),h(`p`,null,`کد: `+r(X.value.code),1),h(`p`,null,`عرض: `+r(u(y)(X.value.widthCm))+` سانتیمتر`,1),h(`p`,null,`رنگها: `+r(u(y)(X.value.colors.length))+` رنگ`,1)]),h(`div`,{class:`price-card__image`,style:d(X.value.imageUrl?{backgroundImage:`url(${X.value.imageUrl})`}:void 0)},null,4)]),h(`footer`,null,`قیمت پایه به شما: `+r(u(y)(et.value))+` تومان / متر`,1)])])],64))])])]))}}),[[`__scopeId`,`data-v-7cfe559f`]]),K=v({__name:`ProfileView`,setup(e){return(e,t)=>(f(),a(G))}});export{K as default}; \ No newline at end of file diff --git a/dist/assets/RegisterView-CTzyNknX.css b/dist/assets/RegisterView-CTzyNknX.css deleted file mode 100644 index 308227c..0000000 --- a/dist/assets/RegisterView-CTzyNknX.css +++ /dev/null @@ -1 +0,0 @@ -.register-page[data-v-2a0cf12d]{color:#2a2622;background:#f3eee8;overflow:hidden}.register-page__scroll[data-v-2a0cf12d]{overscroll-behavior:contain;height:100%;overflow:hidden auto}.register-page__stage[data-v-2a0cf12d]{width:100%;max-width:390px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 20px 0;box-sizing:border-box;flex-direction:column;margin-inline:auto;display:flex}.register-top[data-v-2a0cf12d]{justify-content:space-between;align-items:center;min-height:36px;display:flex}.register-top__welcome[data-v-2a0cf12d]{color:#6f6b66;margin:0;font-size:.75rem}.register-top__back[data-v-2a0cf12d]{cursor:pointer;background:0 0;border:none;place-items:center;width:36px;height:36px;margin-inline-start:auto;padding:0;display:grid}.register-title[data-v-2a0cf12d]{text-align:center;color:#1c1b19;margin:18px 0 0;font-size:1.375rem;font-weight:700;line-height:1.45}.register-lead[data-v-2a0cf12d]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.register-form[data-v-2a0cf12d]{flex-direction:column;margin-top:22px;display:flex}.register-form[data-v-2a0cf12d] .form-error-banner{margin-bottom:12px}.reg-field[data-v-2a0cf12d]{background:#ebe4dc;border:1px solid #e0d9d0;border-radius:14px;align-items:center;gap:10px;height:52px;margin-top:10px;padding:0 14px;display:flex}.reg-field.is-invalid[data-v-2a0cf12d],.job-trigger.is-invalid[data-v-2a0cf12d]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e6e1db)}.reg-field__meta[data-v-2a0cf12d]{color:#5f5b56;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;display:inline-flex}.reg-field__meta .is-placeholder[data-v-2a0cf12d]{color:#8a847c;font-weight:400}.reg-field__input[data-v-2a0cf12d]{color:#2a2622;min-width:0;height:100%;font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.reg-field__input[data-v-2a0cf12d]::placeholder{color:#b0aaa3}.reg-field__phone[data-v-2a0cf12d]{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.reg-field__locale[data-v-2a0cf12d]{color:#9a9590;align-items:center;gap:4px;display:inline-flex}.iran-flag[data-v-2a0cf12d]{border-radius:2px;width:22px;height:16px;box-shadow:0 0 0 1px #0000000f}.reg-field__caret[data-v-2a0cf12d]{width:10px;height:6px}.reg-field__input--phone[data-v-2a0cf12d]{text-align:start;letter-spacing:.04em}.reg-field__error[data-v-2a0cf12d]{color:var(--color-danger);margin:6px 8px 0;font-size:.75rem}.job-wrap[data-v-2a0cf12d]{position:relative}.job-trigger[data-v-2a0cf12d]{width:100%;font:inherit;cursor:pointer;text-align:start;justify-content:space-between}.job-trigger.is-open[data-v-2a0cf12d]{border-color:var(--color-primary)}.job-chevron[data-v-2a0cf12d]{color:#9aa3af;flex-shrink:0;width:12px;height:12px}.job-trigger.is-open .job-chevron[data-v-2a0cf12d]{transform:rotate(180deg)}.job-menu[data-v-2a0cf12d]{inset-inline:0;z-index:20;background:#fbfaf7;border:1px solid #e6e1db;border-radius:16px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);box-shadow:0 8px 24px #10182814}.job-option[data-v-2a0cf12d]{color:#2a2622;width:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 12px;font-size:.875rem;display:block}.job-option.is-active[data-v-2a0cf12d]{color:var(--color-primary);background:#e8f0ee;font-weight:600}.register-submit[data-v-2a0cf12d]{color:#f7f4ef;width:100%;height:52px;font:inherit;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;margin-top:14px;padding:0 44px;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.register-submit[data-v-2a0cf12d]:not(:disabled):hover,.register-submit[data-v-2a0cf12d]:not(:disabled):focus-visible{background:#072a2f}.register-submit[data-v-2a0cf12d]:disabled{opacity:.7;cursor:not-allowed}.register-submit__chevron[data-v-2a0cf12d]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.register-submit__spinner[data-v-2a0cf12d]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite register-spin-2a0cf12d;position:absolute;inset-inline-start:16px}.register-terms[data-v-2a0cf12d]{color:#6f6b66;cursor:pointer;align-items:flex-start;gap:10px;margin-top:14px;font-size:.75rem;line-height:1.7;display:flex;position:relative}.register-terms strong[data-v-2a0cf12d]{color:#2a2622;font-weight:700}.register-terms__native[data-v-2a0cf12d]{opacity:0;pointer-events:none;position:absolute}.register-terms__box[data-v-2a0cf12d]{background:#fff;border:1.5px solid #cfc9c2;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.register-terms__box.is-on[data-v-2a0cf12d]{border-color:var(--color-primary);background:var(--color-primary)}.register-terms__box svg[data-v-2a0cf12d]{width:12px;height:12px}.register-perks[data-v-2a0cf12d]{z-index:2;background:#ebe4dc;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:35px 0 -20px;padding:16px 10px 14px;display:grid;position:relative;box-shadow:0 10px 28px #2820181f,0 2px 8px #2820180f}.register-perk[data-v-2a0cf12d]{text-align:center;color:#6f6b66;flex-direction:column;align-items:center;gap:8px;display:flex}.register-perk strong[data-v-2a0cf12d]{font-size:.6875rem;font-weight:500;line-height:1.55}.register-foot[data-v-2a0cf12d]{z-index:1;margin-top:auto;min-height:260px;padding:48px 0 calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;margin-inline:-20px;display:flex;position:relative;overflow:hidden}.register-foot__bg[data-v-2a0cf12d]{z-index:0;object-fit:cover;object-position:88% 32%;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 42%);mask-image:linear-gradient(#0000 0%,#000 42%)}.register-foot[data-v-2a0cf12d]:before{display:none}.register-foot__copy[data-v-2a0cf12d]{z-index:1;text-align:right;color:#1c1b19;pointer-events:none;max-width:10rem;margin:0;font-size:.75rem;font-weight:600;line-height:1.55;position:absolute;top:38%;left:24px}.register-foot__copy[data-v-2a0cf12d]:after{content:"";background:#c9a56a;border-radius:1px;width:1.375rem;height:1.5px;margin-top:8px;margin-left:auto;display:block}@keyframes register-spin-2a0cf12d{to{transform:rotate(360deg)}}@media (width>=768px){.register-page[data-v-2a0cf12d]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/RegisterView-DGOdJpXQ.css b/dist/assets/RegisterView-DGOdJpXQ.css new file mode 100644 index 0000000..b6b7021 --- /dev/null +++ b/dist/assets/RegisterView-DGOdJpXQ.css @@ -0,0 +1 @@ +.register-page[data-v-dd0b86d6]{color:#2a2622;background:#f3eee8;overflow:hidden}.register-page__scroll[data-v-dd0b86d6]{overscroll-behavior:contain;height:100%;overflow:hidden auto}.register-page__stage[data-v-dd0b86d6]{width:100%;max-width:390px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 20px 0;box-sizing:border-box;flex-direction:column;margin-inline:auto;display:flex}.register-top[data-v-dd0b86d6]{justify-content:space-between;align-items:center;min-height:36px;display:flex}.register-top__welcome[data-v-dd0b86d6]{color:#6f6b66;margin:0;font-size:.75rem}.register-top__back[data-v-dd0b86d6]{cursor:pointer;background:0 0;border:none;place-items:center;width:36px;height:36px;margin-inline-start:auto;padding:0;display:grid}.register-title[data-v-dd0b86d6]{text-align:center;color:#1c1b19;margin:18px 0 0;font-size:1.375rem;font-weight:700;line-height:1.45}.register-lead[data-v-dd0b86d6]{text-align:center;color:#8a847c;margin:6px 0 0;font-size:.75rem;line-height:1.7}.register-form[data-v-dd0b86d6]{flex-direction:column;margin-top:22px;display:flex}.register-form[data-v-dd0b86d6] .form-error-banner{margin-bottom:12px}.reg-field[data-v-dd0b86d6]{border:1px solid #e0d9d0;border-radius:14px;align-items:center;gap:10px;height:52px;margin-top:10px;padding:0 14px;display:flex}.reg-field.is-invalid[data-v-dd0b86d6],.job-trigger.is-invalid[data-v-dd0b86d6]{border-color:color-mix(in srgb, var(--color-danger) 55%, #e6e1db)}.reg-field__meta[data-v-dd0b86d6]{color:#5f5b56;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;display:inline-flex}.reg-field__meta .is-placeholder[data-v-dd0b86d6]{color:#8a847c;font-weight:400}.reg-field__input[data-v-dd0b86d6]{color:#2a2622;min-width:0;height:100%;font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.reg-field__input[data-v-dd0b86d6]::placeholder{color:#b0aaa3}.reg-field__phone[data-v-dd0b86d6]{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.reg-field__locale[data-v-dd0b86d6]{color:#9a9590;align-items:center;gap:4px;display:inline-flex}.iran-flag[data-v-dd0b86d6]{border-radius:2px;width:22px;height:16px;box-shadow:0 0 0 1px #0000000f}.reg-field__caret[data-v-dd0b86d6]{width:10px;height:6px}.reg-field__input--phone[data-v-dd0b86d6]{text-align:start;letter-spacing:.04em}.reg-field__error[data-v-dd0b86d6]{color:var(--color-danger);margin:6px 8px 0;font-size:.75rem}.job-wrap[data-v-dd0b86d6]{position:relative}.job-trigger[data-v-dd0b86d6]{width:100%;font:inherit;cursor:pointer;text-align:start;justify-content:space-between}.job-trigger.is-open[data-v-dd0b86d6]{border-color:var(--color-primary)}.job-chevron[data-v-dd0b86d6]{color:#9aa3af;flex-shrink:0;width:12px;height:12px}.job-trigger.is-open .job-chevron[data-v-dd0b86d6]{transform:rotate(180deg)}.job-menu[data-v-dd0b86d6]{inset-inline:0;z-index:20;background:#fbfaf7;border:1px solid #e6e1db;border-radius:16px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);box-shadow:0 8px 24px #10182814}.job-option[data-v-dd0b86d6]{color:#2a2622;width:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 12px;font-size:.875rem;display:block}.job-option.is-active[data-v-dd0b86d6]{color:var(--color-primary);background:#e8f0ee;font-weight:600}.register-submit[data-v-dd0b86d6]{color:#f7f4ef;width:100%;height:52px;font:inherit;cursor:pointer;background:#0a353c;border:none;border-radius:999px;justify-content:center;align-items:center;margin-top:14px;padding:0 44px;font-size:.9375rem;font-weight:600;transition:background .15s;display:flex;position:relative}.register-submit[data-v-dd0b86d6]:not(:disabled):hover,.register-submit[data-v-dd0b86d6]:not(:disabled):focus-visible{background:#072a2f}.register-submit[data-v-dd0b86d6]:disabled{opacity:.7;cursor:not-allowed}.register-submit__chevron[data-v-dd0b86d6]{place-items:center;display:grid;position:absolute;inset-inline-end:16px}.register-submit__spinner[data-v-dd0b86d6]{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite register-spin-dd0b86d6;position:absolute;inset-inline-start:16px}.register-terms[data-v-dd0b86d6]{color:#6f6b66;cursor:pointer;align-items:flex-start;gap:10px;margin-top:14px;font-size:.75rem;line-height:1.7;display:flex;position:relative}.register-terms strong[data-v-dd0b86d6]{color:#2a2622;font-weight:700}.register-terms__native[data-v-dd0b86d6]{opacity:0;pointer-events:none;position:absolute}.register-terms__box[data-v-dd0b86d6]{background:#fff;border:1.5px solid #cfc9c2;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.register-terms__box.is-on[data-v-dd0b86d6]{border-color:var(--color-primary);background:var(--color-primary)}.register-terms__box svg[data-v-dd0b86d6]{width:12px;height:12px}.register-perks[data-v-dd0b86d6]{z-index:2;background:#ebe4dc;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:35px 0 -20px;padding:16px 10px 14px;display:grid;position:relative;box-shadow:0 10px 28px #2820181f,0 2px 8px #2820180f}.register-perk[data-v-dd0b86d6]{text-align:center;color:#6f6b66;flex-direction:column;align-items:center;gap:8px;display:flex}.register-perk strong[data-v-dd0b86d6]{font-size:.6875rem;font-weight:500;line-height:1.55}.register-foot[data-v-dd0b86d6]{z-index:1;margin-top:auto;min-height:260px;padding:48px 0 calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;margin-inline:-20px;display:flex;position:relative;overflow:hidden}.register-foot__bg[data-v-dd0b86d6]{z-index:0;object-fit:cover;object-position:88% 32%;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 42%);mask-image:linear-gradient(#0000 0%,#000 42%)}.register-foot[data-v-dd0b86d6]:before{display:none}.register-foot__copy[data-v-dd0b86d6]{z-index:1;text-align:right;color:#1c1b19;pointer-events:none;max-width:10rem;margin:0;font-size:.75rem;font-weight:600;line-height:1.55;position:absolute;top:38%;left:24px}.register-foot__copy[data-v-dd0b86d6]:after{content:"";background:#c9a56a;border-radius:1px;width:1.375rem;height:1.5px;margin-top:8px;margin-left:auto;display:block}@keyframes register-spin-dd0b86d6{to{transform:rotate(360deg)}}@media (width>=768px){.register-page[data-v-dd0b86d6]{max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}} diff --git a/dist/assets/RegisterView-BcL8O-vh.js b/dist/assets/RegisterView-P-RrLS2U.js similarity index 91% rename from dist/assets/RegisterView-BcL8O-vh.js rename to dist/assets/RegisterView-P-RrLS2U.js index 4d59964..673f2d1 100644 --- a/dist/assets/RegisterView-BcL8O-vh.js +++ b/dist/assets/RegisterView-P-RrLS2U.js @@ -1 +1 @@ -import{A as e,Ct as t,D as n,Et as r,I as ee,L as i,M as a,N as o,O as te,P as s,R as c,S as ne,St as l,Y as u,Z as re,_ as d,it as f,j as p,mt as m,n as h,t as g,w as _,z as v}from"./BasicIcon-C6boaehV.js";import{t as ie}from"./dist-B7sUlTMM.js";import{c as y,u as ae}from"./format-BHJptHdF.js";import{a as b}from"./validation-BD7oi-2I.js";import{c as oe,g as se,m as x,o as S,x as C}from"./index-DzzUgmYT.js";import{t as ce}from"./FormErrorBanner-CjdBfIQT.js";import{t as le}from"./IconPhone-C0bnM4fV.js";import{n as ue,r as w,t as T}from"./formErrors-DglFjYkZ.js";import{t as E}from"./IconDiamond-Bgv1zgqc.js";var D=v({__name:`IconVerified`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(u(),a(g,{icon:`vuesax-linear:verify`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),O=`/assets/register-card-D_GOfNUU.jpg`,k={class:`page register-page`},A={class:`register-page__scroll`},j={class:`register-page__stage`},M={class:`register-top`},N={key:0,class:`reg-field__error`},P={key:1,class:`reg-field__error`},F={class:`reg-field__phone`,dir:`ltr`},I=[`value`],L={key:2,class:`reg-field__error`},R=[`aria-expanded`],z={class:`reg-field__meta`},B={key:0,class:`job-menu`,role:`listbox`},V=[`aria-selected`,`onClick`],H={key:1,class:`reg-field__error`},de=[`disabled`],fe={key:0,class:`register-submit__spinner`,"aria-hidden":`true`},pe={class:`register-submit__chevron`,"aria-hidden":`true`},me={class:`register-terms`},he={key:0,viewBox:`0 0 12 12`,fill:`none`},ge={key:3,class:`reg-field__error`},_e={class:`register-perks`,"aria-label":`مزایا`},ve={class:`register-perk`},ye={class:`register-perk`},be={class:`register-perk`},xe={class:`register-foot`},Se=[`src`],U=h(v({__name:`RegisterView`,setup(a){let h=d(),v=oe(),U=m(``),W=m(``),G=m(``),K=m(``),q=m(!0),J=m(!1),Y=m(null),X=m({}),Z=m(``),Ce=e(()=>G.value?ae(G.value):``),we=e(()=>x.find(e=>e.id===K.value)?.label??`دستهبندی شغلی`);ie(Y,()=>{J.value=!1});function Q(e){K.value=e,J.value=!1,$(`jobCategory`)}function $(e){X.value=ue(X.value,e),w(X.value)||(Z.value=``)}function Te(e){G.value=y(e),$(`phone`)}async function Ee(){X.value={},Z.value=``;let e=y(G.value),t={};if(U.value.trim()||(t.firstName=`نام الزامی است.`),W.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),b(e)||(t.phone=`شماره موبایل معتبر نیست.`),K.value||(t.jobCategory=`دستهبندی شغلی الزامی است.`),q.value||(t.terms=`پذیرش قوانین برای ثبتنام لازم است.`),w(t)){X.value=t,Z.value=T;return}let n={firstName:U.value.trim(),lastName:W.value.trim(),jobCategory:K.value};se(n);let r=await v.requestOtp(e,{isRegister:!0,firstName:n.firstName,lastName:n.lastName});r.success?h.push({name:`otp`,query:{phone:e,mode:`register`}}):Z.value=r.message??`خطا در ارسال کد تأیید.`}return(e,a)=>(u(),s(`div`,k,[p(`div`,A,[p(`div`,j,[p(`header`,M,[a[8]||=p(`p`,{class:`register-top__welcome`},`همراه ما باشید`,-1),p(`button`,{type:`button`,class:`register-top__back`,"aria-label":`بازگشت`,onClick:a[0]||=e=>l(h).push(`/login`)},[c(S,{size:20,color:`#2A2622`})])]),a[18]||=p(`h1`,{class:`register-title`},`ثبتنام در نادمی تکس`,-1),a[19]||=p(`p`,{class:`register-lead`},`با چند مرحله ساده، عضوی از خانواده ما شوید.`,-1),p(`form`,{class:`register-form`,onSubmit:n(Ee,[`prevent`])},[c(ce,{message:Z.value},null,8,[`message`]),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.firstName}])},[c(C,{size:18,color:`#8A847C`}),f(p(`input`,{"onUpdate:modelValue":a[1]||=e=>U.value=e,class:`reg-field__input`,type:`text`,autocomplete:`given-name`,onInput:a[2]||=e=>$(`firstName`),placeholder:`نام`},null,544),[[_,U.value]])],2),X.value.firstName?(u(),s(`p`,N,r(X.value.firstName),1)):o(``,!0),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.lastName}])},[c(C,{size:18,color:`#8A847C`}),f(p(`input`,{"onUpdate:modelValue":a[3]||=e=>W.value=e,class:`reg-field__input`,type:`text`,dir:`rtl`,autocomplete:`family-name`,onInput:a[4]||=e=>$(`lastName`),placeholder:`نام خانوادگی`},null,544),[[_,W.value]])],2),X.value.lastName?(u(),s(`p`,P,r(X.value.lastName),1)):o(``,!0),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.phone}])},[c(le,{size:18,color:`#8A847C`}),p(`span`,F,[a[9]||=ee(``,1),p(`input`,{class:`reg-field__input reg-field__input--phone`,value:Ce.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,onInput:a[5]||=e=>Te(e.target.value)},null,40,I)])],2),X.value.phone?(u(),s(`p`,L,r(X.value.phone),1)):o(``,!0),p(`div`,{ref_key:`jobRoot`,ref:Y,class:`job-wrap`},[p(`button`,{type:`button`,class:t([`reg-field job-trigger`,{"is-open":J.value,"is-invalid":!!X.value.jobCategory}]),"aria-haspopup":`listbox`,"aria-expanded":J.value,onClick:a[6]||=e=>J.value=!J.value},[p(`span`,z,[c(g,{icon:`vuesax-linear:category`,size:18,color:`#8A847C`}),p(`span`,{class:t({"is-placeholder":!K.value})},r(we.value),3)]),a[10]||=p(`svg`,{class:`job-chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[p(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,R),J.value?(u(),s(`ul`,B,[(u(!0),s(te,null,re(l(x),e=>(u(),s(`li`,{key:e.id},[p(`button`,{type:`button`,role:`option`,class:t([`job-option`,{"is-active":K.value===e.id}]),"aria-selected":K.value===e.id,onClick:t=>Q(e.id)},r(e.label),11,V)]))),128))])):o(``,!0),X.value.jobCategory?(u(),s(`p`,H,r(X.value.jobCategory),1)):o(``,!0)],512),p(`button`,{class:`register-submit`,type:`submit`,disabled:l(v).loading},[l(v).loading?(u(),s(`span`,fe)):o(``,!0),p(`span`,pe,[c(S,{size:18,color:`#F4EDE4`})]),a[11]||=p(`span`,null,`دریافت کد تأیید`,-1)],8,de),p(`label`,me,[f(p(`input`,{"onUpdate:modelValue":a[7]||=e=>q.value=e,class:`register-terms__native`,type:`checkbox`},null,512),[[ne,q.value]]),p(`span`,{class:t([`register-terms__box`,{"is-on":q.value}]),"aria-hidden":`true`},[q.value?(u(),s(`svg`,he,[...a[12]||=[p(`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)]])):o(``,!0)],2),a[13]||=p(`span`,null,[i(` با ثبتنام، `),p(`strong`,null,`قوانین و شرایط`),i(` استفاده از سرویس را میپذیرم. `)],-1)]),X.value.terms?(u(),s(`p`,ge,r(X.value.terms),1)):o(``,!0)],32),p(`section`,_e,[p(`article`,ve,[c(D,{size:22,color:`#6F6B66`}),a[14]||=p(`strong`,null,`اطمینان از اصالت محصولات`,-1)]),p(`article`,ye,[c(g,{icon:`vuesax-linear:truck-time`,size:22,color:`#6F6B66`}),a[15]||=p(`strong`,null,`دسترسی سریع به کالیتههای جدید`,-1)]),p(`article`,be,[c(E,{size:22,color:`#6F6B66`}),a[16]||=p(`strong`,null,`تجربه خرید ویژه مشتریان`,-1)])]),p(`div`,xe,[p(`img`,{class:`register-foot__bg`,src:l(O),alt:``},null,8,Se),a[17]||=p(`p`,{class:`register-foot__copy`},[i(`همراه حرفهای`),p(`br`),i(`کسبوکار شما`)],-1)])])])]))}}),[[`__scopeId`,`data-v-2a0cf12d`]]);export{U as default}; \ No newline at end of file +import{A as e,Ct as t,D as n,Et as r,I as ee,L as i,M as a,N as o,O as te,P as s,R as c,S as ne,St as l,Y as u,Z as re,_ as d,it as f,j as p,mt as m,n as h,t as g,w as _,z as v}from"./BasicIcon-C6boaehV.js";import{t as ie}from"./dist-B7sUlTMM.js";import{c as y,u as ae}from"./format-BHJptHdF.js";import{a as b}from"./validation-BD7oi-2I.js";import{c as oe,g as se,m as x,o as S,x as C}from"./index-fdhs4HNc.js";import{t as ce}from"./FormErrorBanner-CjdBfIQT.js";import{t as le}from"./IconPhone-C0bnM4fV.js";import{n as ue,r as w,t as T}from"./formErrors-DglFjYkZ.js";import{t as E}from"./IconDiamond-Bgv1zgqc.js";var D=v({__name:`IconVerified`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(u(),a(g,{icon:`vuesax-linear:verify`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),O=`/assets/register-card-D_GOfNUU.jpg`,k={class:`page register-page`},A={class:`register-page__scroll`},j={class:`register-page__stage`},M={class:`register-top`},N={key:0,class:`reg-field__error`},P={key:1,class:`reg-field__error`},F={class:`reg-field__phone`,dir:`ltr`},I=[`value`],L={key:2,class:`reg-field__error`},R=[`aria-expanded`],z={class:`reg-field__meta`},B={key:0,class:`job-menu`,role:`listbox`},V=[`aria-selected`,`onClick`],H={key:1,class:`reg-field__error`},de=[`disabled`],fe={key:0,class:`register-submit__spinner`,"aria-hidden":`true`},pe={class:`register-submit__chevron`,"aria-hidden":`true`},me={class:`register-terms`},he={key:0,viewBox:`0 0 12 12`,fill:`none`},ge={key:3,class:`reg-field__error`},_e={class:`register-perks`,"aria-label":`مزایا`},ve={class:`register-perk`},ye={class:`register-perk`},be={class:`register-perk`},xe={class:`register-foot`},Se=[`src`],U=h(v({__name:`RegisterView`,setup(a){let h=d(),v=oe(),U=m(``),W=m(``),G=m(``),K=m(``),q=m(!0),J=m(!1),Y=m(null),X=m({}),Z=m(``),Ce=e(()=>G.value?ae(G.value):``),we=e(()=>x.find(e=>e.id===K.value)?.label??`دستهبندی شغلی`);ie(Y,()=>{J.value=!1});function Q(e){K.value=e,J.value=!1,$(`jobCategory`)}function $(e){X.value=ue(X.value,e),w(X.value)||(Z.value=``)}function Te(e){G.value=y(e),$(`phone`)}async function Ee(){X.value={},Z.value=``;let e=y(G.value),t={};if(U.value.trim()||(t.firstName=`نام الزامی است.`),W.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),b(e)||(t.phone=`شماره موبایل معتبر نیست.`),K.value||(t.jobCategory=`دستهبندی شغلی الزامی است.`),q.value||(t.terms=`پذیرش قوانین برای ثبتنام لازم است.`),w(t)){X.value=t,Z.value=T;return}let n={firstName:U.value.trim(),lastName:W.value.trim(),jobCategory:K.value};se(n);let r=await v.requestOtp(e,{isRegister:!0,firstName:n.firstName,lastName:n.lastName});r.success?h.push({name:`otp`,query:{phone:e,mode:`register`}}):Z.value=r.message??`خطا در ارسال کد تأیید.`}return(e,a)=>(u(),s(`div`,k,[p(`div`,A,[p(`div`,j,[p(`header`,M,[a[8]||=p(`p`,{class:`register-top__welcome`},`همراه ما باشید`,-1),p(`button`,{type:`button`,class:`register-top__back`,"aria-label":`بازگشت`,onClick:a[0]||=e=>l(h).push(`/login`)},[c(S,{size:20,color:`#2A2622`})])]),a[18]||=p(`h1`,{class:`register-title`},`ثبتنام در نادمی تکس`,-1),a[19]||=p(`p`,{class:`register-lead`},`با چند مرحله ساده، عضوی از خانواده ما شوید.`,-1),p(`form`,{class:`register-form`,onSubmit:n(Ee,[`prevent`])},[c(ce,{message:Z.value},null,8,[`message`]),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.firstName}])},[c(C,{size:18,color:`#8A847C`}),f(p(`input`,{"onUpdate:modelValue":a[1]||=e=>U.value=e,class:`reg-field__input`,type:`text`,autocomplete:`given-name`,onInput:a[2]||=e=>$(`firstName`),placeholder:`نام`},null,544),[[_,U.value]])],2),X.value.firstName?(u(),s(`p`,N,r(X.value.firstName),1)):o(``,!0),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.lastName}])},[c(C,{size:18,color:`#8A847C`}),f(p(`input`,{"onUpdate:modelValue":a[3]||=e=>W.value=e,class:`reg-field__input`,type:`text`,dir:`rtl`,autocomplete:`family-name`,onInput:a[4]||=e=>$(`lastName`),placeholder:`نام خانوادگی`},null,544),[[_,W.value]])],2),X.value.lastName?(u(),s(`p`,P,r(X.value.lastName),1)):o(``,!0),p(`label`,{class:t([`reg-field`,{"is-invalid":!!X.value.phone}])},[c(le,{size:18,color:`#8A847C`}),p(`span`,F,[a[9]||=ee(``,1),p(`input`,{class:`reg-field__input reg-field__input--phone`,value:Ce.value,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`rtl`,maxlength:`11`,placeholder:`شماره موبایل`,onInput:a[5]||=e=>Te(e.target.value)},null,40,I)])],2),X.value.phone?(u(),s(`p`,L,r(X.value.phone),1)):o(``,!0),p(`div`,{ref_key:`jobRoot`,ref:Y,class:`job-wrap`},[p(`button`,{type:`button`,class:t([`reg-field job-trigger`,{"is-open":J.value,"is-invalid":!!X.value.jobCategory}]),"aria-haspopup":`listbox`,"aria-expanded":J.value,onClick:a[6]||=e=>J.value=!J.value},[p(`span`,z,[c(g,{icon:`vuesax-linear:category`,size:18,color:`#8A847C`}),p(`span`,{class:t({"is-placeholder":!K.value})},r(we.value),3)]),a[10]||=p(`svg`,{class:`job-chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[p(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,R),J.value?(u(),s(`ul`,B,[(u(!0),s(te,null,re(l(x),e=>(u(),s(`li`,{key:e.id},[p(`button`,{type:`button`,role:`option`,class:t([`job-option`,{"is-active":K.value===e.id}]),"aria-selected":K.value===e.id,onClick:t=>Q(e.id)},r(e.label),11,V)]))),128))])):o(``,!0),X.value.jobCategory?(u(),s(`p`,H,r(X.value.jobCategory),1)):o(``,!0)],512),p(`button`,{class:`register-submit`,type:`submit`,disabled:l(v).loading},[l(v).loading?(u(),s(`span`,fe)):o(``,!0),p(`span`,pe,[c(S,{size:18,color:`#F4EDE4`})]),a[11]||=p(`span`,null,`دریافت کد تأیید`,-1)],8,de),p(`label`,me,[f(p(`input`,{"onUpdate:modelValue":a[7]||=e=>q.value=e,class:`register-terms__native`,type:`checkbox`},null,512),[[ne,q.value]]),p(`span`,{class:t([`register-terms__box`,{"is-on":q.value}]),"aria-hidden":`true`},[q.value?(u(),s(`svg`,he,[...a[12]||=[p(`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)]])):o(``,!0)],2),a[13]||=p(`span`,null,[i(` با ثبتنام، `),p(`strong`,null,`قوانین و شرایط`),i(` استفاده از سرویس را میپذیرم. `)],-1)]),X.value.terms?(u(),s(`p`,ge,r(X.value.terms),1)):o(``,!0)],32),p(`section`,_e,[p(`article`,ve,[c(D,{size:22,color:`#6F6B66`}),a[14]||=p(`strong`,null,`اطمینان از اصالت محصولات`,-1)]),p(`article`,ye,[c(g,{icon:`vuesax-linear:truck-time`,size:22,color:`#6F6B66`}),a[15]||=p(`strong`,null,`دسترسی سریع به کالیتههای جدید`,-1)]),p(`article`,be,[c(E,{size:22,color:`#6F6B66`}),a[16]||=p(`strong`,null,`تجربه خرید ویژه مشتریان`,-1)])]),p(`div`,xe,[p(`img`,{class:`register-foot__bg`,src:l(O),alt:``},null,8,Se),a[17]||=p(`p`,{class:`register-foot__copy`},[i(`همراه حرفهای`),p(`br`),i(`کسبوکار شما`)],-1)])])])]))}}),[[`__scopeId`,`data-v-dd0b86d6`]]);export{U as default}; \ No newline at end of file diff --git a/dist/assets/ReminderDetailView-DNK_nJut.js b/dist/assets/ReminderDetailView-DeVZIytU.js similarity index 96% rename from dist/assets/ReminderDetailView-DNK_nJut.js rename to dist/assets/ReminderDetailView-DeVZIytU.js index f180a01..b1c619d 100644 --- a/dist/assets/ReminderDetailView-DNK_nJut.js +++ b/dist/assets/ReminderDetailView-DeVZIytU.js @@ -1 +1 @@ -import{A as e,Et as t,N as n,O as r,P as i,R as a,St as o,Tt as s,Y as c,Z as l,_ as u,g as d,j as f,mt as p,n as m,q as h,tt as g,z as _}from"./BasicIcon-C6boaehV.js";import{c as v}from"./index-DzzUgmYT.js";import{t as y}from"./PageSkeleton-uO-jhbNm.js";import{t as b}from"./crm-CtglbPsN.js";import{t as x}from"./PageHeader-BFnKSFNh.js";var S={key:0,class:`page reminder-detail`},C={class:`page__scroll detail-scroll`},w={key:0,class:`form-error`},T={class:`layout`},ee={class:`panel`},E={class:`field`},D={class:`field`},O={class:`customer-line`},k={class:`field`},A={class:`field`},j={class:`field`},M={class:`actions`},N=[`disabled`],P={class:`panel`},F={class:`panel chart-panel`},I={class:`bars`},L={class:`stats-grid`},R={key:1,class:`page empty`},z={key:2,class:`page empty`},B=m(_({__name:`ReminderDetailView`,setup(m){let _=d(),B=u(),V=b(),H=v(),U=e(()=>String(_.query.id??``)),W=p(null),G=p(null),K=p([]),q=p(!0),J=p(!1),Y=p(null);async function X(){if(!U.value){W.value=null,q.value=!1;return}q.value=!0,Y.value=null;try{let e=await V.loadReminderDetail(U.value);W.value=e.reminder,G.value=e.customer,K.value=e.history}catch(e){W.value=null,Y.value=e instanceof Error?e.message:`یادآور یافت نشد.`}finally{q.value=!1}}h(X),g(U,X);function Z(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}async function Q(){if(!(!W.value||W.value.completed)){J.value=!0,Y.value=null;try{await V.markReminderComplete(W.value.id),W.value={...W.value,completed:!0},B.push(`/reminders?filter=today`)}catch(e){Y.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}finally{J.value=!1}}}let te=e(()=>H.fullName||`واسطه`),$=e(()=>{let e=K.value;return{total:e.length,inPerson:e.filter(e=>e.type===`in_person`).length,call:e.filter(e=>e.type===`call`).length,other:e.filter(e=>e.type===`message`||e.type===`note`).length}}),ne=e(()=>{let e=Array.from({length:6},()=>({a:0,b:0,c:0}));K.value.forEach((t,n)=>{let r=e[n%6];r&&(t.type===`in_person`?r.a+=1:t.type===`call`?r.b+=1:r.c+=1)});let t=Math.max(1,...e.map(e=>e.a+e.b+e.c));return e.map(e=>({a:`${e.a/t*100}%`,b:`${e.b/t*100}%`,c:`${e.c/t*100}%`}))});return(e,u)=>W.value&&G.value?(c(),i(`div`,S,[a(x,{title:`جزئیات یادآور`,"show-back":``,centered:``,onBack:u[0]||=e=>o(B).back()}),f(`div`,C,[Y.value?(c(),i(`p`,w,t(Y.value),1)):n(``,!0),f(`div`,T,[f(`section`,ee,[u[8]||=f(`h2`,null,`جزئیات یادآور`,-1),f(`div`,E,[u[3]||=f(`span`,null,`عنوان`,-1),f(`strong`,null,t(W.value.title)+` — `+t(W.value.description),1)]),f(`div`,D,[u[4]||=f(`span`,null,`مشتری`,-1),f(`div`,O,[f(`div`,{class:`avatar`,style:s({background:G.value.avatarColor})},t(G.value.avatarLetter),5),f(`div`,null,[f(`strong`,null,t(G.value.name),1),f(`p`,null,t(G.value.contactName),1)])])]),f(`div`,k,[u[5]||=f(`span`,null,`فروشنده حامل حضوری`,-1),f(`strong`,null,t(te.value),1)]),f(`div`,A,[u[6]||=f(`span`,null,`تاریخ و زمان`,-1),f(`strong`,null,t(W.value.date)+` — `+t(W.value.time),1)]),f(`div`,j,[u[7]||=f(`span`,null,`یادداشت`,-1),f(`strong`,null,t(W.value.note||`—`),1)]),f(`div`,M,[f(`button`,{type:`button`,class:`btn-outline`,onClick:u[1]||=e=>o(B).back()},`ویرایش`),f(`button`,{type:`button`,class:`btn-primary`,disabled:J.value||W.value.completed,onClick:Q},t(W.value.completed?`تکمیلشده`:J.value?`...`:`تکمیل شد`),9,N)])]),f(`section`,P,[u[9]||=f(`h2`,null,`تاریخچه تعاملات`,-1),(c(!0),i(r,null,l(K.value,e=>(c(),i(`article`,{key:e.id,class:`history-row`},[f(`div`,null,[f(`strong`,null,t(Z(e.type)),1),f(`p`,null,t(e.description),1)]),f(`span`,null,t(e.date),1)]))),128)),f(`button`,{type:`button`,class:`see-all`,onClick:u[2]||=e=>o(B).push({path:`/customer`,query:{id:G.value.id,tab:`reports`}})},` مشاهده همه `)]),f(`section`,F,[u[14]||=f(`div`,{class:`chart-panel__head`},[f(`h2`,null,`نمودار فعالیت`),f(`span`,null,`تعاملات ثبتشده`)],-1),f(`div`,I,[(c(!0),i(r,null,l(ne.value,(e,t)=>(c(),i(`div`,{key:t,class:`bar`},[e.c===`0%`?n(``,!0):(c(),i(`span`,{key:0,class:`seg seg--c`,style:s({height:e.c})},null,4)),e.b===`0%`?n(``,!0):(c(),i(`span`,{key:1,class:`seg seg--b`,style:s({height:e.b})},null,4)),e.a===`0%`?n(``,!0):(c(),i(`span`,{key:2,class:`seg seg--a`,style:s({height:e.a})},null,4))]))),128))]),f(`div`,L,[f(`div`,null,[u[10]||=f(`span`,null,`کل تعاملات`,-1),f(`strong`,null,t($.value.total.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[11]||=f(`span`,null,`ملاقات حضوری`,-1),f(`strong`,null,t($.value.inPerson.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[12]||=f(`span`,null,`تماس تلفنی`,-1),f(`strong`,null,t($.value.call.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[13]||=f(`span`,null,`یادداشت و پیام`,-1),f(`strong`,null,t($.value.other.toLocaleString(`fa-IR`))+` مورد`,1)])])])])])])):q.value?(c(),i(`div`,R,[a(y,{variant:`detail`})])):(c(),i(`div`,z,[f(`p`,null,t(Y.value||`یادآور یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-59c58cf4`]]);export{B as default}; \ No newline at end of file +import{A as e,Et as t,N as n,O as r,P as i,R as a,St as o,Tt as s,Y as c,Z as l,_ as u,g as d,j as f,mt as p,n as m,q as h,tt as g,z as _}from"./BasicIcon-C6boaehV.js";import{c as v}from"./index-fdhs4HNc.js";import{t as y}from"./PageSkeleton-sKuEY4NI.js";import{t as b}from"./crm-DmqasSZ_.js";import{t as x}from"./PageHeader-Cd04Z6F_.js";var S={key:0,class:`page reminder-detail`},C={class:`page__scroll detail-scroll`},w={key:0,class:`form-error`},T={class:`layout`},ee={class:`panel`},E={class:`field`},D={class:`field`},O={class:`customer-line`},k={class:`field`},A={class:`field`},j={class:`field`},M={class:`actions`},N=[`disabled`],P={class:`panel`},F={class:`panel chart-panel`},I={class:`bars`},L={class:`stats-grid`},R={key:1,class:`page empty`},z={key:2,class:`page empty`},B=m(_({__name:`ReminderDetailView`,setup(m){let _=d(),B=u(),V=b(),H=v(),U=e(()=>String(_.query.id??``)),W=p(null),G=p(null),K=p([]),q=p(!0),J=p(!1),Y=p(null);async function X(){if(!U.value){W.value=null,q.value=!1;return}q.value=!0,Y.value=null;try{let e=await V.loadReminderDetail(U.value);W.value=e.reminder,G.value=e.customer,K.value=e.history}catch(e){W.value=null,Y.value=e instanceof Error?e.message:`یادآور یافت نشد.`}finally{q.value=!1}}h(X),g(U,X);function Z(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}async function Q(){if(!(!W.value||W.value.completed)){J.value=!0,Y.value=null;try{await V.markReminderComplete(W.value.id),W.value={...W.value,completed:!0},B.push(`/reminders?filter=today`)}catch(e){Y.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}finally{J.value=!1}}}let te=e(()=>H.fullName||`واسطه`),$=e(()=>{let e=K.value;return{total:e.length,inPerson:e.filter(e=>e.type===`in_person`).length,call:e.filter(e=>e.type===`call`).length,other:e.filter(e=>e.type===`message`||e.type===`note`).length}}),ne=e(()=>{let e=Array.from({length:6},()=>({a:0,b:0,c:0}));K.value.forEach((t,n)=>{let r=e[n%6];r&&(t.type===`in_person`?r.a+=1:t.type===`call`?r.b+=1:r.c+=1)});let t=Math.max(1,...e.map(e=>e.a+e.b+e.c));return e.map(e=>({a:`${e.a/t*100}%`,b:`${e.b/t*100}%`,c:`${e.c/t*100}%`}))});return(e,u)=>W.value&&G.value?(c(),i(`div`,S,[a(x,{title:`جزئیات یادآور`,"show-back":``,centered:``,onBack:u[0]||=e=>o(B).back()}),f(`div`,C,[Y.value?(c(),i(`p`,w,t(Y.value),1)):n(``,!0),f(`div`,T,[f(`section`,ee,[u[8]||=f(`h2`,null,`جزئیات یادآور`,-1),f(`div`,E,[u[3]||=f(`span`,null,`عنوان`,-1),f(`strong`,null,t(W.value.title)+` — `+t(W.value.description),1)]),f(`div`,D,[u[4]||=f(`span`,null,`مشتری`,-1),f(`div`,O,[f(`div`,{class:`avatar`,style:s({background:G.value.avatarColor})},t(G.value.avatarLetter),5),f(`div`,null,[f(`strong`,null,t(G.value.name),1),f(`p`,null,t(G.value.contactName),1)])])]),f(`div`,k,[u[5]||=f(`span`,null,`فروشنده حامل حضوری`,-1),f(`strong`,null,t(te.value),1)]),f(`div`,A,[u[6]||=f(`span`,null,`تاریخ و زمان`,-1),f(`strong`,null,t(W.value.date)+` — `+t(W.value.time),1)]),f(`div`,j,[u[7]||=f(`span`,null,`یادداشت`,-1),f(`strong`,null,t(W.value.note||`—`),1)]),f(`div`,M,[f(`button`,{type:`button`,class:`btn-outline`,onClick:u[1]||=e=>o(B).back()},`ویرایش`),f(`button`,{type:`button`,class:`btn-primary`,disabled:J.value||W.value.completed,onClick:Q},t(W.value.completed?`تکمیلشده`:J.value?`...`:`تکمیل شد`),9,N)])]),f(`section`,P,[u[9]||=f(`h2`,null,`تاریخچه تعاملات`,-1),(c(!0),i(r,null,l(K.value,e=>(c(),i(`article`,{key:e.id,class:`history-row`},[f(`div`,null,[f(`strong`,null,t(Z(e.type)),1),f(`p`,null,t(e.description),1)]),f(`span`,null,t(e.date),1)]))),128)),f(`button`,{type:`button`,class:`see-all`,onClick:u[2]||=e=>o(B).push({path:`/customer`,query:{id:G.value.id,tab:`reports`}})},` مشاهده همه `)]),f(`section`,F,[u[14]||=f(`div`,{class:`chart-panel__head`},[f(`h2`,null,`نمودار فعالیت`),f(`span`,null,`تعاملات ثبتشده`)],-1),f(`div`,I,[(c(!0),i(r,null,l(ne.value,(e,t)=>(c(),i(`div`,{key:t,class:`bar`},[e.c===`0%`?n(``,!0):(c(),i(`span`,{key:0,class:`seg seg--c`,style:s({height:e.c})},null,4)),e.b===`0%`?n(``,!0):(c(),i(`span`,{key:1,class:`seg seg--b`,style:s({height:e.b})},null,4)),e.a===`0%`?n(``,!0):(c(),i(`span`,{key:2,class:`seg seg--a`,style:s({height:e.a})},null,4))]))),128))]),f(`div`,L,[f(`div`,null,[u[10]||=f(`span`,null,`کل تعاملات`,-1),f(`strong`,null,t($.value.total.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[11]||=f(`span`,null,`ملاقات حضوری`,-1),f(`strong`,null,t($.value.inPerson.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[12]||=f(`span`,null,`تماس تلفنی`,-1),f(`strong`,null,t($.value.call.toLocaleString(`fa-IR`))+` مورد`,1)]),f(`div`,null,[u[13]||=f(`span`,null,`یادداشت و پیام`,-1),f(`strong`,null,t($.value.other.toLocaleString(`fa-IR`))+` مورد`,1)])])])])])])):q.value?(c(),i(`div`,R,[a(y,{variant:`detail`})])):(c(),i(`div`,z,[f(`p`,null,t(Y.value||`یادآور یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-59c58cf4`]]);export{B as default}; \ No newline at end of file diff --git a/dist/assets/RemindersView-BkrXzff2.css b/dist/assets/RemindersView-BkrXzff2.css deleted file mode 100644 index 36643a3..0000000 --- a/dist/assets/RemindersView-BkrXzff2.css +++ /dev/null @@ -1 +0,0 @@ -.reminders-page[data-v-5f336dcc]{background:var(--color-bg)}.top[data-v-5f336dcc]{padding:10px var(--page-padding);background:var(--color-surface);color:var(--color-text);grid-template-columns:40px 1fr auto;align-items:center;display:grid}.top h1[data-v-5f336dcc]{text-align:center;margin:0;font-size:1rem}.top__actions[data-v-5f336dcc]{align-items:center;display:flex}.icon-btn[data-v-5f336dcc]{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;place-items:center;font-size:1.4rem;display:grid}.reminders-scroll[data-v-5f336dcc]{padding:12px var(--page-padding) 24px;flex-direction:column;gap:12px;display:flex}.filters[data-v-5f336dcc]{gap:12px;display:flex;overflow-x:auto}.filter[data-v-5f336dcc]{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 2px;position:relative}.filter--active[data-v-5f336dcc]{color:var(--color-primary);font-weight:700}.filter--active[data-v-5f336dcc]:after{content:"";inset-inline:0;background:var(--color-primary);border-radius:999px;height:3px;position:absolute;bottom:0}.count-badge[data-v-5f336dcc]{background:var(--color-danger);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;margin-inline-start:4px;font-size:.65rem;display:inline-grid}.summary[data-v-5f336dcc]{background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);flex-direction:column;gap:6px;padding:16px;display:flex}.summary__label[data-v-5f336dcc]{opacity:.92;font-size:.85rem}.summary__count[data-v-5f336dcc]{align-items:baseline;gap:6px;display:flex}.summary__count strong[data-v-5f336dcc]{font-size:2rem;line-height:1}.summary__count span[data-v-5f336dcc]{font-size:.95rem;font-weight:600}.summary__sub[data-v-5f336dcc]{opacity:.88;margin:4px 0 0;font-size:.78rem}.reminder-card[data-v-5f336dcc]{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;grid-template-rows:auto 1fr;grid-template-columns:24px 1fr 40px;gap:4px 10px;padding:12px;display:grid}.time[data-v-5f336dcc]{color:var(--color-text-muted);grid-area:1/1/auto/3;font-size:.8rem;font-weight:700}.check[data-v-5f336dcc]{cursor:pointer;background:0 0;border:1.5px solid #cbd5e1;border-radius:999px;grid-area:2/1;align-self:start;width:22px;height:22px;margin-top:4px}.reminder-card__body[data-v-5f336dcc]{grid-area:2/2}.avatar[data-v-5f336dcc]{border-radius:999px;grid-area:1/3/3;place-self:start end;place-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:grid}.reminder-card__top[data-v-5f336dcc]{justify-content:space-between;gap:8px;display:flex}.customer[data-v-5f336dcc]{margin:6px 0 0;font-size:.85rem;font-weight:600}.contact[data-v-5f336dcc],.desc[data-v-5f336dcc]{color:var(--color-text-muted);margin:2px 0 0;font-size:.75rem}.tag[data-v-5f336dcc]{border-radius:999px;margin-top:6px;padding:2px 8px;font-size:.65rem;display:inline-block}.tag--green[data-v-5f336dcc]{background:var(--color-primary-soft);color:var(--color-primary)}.tag--blue[data-v-5f336dcc]{color:#0369a1;background:#e0f2fe}.tag--purple[data-v-5f336dcc]{color:#6d28d9;background:#ede9fe}.completed-bar[data-v-5f336dcc]{border-radius:var(--radius-md);cursor:pointer;background:#ecefee;border:none;justify-content:space-between;padding:14px;font-weight:600;display:flex}.new-btn[data-v-5f336dcc]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;font-weight:700;display:flex}.create-panel[data-v-5f336dcc]{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px;display:flex}.create-panel h3[data-v-5f336dcc]{margin:0;font-size:.95rem}.create-panel label[data-v-5f336dcc]{color:var(--color-text-muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.create-panel input[data-v-5f336dcc],.create-panel select[data-v-5f336dcc],.create-panel textarea[data-v-5f336dcc]{border:1px solid var(--color-border);font:inherit;color:var(--color-text);background:var(--color-surface);border-radius:10px;padding:10px 12px}.create-row[data-v-5f336dcc]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.create-actions[data-v-5f336dcc]{grid-template-columns:1fr 1.2fr;gap:8px;display:grid}.btn-cancel[data-v-5f336dcc],.btn-save[data-v-5f336dcc]{cursor:pointer;border-radius:12px;min-height:44px;font-weight:700}.btn-cancel[data-v-5f336dcc]{border:1px solid var(--color-border);background:var(--color-surface)}.btn-save[data-v-5f336dcc]{background:var(--color-primary);color:#fff;border:none}.btn-save[data-v-5f336dcc]:disabled{opacity:.7}.create-error[data-v-5f336dcc]{color:#b42318;margin:0;font-size:.8rem} diff --git a/dist/assets/RemindersView-BsYkMSSC.css b/dist/assets/RemindersView-BsYkMSSC.css new file mode 100644 index 0000000..71178be --- /dev/null +++ b/dist/assets/RemindersView-BsYkMSSC.css @@ -0,0 +1 @@ +.reminders-page[data-v-c73bda59]{background:var(--color-bg)}.top[data-v-c73bda59]{padding:10px var(--page-padding);background:var(--color-surface);color:var(--color-text);grid-template-columns:40px 1fr 40px;align-items:center;display:grid}.top h1[data-v-c73bda59]{text-align:center;margin:0;font-size:1rem;font-weight:700}.icon-btn[data-v-c73bda59]{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;place-items:center;display:grid}.reminders-scroll[data-v-c73bda59]{padding:0 var(--page-padding) 24px;flex-direction:column;gap:12px;display:flex}.tabs[data-v-c73bda59]{width:100%;margin:0 calc(-1 * var(--page-padding));padding:0 var(--page-padding);border-bottom:1px solid var(--color-border);align-items:stretch;display:flex}.tab[data-v-c73bda59]{appearance:none;color:#9ca3af;cursor:pointer;background:0 0;border:0;flex:1;justify-content:center;align-items:flex-end;min-width:0;padding:10px 0 0;font-family:inherit;font-size:.875rem;font-weight:400;line-height:1.5;display:flex}.tab__text[data-v-c73bda59]{align-items:center;gap:4px;padding-bottom:11px;display:inline-flex;position:relative}.tab--active[data-v-c73bda59]{color:var(--color-text);font-weight:700}.tab--active .tab__text[data-v-c73bda59]:after{content:"";inset-inline:0;background:var(--color-primary);border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:-1px}.tab__badge[data-v-c73bda59]{background:var(--color-danger);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:inline-grid}.error-text[data-v-c73bda59]{color:var(--color-danger);margin:0;font-size:.85rem}.summary[data-v-c73bda59]{background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);flex-direction:column;gap:8px;margin-top:4px;padding:16px;display:flex}.summary__top[data-v-c73bda59]{justify-content:space-between;align-items:center;gap:12px;display:flex}.summary__label[data-v-c73bda59]{font-size:.875rem;font-weight:600}.summary__calendar[data-v-c73bda59]{color:#fff;flex-shrink:0;width:34px;height:34px;position:relative}.summary__calendar svg[data-v-c73bda59]{width:100%;height:100%;display:block}.summary__calendar span[data-v-c73bda59]{place-items:center;padding-top:7px;font-size:.7rem;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.summary__count[data-v-c73bda59]{align-items:baseline;gap:6px;display:flex}.summary__count strong[data-v-c73bda59]{font-size:2.25rem;font-weight:700;line-height:1}.summary__count span[data-v-c73bda59]{font-size:1rem;font-weight:600}.summary__sub[data-v-c73bda59]{opacity:.88;margin:0;font-size:.78rem;line-height:1.5}.empty-state[data-v-c73bda59]{text-align:center;color:var(--color-text-muted);margin:0;padding:8px 0;font-size:.85rem}.reminder-row[data-v-c73bda59]{grid-template-columns:28px 1fr;align-items:start;gap:10px;display:grid}.reminder-row__check[data-v-c73bda59]{cursor:pointer;background:0 0;border:1.5px solid #cbd5e1;border-radius:999px;flex-shrink:0;width:22px;height:22px;margin-top:14px}.reminder-row__check--done[data-v-c73bda59]{border-color:var(--color-primary);background:var(--color-primary);display:block;box-shadow:inset 0 0 0 3px #fff}.reminder-card[data-v-c73bda59]{border-radius:var(--radius-md);cursor:pointer;background:#fff;padding:12px 14px;box-shadow:0 1px 2px #1018280a,0 6px 16px #1018280d}.reminder-card--done[data-v-c73bda59]{opacity:.72}.reminder-card__header[data-v-c73bda59]{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.reminder-card__time[data-v-c73bda59]{color:var(--color-text-muted);flex-shrink:0;font-size:.8125rem;font-weight:700}.reminder-card__title-row[data-v-c73bda59]{flex:1;justify-content:flex-end;align-items:flex-start;gap:6px;min-width:0;display:flex}.reminder-card__title-row strong[data-v-c73bda59]{text-align:end;font-size:.9rem;font-weight:700;line-height:1.4}.reminder-card__menu[data-v-c73bda59]{color:var(--color-text-muted);flex-shrink:0;margin-top:2px}.reminder-card__body[data-v-c73bda59]{grid-template-columns:auto 1fr;align-items:start;gap:8px 10px;margin-top:8px;display:grid}.tag[data-v-c73bda59]{white-space:nowrap;border-radius:6px;align-items:center;height:24px;padding:0 10px;font-size:.7rem;font-weight:600;display:inline-flex}.tag--green[data-v-c73bda59]{background:var(--color-primary-soft);color:var(--color-primary)}.tag--blue[data-v-c73bda59]{color:#0369a1;background:#e0f2fe}.tag--purple[data-v-c73bda59]{color:#6d28d9;background:#ede9fe}.reminder-card__customer[data-v-c73bda59]{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.reminder-card__customer-text[data-v-c73bda59]{text-align:end;min-width:0}.reminder-card__name[data-v-c73bda59]{margin:0;font-size:.875rem;font-weight:700;line-height:1.35}.reminder-card__contact[data-v-c73bda59]{color:var(--color-text-muted);margin:2px 0 0;font-size:.75rem;line-height:1.35}.reminder-card__avatar[data-v-c73bda59]{color:#111;border-radius:999px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:grid}.reminder-card__desc[data-v-c73bda59]{color:var(--color-text-muted);margin:10px 0 0;font-size:.75rem;line-height:1.55}.completed-section[data-v-c73bda59]{flex-direction:column;gap:10px;display:flex}.completed-bar[data-v-c73bda59]{border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);text-align:start;background:#e4e8e6;border:none;grid-template-columns:16px 1fr auto;align-items:center;gap:10px;padding:14px 16px;font-family:inherit;font-size:.875rem;font-weight:600;display:grid}.completed-bar__chevron[data-v-c73bda59]{width:12px;height:12px;color:var(--color-text-muted);transition:transform .15s}.completed-bar__chevron.is-open[data-v-c73bda59]{transform:rotate(180deg)}.completed-bar__label[data-v-c73bda59]{line-height:1.4}.completed-bar__count[data-v-c73bda59]{font-weight:700}.completed-list[data-v-c73bda59]{flex-direction:column;gap:10px;display:flex}.completed-empty[data-v-c73bda59]{text-align:center;color:var(--color-text-muted);margin:0;font-size:.8rem}.new-btn[data-v-c73bda59]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;margin-top:4px;font-size:.95rem;font-weight:700;display:flex}.create-panel[data-v-c73bda59]{border-radius:var(--radius-md);background:#fff;flex-direction:column;gap:10px;margin-top:4px;padding:14px;display:flex;box-shadow:0 1px 2px #1018280a,0 6px 16px #1018280d}.create-panel h3[data-v-c73bda59]{margin:0;font-size:.95rem}.create-panel label[data-v-c73bda59]{color:var(--color-text-muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.create-panel input[data-v-c73bda59],.create-panel textarea[data-v-c73bda59]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--color-text);padding:0 14px;font-size:.9375rem;transition:border-color .15s}.create-panel input[data-v-c73bda59]{height:var(--btn-height)}.create-panel textarea[data-v-c73bda59]{resize:vertical;min-height:72px;padding:12px 14px}.create-panel input[data-v-c73bda59]:focus,.create-panel textarea[data-v-c73bda59]:focus{border-color:var(--color-primary);outline:none}.field-select[data-v-c73bda59]{position:relative}.field-select__trigger[data-v-c73bda59]{width:100%;height:var(--btn-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:start;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:0 14px;font-size:.9375rem;transition:border-color .15s;display:flex}.field-select__trigger.is-open[data-v-c73bda59]{border-color:var(--color-primary)}.field-select__trigger .is-placeholder[data-v-c73bda59]{color:var(--color-text-muted)}.field-select__chevron[data-v-c73bda59]{width:12px;height:12px;color:var(--color-text-muted);flex-shrink:0}.field-select__trigger.is-open .field-select__chevron[data-v-c73bda59]{transform:rotate(180deg)}.field-select__menu[data-v-c73bda59]{inset-inline:0;z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:220px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);overflow-y:auto;box-shadow:0 8px 24px #10182814}.field-select__option[data-v-c73bda59]{border-radius:var(--radius-sm);width:100%;color:var(--color-text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:.875rem;display:block}.field-select__option.is-active[data-v-c73bda59]{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.create-row[data-v-c73bda59]{grid-template-columns:1fr 1fr;align-items:end;gap:8px;display:grid}.create-panel[data-v-c73bda59] .create-date.form-group{margin-bottom:0}.create-panel[data-v-c73bda59] .create-date .form-label{color:var(--color-text-muted);margin-bottom:4px;font-size:.8rem;font-weight:400}.create-actions[data-v-c73bda59]{grid-template-columns:1fr 1.2fr;gap:8px;display:grid}.btn-cancel[data-v-c73bda59],.btn-save[data-v-c73bda59]{cursor:pointer;border-radius:12px;min-height:44px;font-family:inherit;font-weight:700}.btn-cancel[data-v-c73bda59]{border:1px solid var(--color-border);background:var(--color-surface)}.btn-save[data-v-c73bda59]{background:var(--color-primary);color:#fff;border:none}.btn-save[data-v-c73bda59]:disabled{opacity:.7}.create-error[data-v-c73bda59]{color:#b42318;margin:0;font-size:.8rem} diff --git a/dist/assets/RemindersView-CyB53lja.js b/dist/assets/RemindersView-CyB53lja.js deleted file mode 100644 index c7e41cd..0000000 --- a/dist/assets/RemindersView-CyB53lja.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,C as ee,Ct as t,D as te,Et as n,L as r,M as ne,N as i,O as a,P as o,R as s,St as c,Tt as re,Y as l,Z as u,_ as d,g as ie,it as f,j as p,mt as m,n as ae,q as oe,tt as se,w as h,z as g}from"./BasicIcon-C6boaehV.js";import{o as _}from"./format-BHJptHdF.js";import{i as ce,s as le,y as ue}from"./index-DzzUgmYT.js";import{t as de}from"./IconChevronBack-DORV2H0q.js";import{t as fe}from"./IconMoreVertical-BPkOm_2U.js";import{t as pe}from"./PageSkeleton-uO-jhbNm.js";import{t as me}from"./crm-CtglbPsN.js";import{t as he}from"./useGoBack-CgNp0uP9.js";var ge={class:`page reminders-page`},_e={class:`top`},v={class:`top__actions`},y={class:`page__scroll page__scroll--with-nav reminders-scroll`},b={class:`filters`},x=[`onClick`],S={key:0,class:`count-badge`},C={key:1},w={key:2,class:`create-panel`},T={key:0,class:`create-error`},E=[`value`],D={class:`create-row`},O={class:`create-actions`},k=[`disabled`],A={key:3,class:`summary`},j={class:`summary__head`},M={class:`summary__label`},N={class:`summary__count`},P=[`onClick`],F={class:`time`},I=[`onClick`],L={class:`reminder-card__body`},ve={class:`reminder-card__top`},ye={class:`customer`},be={class:`contact`},xe={class:`desc`},R=ae(g({__name:`RemindersView`,setup(ae){let g=ie(),R=d(),{goBack:z}=he(`/`),B=me(),V=e(()=>String(g.query.filter??`today`)),H=m([]),U=m([]),W=m(!0),G=m(null),K=m(!1),q=m(!1),J=m({customerId:``,title:``,date:``,time:`10:00`,note:``}),Se=[{id:`all`,label:`همه`},{id:`today`,label:`امروز`},{id:`week`,label:`هفته آینده`},{id:`past`,label:`گذشته`}],Y=e(()=>H.value.filter(e=>!e.completed)),X=e(()=>H.value.filter(e=>e.completed)),Ce=e(()=>Y.value.length),Z=e(()=>X.value.length);async function Q(){W.value=!0,G.value=null;try{H.value=await B.loadReminders(V.value)}catch(e){G.value=e instanceof Error?e.message:`بارگذاری یادآورها ناموفق بود.`,H.value=[]}finally{W.value=!1}}oe(Q),se(V,Q);function $(e){R.replace({path:`/reminders`,query:{filter:e}})}async function we(e){try{await B.markReminderComplete(e),await Q()}catch(e){G.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}}function Te(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}function Ee(e){return e===`in_person`?`tag--green`:e===`call`?`tag--blue`:`tag--purple`}let De=e(()=>V.value===`today`?`پیگیریهای امروز`:V.value===`week`?`پیگیریهای هفته آینده`:V.value===`past`?`پیگیریهای گذشته`:`پیگیریهای باز`);async function Oe(){K.value=!0,G.value=null;try{if(U.value=await B.loadCustomers(),!J.value.customerId&&U.value[0]&&(J.value.customerId=U.value[0].id),!J.value.date){let e=new Date;J.value.date=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}}catch(e){G.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`}}async function ke(){if(!J.value.customerId||!J.value.title.trim()||!J.value.date||!J.value.time){G.value=`مشتری، عنوان، تاریخ و ساعت الزامی است.`;return}q.value=!0,G.value=null;try{await B.createReminder({customerId:J.value.customerId,title:J.value.title.trim(),date:J.value.date,time:J.value.time,note:J.value.note.trim()||void 0,description:J.value.note.trim()||void 0}),K.value=!1,J.value.title=``,J.value.note=``,await Q()}catch(e){G.value=e instanceof Error?e.message:`ثبت یادآور ناموفق بود.`}finally{q.value=!1}}return(e,d)=>(l(),o(`div`,ge,[p(`header`,_e,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:d[0]||=(...e)=>c(z)&&c(z)(...e)},[s(de,{size:20})]),d[9]||=p(`h1`,null,`یادآورها`,-1),p(`div`,v,[s(ce,{variant:`inline`}),p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلانها`,onClick:d[1]||=e=>c(R).push(`/profile/notifications`)},[s(le,{size:18})])])]),p(`div`,y,[p(`div`,b,[(l(),o(a,null,u(Se,e=>p(`button`,{key:e.id,type:`button`,class:t([`filter`,{"filter--active":V.value===e.id}]),onClick:ee=>$(e.id)},[r(n(e.label)+` `,1),e.id===`past`&&Z.value?(l(),o(`span`,S,n(Z.value.toLocaleString(`fa-IR`)),1)):i(``,!0)],10,x)),64))]),W.value?(l(),ne(pe,{key:0,variant:`list`})):G.value&&!K.value?(l(),o(`p`,C,n(G.value),1)):i(``,!0),K.value?(l(),o(`section`,w,[d[16]||=p(`h3`,null,`یادآور جدید`,-1),G.value?(l(),o(`p`,T,n(G.value),1)):i(``,!0),p(`label`,null,[d[11]||=r(` مشتری `,-1),f(p(`select`,{"onUpdate:modelValue":d[2]||=e=>J.value.customerId=e},[d[10]||=p(`option`,{disabled:``,value:``},`انتخاب مشتری`,-1),(l(!0),o(a,null,u(U.value,e=>(l(),o(`option`,{key:e.id,value:e.id},n(e.name||e.contactName),9,E))),128))],512),[[ee,J.value.customerId]])]),p(`label`,null,[d[12]||=r(` عنوان `,-1),f(p(`input`,{"onUpdate:modelValue":d[3]||=e=>J.value.title=e,type:`text`,placeholder:`مثلاً پیگیری نمونه`},null,512),[[h,J.value.title]])]),p(`div`,D,[p(`label`,null,[d[13]||=r(` تاریخ `,-1),f(p(`input`,{"onUpdate:modelValue":d[4]||=e=>J.value.date=e,type:`date`},null,512),[[h,J.value.date]])]),p(`label`,null,[d[14]||=r(` ساعت `,-1),f(p(`input`,{"onUpdate:modelValue":d[5]||=e=>J.value.time=e,type:`time`},null,512),[[h,J.value.time]])])]),p(`label`,null,[d[15]||=r(` یادداشت `,-1),f(p(`textarea`,{"onUpdate:modelValue":d[6]||=e=>J.value.note=e,rows:`2`,placeholder:`اختیاری`},null,512),[[h,J.value.note]])]),p(`div`,O,[p(`button`,{type:`button`,class:`btn-cancel`,onClick:d[7]||=e=>K.value=!1},`انصراف`),p(`button`,{type:`button`,class:`btn-save`,disabled:q.value,onClick:ke},n(q.value?`در حال ثبت...`:`ثبت یادآور`),9,k)])])):!W.value&&!G.value?(l(),o(`section`,A,[p(`div`,j,[p(`span`,M,n(De.value),1)]),p(`div`,N,[p(`strong`,null,n(c(_)(Ce.value)),1),d[17]||=p(`span`,null,`مورد`,-1)]),d[18]||=p(`p`,{class:`summary__sub`},`یادآورهای شما برای پیگیری مشتریان`,-1)])):i(``,!0),(l(!0),o(a,null,u(Y.value,e=>(l(),o(`article`,{key:e.id,class:`reminder-card`,onClick:ee=>c(R).push({path:`/reminder`,query:{id:e.id}})},[p(`span`,F,n(e.time),1),p(`button`,{type:`button`,class:`check`,"aria-label":`تکمیل`,onClick:te(ee=>we(e.id),[`stop`])},null,8,I),p(`div`,L,[p(`div`,ve,[p(`strong`,null,n(e.title),1),s(fe,{size:16})]),p(`span`,{class:t([`tag`,Ee(e.interactionType)])},n(Te(e.interactionType)),3),p(`p`,ye,n(e.customerName),1),p(`p`,be,n(e.contactName),1),p(`p`,xe,n(e.description),1)]),p(`div`,{class:`avatar`,style:re({background:e.avatarColor})},n(e.avatarLetter),5)],8,P))),128)),p(`button`,{type:`button`,class:`completed-bar`,onClick:d[8]||=e=>$(`past`)},[d[19]||=r(` یادآورهای تکمیلشده `,-1),p(`span`,null,n(c(_)(X.value.length)),1)]),p(`button`,{type:`button`,class:`new-btn`,onClick:Oe},[s(ue,{size:20,color:`#fff`}),d[20]||=r(` یادآور جدید `,-1)])])]))}}),[[`__scopeId`,`data-v-5f336dcc`]]);export{R as default}; \ No newline at end of file diff --git a/dist/assets/RemindersView-xi9w9NYU.js b/dist/assets/RemindersView-xi9w9NYU.js new file mode 100644 index 0000000..2b8644a --- /dev/null +++ b/dist/assets/RemindersView-xi9w9NYU.js @@ -0,0 +1 @@ +import{A as e,Ct as t,D as ee,Et as n,L as r,M as te,N as i,O as a,P as o,R as s,St as c,Tt as l,Y as u,Z as d,_ as f,g as ne,it as p,j as m,mt as h,n as re,q as ie,tt as ae,w as g,z as _}from"./BasicIcon-C6boaehV.js";import{t as oe}from"./dist-B7sUlTMM.js";import{o as v}from"./format-BHJptHdF.js";import{s as se,y as ce}from"./index-fdhs4HNc.js";import{t as le}from"./IconChevronBack-DORV2H0q.js";import{t as y}from"./IconMoreVertical-BPkOm_2U.js";import{t as ue}from"./PageSkeleton-sKuEY4NI.js";import{i as de,t as fe}from"./crm-DmqasSZ_.js";import{t as pe}from"./useGoBack-CgNp0uP9.js";import{t as me}from"./PersianDateInput-2Yt1srLL.js";var he={class:`page reminders-page`},ge={class:`top`},_e={class:`page__scroll page__scroll--with-nav reminders-scroll`},ve={class:`tabs`,role:`tablist`,"aria-label":`فیلتر یادآورها`},ye=[`aria-selected`,`onClick`],be={class:`tab__text`},xe={key:0,class:`tab__badge`},Se={key:1,class:`error-text`},b={key:2,class:`create-panel`},x={key:0,class:`create-error`},S=[`aria-expanded`],C={key:0,class:`field-select__menu`,role:`listbox`},w=[`aria-selected`,`onClick`],T={class:`create-row`},E={class:`create-actions`},D=[`disabled`],O={class:`summary`},k={class:`summary__top`},A={class:`summary__label`},j={class:`summary__calendar`,"aria-hidden":`true`},Ce={class:`summary__count`},we={key:0,class:`empty-state`},Te=[`onClick`],Ee=[`onClick`],De={class:`reminder-card__header`},Oe={class:`reminder-card__time`},ke={class:`reminder-card__title-row`},Ae={class:`reminder-card__body`},je={class:`reminder-card__customer`},Me={class:`reminder-card__customer-text`},Ne={class:`reminder-card__name`},Pe={class:`reminder-card__contact`},Fe={key:0,class:`reminder-card__desc`},Ie={class:`completed-section`},Le={class:`completed-bar__count`},Re={key:0,class:`completed-list`},ze=[`onClick`],Be={class:`reminder-card__header`},Ve={class:`reminder-card__time`},He={class:`reminder-card__title-row`},Ue={class:`reminder-card__body`},We={class:`reminder-card__customer`},Ge={class:`reminder-card__customer-text`},Ke={class:`reminder-card__name`},qe={class:`reminder-card__contact`},Je={key:0,class:`reminder-card__desc`},Ye={key:0,class:`completed-empty`},M=re(_({__name:`RemindersView`,setup(re){let _=ne(),M=f(),{goBack:N}=pe(`/`),P=fe(),F=e(()=>String(_.query.filter??`today`)),I=h([]),L=h([]),R=h(!0),z=h(null),B=h(!1),V=h(!1),H=h(0),U=h(!1),W=h({customerId:``,title:``,date:``,time:`10:00`,note:``}),G=h(!1),K=h(null),Xe=e(()=>{if(!W.value.customerId)return`انتخاب مشتری`;let e=L.value.find(e=>e.id===W.value.customerId);return e?.name||e?.contactName||`انتخاب مشتری`});oe(K,()=>{G.value=!1});function Ze(e){W.value.customerId=e,G.value=!1}let Qe=[{id:`all`,label:`همه`},{id:`today`,label:`امروز`},{id:`week`,label:`هفته آینده`},{id:`past`,label:`گذشته`}],q=e(()=>I.value.filter(e=>!e.completed)),J=e(()=>{let e=new Date().toISOString().slice(0,10);return I.value.filter(t=>t.completed&&t.date===e)}),Y=e(()=>q.value.length),$e=e(()=>F.value===`today`?`پیگیریهای امروز`:F.value===`week`?`پیگیریهای هفته آینده`:F.value===`past`?`پیگیریهای گذشته`:`پیگیریهای باز`),et=e(()=>new Date().getDate().toLocaleString(`fa-IR`));async function X(){try{let e=await de(`past`);H.value=e.length}catch{H.value=0}}async function Z(){R.value=!0,z.value=null;try{I.value=await P.loadReminders(F.value)}catch(e){z.value=e instanceof Error?e.message:`بارگذاری یادآورها ناموفق بود.`,I.value=[]}finally{R.value=!1}}ie(async()=>{await Promise.all([Z(),X()])}),ae(F,Z);function tt(e){M.replace({path:`/reminders`,query:{filter:e}})}async function nt(e){try{await P.markReminderComplete(e),await Z(),await X()}catch(e){z.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}}function Q(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}function $(e){return e===`in_person`?`tag--green`:e===`call`?`tag--blue`:`tag--purple`}async function rt(){B.value=!0,U.value=!1,G.value=!1,z.value=null;try{if(L.value=await P.loadCustomers(),!W.value.customerId&&L.value[0]&&(W.value.customerId=L.value[0].id),!W.value.date){let e=new Date;W.value.date=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}}catch(e){z.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`}}async function it(){if(!W.value.customerId||!W.value.title.trim()||!W.value.date||!W.value.time){z.value=`مشتری، عنوان، تاریخ و ساعت الزامی است.`;return}V.value=!0,z.value=null;try{await P.createReminder({customerId:W.value.customerId,title:W.value.title.trim(),date:W.value.date,time:W.value.time,note:W.value.note.trim()||void 0,description:W.value.note.trim()||void 0}),B.value=!1,W.value.title=``,W.value.note=``,await Z(),await X()}catch(e){z.value=e instanceof Error?e.message:`ثبت یادآور ناموفق بود.`}finally{V.value=!1}}function at(){U.value=!U.value}return(e,f)=>(u(),o(`div`,he,[m(`header`,ge,[m(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:f[0]||=(...e)=>c(N)&&c(N)(...e)},[s(le,{size:20})]),f[8]||=m(`h1`,null,`یادآورها`,-1),m(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلانها`,onClick:f[1]||=e=>c(M).push(`/profile/notifications`)},[s(se,{size:20})])]),m(`div`,_e,[m(`div`,ve,[(u(),o(a,null,d(Qe,e=>m(`button`,{key:e.id,type:`button`,role:`tab`,class:t([`tab`,{"tab--active":F.value===e.id}]),"aria-selected":F.value===e.id,onClick:t=>tt(e.id)},[m(`span`,be,[r(n(e.label)+` `,1),e.id===`past`&&H.value?(u(),o(`span`,xe,n(H.value.toLocaleString(`fa-IR`)),1)):i(``,!0)])],10,ye)),64))]),R.value?(u(),te(ue,{key:0,variant:`list`})):z.value&&!B.value?(u(),o(`p`,Se,n(z.value),1)):i(``,!0),B.value?(u(),o(`section`,b,[f[14]||=m(`h3`,null,`یادآور جدید`,-1),z.value?(u(),o(`p`,x,n(z.value),1)):i(``,!0),m(`label`,null,[f[10]||=r(` مشتری `,-1),m(`div`,{ref_key:`customerRoot`,ref:K,class:`field-select`},[m(`button`,{type:`button`,class:t([`field-select__trigger`,{"is-open":G.value}]),"aria-haspopup":`listbox`,"aria-expanded":G.value,onClick:f[2]||=e=>G.value=!G.value},[m(`span`,{class:t({"is-placeholder":!W.value.customerId})},n(Xe.value),3),f[9]||=m(`svg`,{class:`field-select__chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[m(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,S),G.value?(u(),o(`ul`,C,[(u(!0),o(a,null,d(L.value,e=>(u(),o(`li`,{key:e.id},[m(`button`,{type:`button`,role:`option`,class:t([`field-select__option`,{"is-active":W.value.customerId===e.id}]),"aria-selected":W.value.customerId===e.id,onClick:t=>Ze(e.id)},n(e.name||e.contactName),11,w)]))),128))])):i(``,!0)],512)]),m(`label`,null,[f[11]||=r(` عنوان `,-1),p(m(`input`,{"onUpdate:modelValue":f[3]||=e=>W.value.title=e,type:`text`,placeholder:`مثلاً پیگیری نمونه`},null,512),[[g,W.value.title]])]),m(`div`,T,[s(me,{modelValue:W.value.date,"onUpdate:modelValue":f[4]||=e=>W.value.date=e,label:`تاریخ`,class:`create-date`},null,8,[`modelValue`]),m(`label`,null,[f[12]||=r(` ساعت `,-1),p(m(`input`,{"onUpdate:modelValue":f[5]||=e=>W.value.time=e,type:`time`},null,512),[[g,W.value.time]])])]),m(`label`,null,[f[13]||=r(` یادداشت `,-1),p(m(`textarea`,{"onUpdate:modelValue":f[6]||=e=>W.value.note=e,rows:`2`,placeholder:`اختیاری`},null,512),[[g,W.value.note]])]),m(`div`,E,[m(`button`,{type:`button`,class:`btn-cancel`,onClick:f[7]||=e=>B.value=!1},`انصراف`),m(`button`,{type:`button`,class:`btn-save`,disabled:V.value,onClick:it},n(V.value?`در حال ثبت...`:`ثبت یادآور`),9,D)])])):!R.value&&!z.value?(u(),o(a,{key:3},[m(`section`,O,[m(`div`,k,[m(`span`,A,n($e.value),1),m(`div`,j,[f[15]||=m(`svg`,{viewBox:`0 0 24 24`,fill:`none`},[m(`path`,{d:`M8 2.5V5.5M16 2.5V5.5M4.5 9.5H19.5M19 8.5V17.5C19 20 17.5 21.5 14.5 21.5H9.5C6.5 21.5 5 20 5 17.5V8.5C5 6 6.5 4.5 9.5 4.5H14.5C17.5 4.5 19 6 19 8.5Z`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),m(`span`,null,n(et.value),1)])]),m(`div`,Ce,[m(`strong`,null,n(c(v)(Y.value)),1),f[16]||=m(`span`,null,`مورد`,-1)]),f[17]||=m(`p`,{class:`summary__sub`},`یادآورهای شما برای پیگیری مشتریان`,-1)]),q.value.length?i(``,!0):(u(),o(`div`,we,`یادآوری برای این بازه ثبت نشده است.`)),(u(!0),o(a,null,d(q.value,e=>(u(),o(`div`,{key:e.id,class:`reminder-row`},[m(`button`,{type:`button`,class:`reminder-row__check`,"aria-label":`تکمیل یادآور`,onClick:ee(t=>nt(e.id),[`stop`])},null,8,Te),m(`article`,{class:`reminder-card`,onClick:t=>c(M).push({path:`/reminder`,query:{id:e.id}})},[m(`div`,De,[m(`span`,Oe,n(e.time),1),m(`div`,ke,[m(`strong`,null,n(e.title),1),s(y,{size:18,class:`reminder-card__menu`})])]),m(`div`,Ae,[m(`span`,{class:t([`tag`,$(e.interactionType)])},n(Q(e.interactionType)),3),m(`div`,je,[m(`div`,Me,[m(`p`,Ne,n(e.customerName),1),m(`p`,Pe,n(e.contactName),1)]),m(`div`,{class:`reminder-card__avatar`,style:l({background:e.avatarColor})},n(e.avatarLetter),5)])]),e.description?(u(),o(`p`,Fe,n(e.description),1)):i(``,!0)],8,Ee)]))),128)),m(`section`,Ie,[m(`button`,{type:`button`,class:`completed-bar`,onClick:at},[(u(),o(`svg`,{class:t([`completed-bar__chevron`,{"is-open":U.value}]),viewBox:`0 0 12 12`,"aria-hidden":`true`},[...f[18]||=[m(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`},null,-1)]],2)),f[19]||=m(`span`,{class:`completed-bar__label`},`یادآورهای تکمیل شده امروز`,-1),m(`span`,Le,n(c(v)(J.value.length)),1)]),U.value?(u(),o(`div`,Re,[(u(!0),o(a,null,d(J.value,e=>(u(),o(`div`,{key:e.id,class:`reminder-row reminder-row--done`},[f[20]||=m(`span`,{class:`reminder-row__check reminder-row__check--done`,"aria-hidden":`true`},null,-1),m(`article`,{class:`reminder-card reminder-card--done`,onClick:t=>c(M).push({path:`/reminder`,query:{id:e.id}})},[m(`div`,Be,[m(`span`,Ve,n(e.time),1),m(`div`,He,[m(`strong`,null,n(e.title),1),s(y,{size:18,class:`reminder-card__menu`})])]),m(`div`,Ue,[m(`span`,{class:t([`tag`,$(e.interactionType)])},n(Q(e.interactionType)),3),m(`div`,We,[m(`div`,Ge,[m(`p`,Ke,n(e.customerName),1),m(`p`,qe,n(e.contactName),1)]),m(`div`,{class:`reminder-card__avatar`,style:l({background:e.avatarColor})},n(e.avatarLetter),5)])]),e.description?(u(),o(`p`,Je,n(e.description),1)):i(``,!0)],8,ze)]))),128)),J.value.length?i(``,!0):(u(),o(`p`,Ye,`یادآور تکمیلشدهای برای امروز نیست.`))])):i(``,!0)])],64)):i(``,!0),m(`button`,{type:`button`,class:`new-btn`,onClick:rt},[s(ce,{size:20,color:`#fff`}),f[21]||=r(` یادآور جدید `,-1)])])]))}}),[[`__scopeId`,`data-v-c73bda59`]]);export{M as default}; \ No newline at end of file diff --git a/dist/assets/SearchField-BGmIHecn.css b/dist/assets/SearchField-BGmIHecn.css deleted file mode 100644 index 295538a..0000000 --- a/dist/assets/SearchField-BGmIHecn.css +++ /dev/null @@ -1 +0,0 @@ -.search-field__input[data-v-70152960]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;height:48px;color:var(--color-text);padding:0 16px;font-family:inherit;font-size:.9375rem;line-height:1.5;transition:border-color .15s}.search-field__input[data-v-70152960]::placeholder{color:var(--color-text-muted)}.search-field__input[data-v-70152960]:focus{border-color:var(--color-primary);outline:none} diff --git a/dist/assets/SearchField-BSod6Xak.css b/dist/assets/SearchField-BSod6Xak.css new file mode 100644 index 0000000..a914394 --- /dev/null +++ b/dist/assets/SearchField-BSod6Xak.css @@ -0,0 +1 @@ +.search-field__input[data-v-dd01a898]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;height:48px;color:var(--color-text);padding:0 16px;font-family:inherit;font-size:.9375rem;line-height:1.5;transition:border-color .15s}.search-field__input[data-v-dd01a898]::placeholder{color:var(--color-text-muted)}.search-field__input[data-v-dd01a898]:focus{border-color:var(--color-primary);outline:none} diff --git a/dist/assets/SearchField-Dx2PcshV.js b/dist/assets/SearchField-CRmbblW7.js similarity index 92% rename from dist/assets/SearchField-Dx2PcshV.js rename to dist/assets/SearchField-CRmbblW7.js index 9a4dde9..63f3d4e 100644 --- a/dist/assets/SearchField-Dx2PcshV.js +++ b/dist/assets/SearchField-CRmbblW7.js @@ -1 +1 @@ -import{P as e,Y as t,j as n,n as r,z as i}from"./BasicIcon-C6boaehV.js";var a={class:`search-field`},o=[`value`,`placeholder`],s=r(i({__name:`SearchField`,props:{modelValue:{},placeholder:{}},emits:[`update:modelValue`],setup(r){return(i,s)=>(t(),e(`div`,a,[n(`input`,{class:`search-field__input`,type:`search`,value:r.modelValue,placeholder:r.placeholder,onInput:s[0]||=e=>i.$emit(`update:modelValue`,e.target.value)},null,40,o)]))}}),[[`__scopeId`,`data-v-70152960`]]);export{s as t}; \ No newline at end of file +import{P as e,Y as t,j as n,n as r,z as i}from"./BasicIcon-C6boaehV.js";var a={class:`search-field`},o=[`value`,`placeholder`],s=r(i({__name:`SearchField`,props:{modelValue:{},placeholder:{}},emits:[`update:modelValue`],setup(r){return(i,s)=>(t(),e(`div`,a,[n(`input`,{class:`search-field__input`,type:`search`,value:r.modelValue,placeholder:r.placeholder,onInput:s[0]||=e=>i.$emit(`update:modelValue`,e.target.value)},null,40,o)]))}}),[[`__scopeId`,`data-v-dd01a898`]]);export{s as t}; \ No newline at end of file diff --git a/dist/assets/SettlementTypeView-CGWtmoLi.js b/dist/assets/SettlementTypeView-Bo02Lk5z.js similarity index 96% rename from dist/assets/SettlementTypeView-CGWtmoLi.js rename to dist/assets/SettlementTypeView-Bo02Lk5z.js index 4e275db..1f5a620 100644 --- a/dist/assets/SettlementTypeView-CGWtmoLi.js +++ b/dist/assets/SettlementTypeView-Bo02Lk5z.js @@ -1 +1 @@ -import{A as e,Et as t,L as n,M as r,N as i,O as a,P as o,R as s,St as c,Y as l,_ as u,j as d,mt as f,n as p,rt as m,t as h,tt as g,z as _}from"./BasicIcon-C6boaehV.js";import{n as v}from"./format-BHJptHdF.js";import{d as y,n as b}from"./index-DzzUgmYT.js";import{t as x}from"./FormErrorBanner-CjdBfIQT.js";import{t as S}from"./CheckoutStepper-CqUviuW7.js";import{t as C}from"./PageHeader-BFnKSFNh.js";import{n as w}from"./orderInvoice-B0L1Aeuk.js";import{t as T}from"./useRequirePricedOrder-CxEozNXk.js";import{t as E}from"./IconCheckBook-DwIUojJc.js";var D=_({__name:`IconCashSettlement`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(l(),r(h,{icon:`vuesax-linear:card`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),O={class:`page settlement-mobile-page mobile-only`},k={class:`page__scroll`},A={key:0,class:`settlement-waiting`},j={class:`settlement-invoice`},M={class:`settlement-invoice__value`},N={key:0,class:`settlement-invoice__meta`},P={class:`settlement-mobile-options`},F=[`disabled`],I={class:`settlement-card__icon settlement-card__icon--cash`},L=[`disabled`],R={class:`settlement-card__icon settlement-card__icon--check`},z={class:`desktop-checkout-shell desktop-only`},B={class:`desktop-page__head`},V={class:`desktop-page__subtitle`},H={key:0,class:`settlement-waiting settlement-waiting--desktop`},U={key:1,class:`desktop-settlement-grid`},W=[`disabled`],G={class:`settlement-card__icon settlement-card__icon--cash`},K=[`disabled`],q={class:`settlement-card__icon settlement-card__icon--check`},J=p(_({__name:`SettlementTypeView`,setup(r){let p=u(),h=y(),{orderId:_,order:J,invoiceReady:Y}=T(),X=f(!1),Z=f(``);g(_,async e=>{e&&!h.getOrderById(e)&&await h.fetchOrder(e)},{immediate:!0});let Q=e(()=>J.value?.finalAmount?v(J.value.finalAmount):`—`);async function $(e){if(X.value||!w(J.value)){Z.value=`تا قبل از قیمتگذاری مدیریت، امکان انتخاب روش تسویه وجود ندارد.`;return}X.value=!0,Z.value=``;try{await h.chooseSettlement(_.value,e),e===`cash`?p.replace(`/orders/${_.value}/cash`):(h.startCheckDraft(_.value),p.replace(`/orders/${_.value}/check-mode`))}catch(e){Z.value=e instanceof Error?e.message:`ثبت روش تسویه ناموفق بود.`}finally{X.value=!1}}return(e,r)=>(l(),o(a,null,[d(`div`,O,[s(C,{title:`انتخاب نوع تسویه`,subtitle:`پس از صدور فاکتور، نوع تسویه را انتخاب کنید`,"show-back":``,centered:``,onBack:r[0]||=e=>c(p).push(`/orders/${c(_)}`)}),d(`div`,k,[s(x,{message:Z.value},null,8,[`message`]),c(Y)?(l(),o(a,{key:1},[d(`div`,j,[r[10]||=d(`span`,{class:`settlement-invoice__label`},`مبلغ فاکتور`,-1),d(`strong`,M,t(Q.value),1),c(J)?(l(),o(`span`,N,`سفارش `+t(c(J).orderNumber),1)):i(``,!0)]),d(`div`,P,[d(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:r[2]||=e=>$(`cash`)},[d(`span`,I,[s(D,{size:36})]),r[11]||=d(`h3`,null,`تسویه نقدی`,-1),r[12]||=d(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,F),d(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:r[3]||=e=>$(`check`)},[d(`span`,R,[s(E,{size:36})]),r[13]||=d(`h3`,null,`تسویه چکی`,-1),r[14]||=d(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,L)])],64)):(l(),o(`div`,A,[r[8]||=d(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمتگذاری`,-1),r[9]||=d(`p`,{class:`settlement-waiting__text`},` پیشسفارش ثبت شده است. پس از تعیین قیمت توسط مدیریت و صدور فاکتور، از این صفحه روش تسویه (نقد یا چک) را انتخاب کنید. `,-1),s(b,{block:``,variant:`outline`,onClick:r[1]||=e=>c(p).push(`/orders/${c(_)}`)},{default:m(()=>[...r[7]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])]),d(`div`,z,[s(S,{"current-step":4}),d(`header`,B,[r[15]||=d(`h1`,{class:`desktop-page__title`},`انتخاب نوع تسویه`,-1),d(`p`,V,[c(Y)?(l(),o(a,{key:0},[n(` مبلغ فاکتور `+t(Q.value)+t(c(J)?` · سفارش ${c(J).orderNumber}`:``),1)],64)):(l(),o(a,{key:1},[n(`پس از قیمتگذاری مدیریت فعال میشود`)],64))])]),s(x,{message:Z.value},null,8,[`message`]),c(Y)?(l(),o(`div`,U,[d(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:r[5]||=e=>$(`cash`)},[d(`span`,G,[s(D,{size:40})]),r[19]||=d(`h3`,null,`تسویه نقدی`,-1),r[20]||=d(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,W),d(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:r[6]||=e=>$(`check`)},[d(`span`,q,[s(E,{size:40})]),r[21]||=d(`h3`,null,`تسویه چکی`,-1),r[22]||=d(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,K)])):(l(),o(`div`,H,[r[17]||=d(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمتگذاری`,-1),r[18]||=d(`p`,{class:`settlement-waiting__text`},` پیشسفارش ثبت شده است. پس از صدور فاکتور میتوانید روش تسویه را انتخاب کنید. `,-1),s(b,{variant:`outline`,onClick:r[4]||=e=>c(p).push(`/orders/${c(_)}`)},{default:m(()=>[...r[16]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])],64))}}),[[`__scopeId`,`data-v-6b697aeb`]]);export{J as default}; \ No newline at end of file +import{A as e,Et as t,L as n,M as r,N as i,O as a,P as o,R as s,St as c,Y as l,_ as u,j as d,mt as f,n as p,rt as m,t as h,tt as g,z as _}from"./BasicIcon-C6boaehV.js";import{n as v}from"./format-BHJptHdF.js";import{d as y,n as b}from"./index-fdhs4HNc.js";import{t as x}from"./FormErrorBanner-CjdBfIQT.js";import{t as S}from"./CheckoutStepper-CqUviuW7.js";import{t as C}from"./PageHeader-Cd04Z6F_.js";import{n as w}from"./orderInvoice-B0L1Aeuk.js";import{t as T}from"./useRequirePricedOrder-BV4a0r6K.js";import{t as E}from"./IconCheckBook-DwIUojJc.js";var D=_({__name:`IconCashSettlement`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(l(),r(h,{icon:`vuesax-linear:card`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),O={class:`page settlement-mobile-page mobile-only`},k={class:`page__scroll`},A={key:0,class:`settlement-waiting`},j={class:`settlement-invoice`},M={class:`settlement-invoice__value`},N={key:0,class:`settlement-invoice__meta`},P={class:`settlement-mobile-options`},F=[`disabled`],I={class:`settlement-card__icon settlement-card__icon--cash`},L=[`disabled`],R={class:`settlement-card__icon settlement-card__icon--check`},z={class:`desktop-checkout-shell desktop-only`},B={class:`desktop-page__head`},V={class:`desktop-page__subtitle`},H={key:0,class:`settlement-waiting settlement-waiting--desktop`},U={key:1,class:`desktop-settlement-grid`},W=[`disabled`],G={class:`settlement-card__icon settlement-card__icon--cash`},K=[`disabled`],q={class:`settlement-card__icon settlement-card__icon--check`},J=p(_({__name:`SettlementTypeView`,setup(r){let p=u(),h=y(),{orderId:_,order:J,invoiceReady:Y}=T(),X=f(!1),Z=f(``);g(_,async e=>{e&&!h.getOrderById(e)&&await h.fetchOrder(e)},{immediate:!0});let Q=e(()=>J.value?.finalAmount?v(J.value.finalAmount):`—`);async function $(e){if(X.value||!w(J.value)){Z.value=`تا قبل از قیمتگذاری مدیریت، امکان انتخاب روش تسویه وجود ندارد.`;return}X.value=!0,Z.value=``;try{await h.chooseSettlement(_.value,e),e===`cash`?p.replace(`/orders/${_.value}/cash`):(h.startCheckDraft(_.value),p.replace(`/orders/${_.value}/check-mode`))}catch(e){Z.value=e instanceof Error?e.message:`ثبت روش تسویه ناموفق بود.`}finally{X.value=!1}}return(e,r)=>(l(),o(a,null,[d(`div`,O,[s(C,{title:`انتخاب نوع تسویه`,subtitle:`پس از صدور فاکتور، نوع تسویه را انتخاب کنید`,"show-back":``,centered:``,onBack:r[0]||=e=>c(p).push(`/orders/${c(_)}`)}),d(`div`,k,[s(x,{message:Z.value},null,8,[`message`]),c(Y)?(l(),o(a,{key:1},[d(`div`,j,[r[10]||=d(`span`,{class:`settlement-invoice__label`},`مبلغ فاکتور`,-1),d(`strong`,M,t(Q.value),1),c(J)?(l(),o(`span`,N,`سفارش `+t(c(J).orderNumber),1)):i(``,!0)]),d(`div`,P,[d(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:r[2]||=e=>$(`cash`)},[d(`span`,I,[s(D,{size:36})]),r[11]||=d(`h3`,null,`تسویه نقدی`,-1),r[12]||=d(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,F),d(`button`,{type:`button`,class:`settlement-card`,disabled:X.value,onClick:r[3]||=e=>$(`check`)},[d(`span`,R,[s(E,{size:36})]),r[13]||=d(`h3`,null,`تسویه چکی`,-1),r[14]||=d(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,L)])],64)):(l(),o(`div`,A,[r[8]||=d(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمتگذاری`,-1),r[9]||=d(`p`,{class:`settlement-waiting__text`},` پیشسفارش ثبت شده است. پس از تعیین قیمت توسط مدیریت و صدور فاکتور، از این صفحه روش تسویه (نقد یا چک) را انتخاب کنید. `,-1),s(b,{block:``,variant:`outline`,onClick:r[1]||=e=>c(p).push(`/orders/${c(_)}`)},{default:m(()=>[...r[7]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])]),d(`div`,z,[s(S,{"current-step":4}),d(`header`,B,[r[15]||=d(`h1`,{class:`desktop-page__title`},`انتخاب نوع تسویه`,-1),d(`p`,V,[c(Y)?(l(),o(a,{key:0},[n(` مبلغ فاکتور `+t(Q.value)+t(c(J)?` · سفارش ${c(J).orderNumber}`:``),1)],64)):(l(),o(a,{key:1},[n(`پس از قیمتگذاری مدیریت فعال میشود`)],64))])]),s(x,{message:Z.value},null,8,[`message`]),c(Y)?(l(),o(`div`,U,[d(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:r[5]||=e=>$(`cash`)},[d(`span`,G,[s(D,{size:40})]),r[19]||=d(`h3`,null,`تسویه نقدی`,-1),r[20]||=d(`p`,null,`پرداخت از طریق واریز به حساب شرکت`,-1)],8,W),d(`button`,{type:`button`,class:`settlement-card settlement-card--desktop`,disabled:X.value,onClick:r[6]||=e=>$(`check`)},[d(`span`,q,[s(E,{size:40})]),r[21]||=d(`h3`,null,`تسویه چکی`,-1),r[22]||=d(`p`,null,`پرداخت بر اساس مبلغ فاکتور با ثبت چک`,-1)],8,K)])):(l(),o(`div`,H,[r[17]||=d(`h3`,{class:`settlement-waiting__title`},`در انتظار قیمتگذاری`,-1),r[18]||=d(`p`,{class:`settlement-waiting__text`},` پیشسفارش ثبت شده است. پس از صدور فاکتور میتوانید روش تسویه را انتخاب کنید. `,-1),s(b,{variant:`outline`,onClick:r[4]||=e=>c(p).push(`/orders/${c(_)}`)},{default:m(()=>[...r[16]||=[n(` بازگشت به جزئیات سفارش `,-1)]]),_:1})]))])],64))}}),[[`__scopeId`,`data-v-6b697aeb`]]);export{J as default}; \ No newline at end of file diff --git a/dist/assets/WelcomeView-BbT_ocAD.js b/dist/assets/WelcomeView-CMxZax1Y.js similarity index 97% rename from dist/assets/WelcomeView-BbT_ocAD.js rename to dist/assets/WelcomeView-CMxZax1Y.js index 196d77f..1164235 100644 --- a/dist/assets/WelcomeView-BbT_ocAD.js +++ b/dist/assets/WelcomeView-CMxZax1Y.js @@ -1 +1 @@ -import{Et as e,M as t,O as n,P as r,R as i,St as a,Y as o,Z as s,_ as c,j as l,n as u,t as d,z as f}from"./BasicIcon-C6boaehV.js";import{_ as p,o as m}from"./index-DzzUgmYT.js";import{t as h}from"./login-fabric-CzrIXTnD.js";var g={class:`page welcome-page`},_=[`src`],v={class:`welcome-page__scroll`},y={class:`welcome-page__stage`},b={class:`welcome-brand`},x={class:`welcome-features`},S={class:`welcome-feature__icon`,"aria-hidden":`true`},C={key:0,class:`welcome-feature__star`,viewBox:`0 0 24 24`,fill:`none`},w={class:`welcome-cta__chevron`,"aria-hidden":`true`},T=u(f({__name:`WelcomeView`,setup(u){let f=c(),T=[{icon:`star`,title:`همراه همیشگی کسبوکارتان`,subtitle:`با خدمات ویژه مشتریان`},{icon:`vuesax-linear:truck-time`,title:`سفارش عمده`,subtitle:`مستقیم از تولیدکننده`},{icon:`vuesax-linear:element-3`,title:`تنوع بینظیر محصولات`,subtitle:`از کلاسیک تا مدرن`}];function E(){let e=typeof f.currentRoute.value.query.redirect==`string`?f.currentRoute.value.query.redirect:void 0;f.push({name:`login`,query:e?{redirect:e}:void 0})}return(c,u)=>(o(),r(`div`,g,[l(`img`,{class:`welcome-page__bg`,src:a(h),alt:``},null,8,_),u[7]||=l(`div`,{class:`welcome-page__veil`,"aria-hidden":`true`},null,-1),l(`div`,v,[l(`div`,y,[l(`header`,{class:`welcome-top`},[l(`button`,{type:`button`,class:`welcome-skip`,onClick:E},`رد شدن`)]),l(`div`,b,[i(p,{size:88}),u[0]||=l(`h1`,{class:`welcome-brand__fa`},`نادمی تکس`,-1),u[1]||=l(`p`,{class:`welcome-brand__tag`},`انتخاب حرفهای، شروع یک همکاری ماندگار`,-1),u[2]||=l(`span`,{class:`welcome-brand__rule`,"aria-hidden":`true`},null,-1)]),l(`ul`,x,[(o(),r(n,null,s(T,n=>l(`li`,{key:n.title,class:`welcome-feature`},[l(`span`,S,[n.icon===`star`?(o(),r(`svg`,C,[...u[3]||=[l(`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,stroke:`#fff`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,-1)]])):(o(),t(d,{key:1,icon:n.icon,size:22,color:`#ffffff`},null,8,[`icon`]))]),l(`strong`,null,e(n.title),1),l(`span`,null,e(n.subtitle),1)])),64))]),u[5]||=l(`div`,{class:`welcome-spacer`,"aria-hidden":`true`},null,-1),u[6]||=l(`div`,{class:`welcome-dots`,"aria-hidden":`true`},[l(`i`,{class:`is-on`}),l(`i`),l(`i`),l(`i`)],-1),l(`button`,{type:`button`,class:`welcome-cta`,onClick:E},[u[4]||=l(`span`,null,`ورود / ثبتنام`,-1),l(`span`,w,[i(m,{size:18,color:`#ffffff`})])])])])]))}}),[[`__scopeId`,`data-v-66f13882`]]);export{T as default}; \ No newline at end of file +import{Et as e,M as t,O as n,P as r,R as i,St as a,Y as o,Z as s,_ as c,j as l,n as u,t as d,z as f}from"./BasicIcon-C6boaehV.js";import{_ as p,o as m}from"./index-fdhs4HNc.js";import{t as h}from"./login-fabric-CzrIXTnD.js";var g={class:`page welcome-page`},_=[`src`],v={class:`welcome-page__scroll`},y={class:`welcome-page__stage`},b={class:`welcome-brand`},x={class:`welcome-features`},S={class:`welcome-feature__icon`,"aria-hidden":`true`},C={key:0,class:`welcome-feature__star`,viewBox:`0 0 24 24`,fill:`none`},w={class:`welcome-cta__chevron`,"aria-hidden":`true`},T=u(f({__name:`WelcomeView`,setup(u){let f=c(),T=[{icon:`star`,title:`همراه همیشگی کسبوکارتان`,subtitle:`با خدمات ویژه مشتریان`},{icon:`vuesax-linear:truck-time`,title:`سفارش عمده`,subtitle:`مستقیم از تولیدکننده`},{icon:`vuesax-linear:element-3`,title:`تنوع بینظیر محصولات`,subtitle:`از کلاسیک تا مدرن`}];function E(){let e=typeof f.currentRoute.value.query.redirect==`string`?f.currentRoute.value.query.redirect:void 0;f.push({name:`login`,query:e?{redirect:e}:void 0})}return(c,u)=>(o(),r(`div`,g,[l(`img`,{class:`welcome-page__bg`,src:a(h),alt:``},null,8,_),u[7]||=l(`div`,{class:`welcome-page__veil`,"aria-hidden":`true`},null,-1),l(`div`,v,[l(`div`,y,[l(`header`,{class:`welcome-top`},[l(`button`,{type:`button`,class:`welcome-skip`,onClick:E},`رد شدن`)]),l(`div`,b,[i(p,{size:88}),u[0]||=l(`h1`,{class:`welcome-brand__fa`},`نادمی تکس`,-1),u[1]||=l(`p`,{class:`welcome-brand__tag`},`انتخاب حرفهای، شروع یک همکاری ماندگار`,-1),u[2]||=l(`span`,{class:`welcome-brand__rule`,"aria-hidden":`true`},null,-1)]),l(`ul`,x,[(o(),r(n,null,s(T,n=>l(`li`,{key:n.title,class:`welcome-feature`},[l(`span`,S,[n.icon===`star`?(o(),r(`svg`,C,[...u[3]||=[l(`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,stroke:`#fff`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,-1)]])):(o(),t(d,{key:1,icon:n.icon,size:22,color:`#ffffff`},null,8,[`icon`]))]),l(`strong`,null,e(n.title),1),l(`span`,null,e(n.subtitle),1)])),64))]),u[5]||=l(`div`,{class:`welcome-spacer`,"aria-hidden":`true`},null,-1),u[6]||=l(`div`,{class:`welcome-dots`,"aria-hidden":`true`},[l(`i`,{class:`is-on`}),l(`i`),l(`i`),l(`i`)],-1),l(`button`,{type:`button`,class:`welcome-cta`,onClick:E},[u[4]||=l(`span`,null,`ورود / ثبتنام`,-1),l(`span`,w,[i(m,{size:18,color:`#ffffff`})])])])])]))}}),[[`__scopeId`,`data-v-66f13882`]]);export{T as default}; \ No newline at end of file diff --git a/dist/assets/catalogGallery-DMNB35I1.js b/dist/assets/catalogGallery-DMNB35I1.js deleted file mode 100644 index 1308e4c..0000000 --- a/dist/assets/catalogGallery-DMNB35I1.js +++ /dev/null @@ -1 +0,0 @@ -var e={suit:`پارچههای کتوشلواری`,trousers:`پارچههای شلواری`,shirt:`پارچههای پیراهنی`},t={summer:`تابستانه`,winter:`زمستانه`,all_season:`چهار فصل`};function n(e){let t=e.trim();return t.includes(`کالیته`)?t:`کالیته ${t}`}function r(e){return e.description?.match(/[A-Za-z][A-Za-z0-9 .&-]{1,28}/)?.[0]?.trim()||(/^[A-Za-z]/.test(e.code)?e.code:``)}function i(e,t){if(!e.length)return t;let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);return[...n.entries()].sort((e,t)=>t[1]-e[1])[0]?.[0]??t}function a(e){let t=`${e.weaveType??``} ${e.tags.join(` `)} ${e.name}`;return/ملانژ|melange|mélange|heather/i.test(t)?`melange`:/طرح?دار|striped?|check|print|jacquard|pattern/i.test(t)?`patterned`:/ساده|plain|solid/i.test(t)?`plain`:`other`}function o(e){let t=new Map;for(let n of e){let e=n.name.trim()||n.code,r=t.get(e)??[];r.push(n),t.set(e,r)}return[...t.entries()].map(([,e])=>{let t=[...new Set(e.flatMap(e=>e.colors.length?e.colors:e.color?[e.color]:[]))],n=t.map(t=>{for(let n of e){let e=n.colors.indexOf(t);if(e>=0&&n.colorImages?.[e])return n.colorImages[e]??void 0}});return{id:e[0].id,name:e[0].name,imageUrl:n.find(Boolean)||e.find(e=>e.imageUrl)?.imageUrl,colorCount:Math.max(t.length,e.length),colors:t.slice(0,5),colorImages:n.slice(0,5),kind:a(e[0]),items:e}})}function s(t,a){let s=new Map;for(let e of a){if(!e.catalogId)continue;let t=s.get(e.catalogId)??[];t.push(e),s.set(e.catalogId,t)}let c=t.map(e=>s.get(e.id)?.length??e.productCount??0),l=Math.max(4,[...c].sort((e,t)=>t-e)[Math.floor(t.length/3)]??4);return t.map(t=>{let a=s.get(t.id)??[],c=o(a).length||a.length||t.productCount||0,u=i(a.map(e=>e.categoryId),`suit`),d=i(a.map(e=>e.season),`all_season`),f=a.some(e=>e.isNew),p=c>=l;return{id:t.id,companyId:t.companyId,name:t.name,title:n(t.name),latinName:r(t),subtitle:t.description?.trim()||e[u]||`پارچههای منتخب`,imageUrl:t.imageUrl||a.find(e=>e.imageUrl)?.imageUrl,patternCount:c,badge:f?`new`:p?`popular`:void 0,season:d,isNew:f,isPopular:p}})}function c(e,t,n){let r=n.trim().toLowerCase(),i=e.filter(e=>!r||[e.title,e.name,e.latinName,e.subtitle].join(` `).toLowerCase().includes(r));if(t===`newest`)return i.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||t.patternCount-e.patternCount);if(t===`popular`)return i.sort((e,t)=>Number(t.isPopular)-Number(e.isPopular)||t.patternCount-e.patternCount);if(t===`season`){let e=[`summer`,`winter`,`all_season`];return i.sort((t,n)=>e.indexOf(t.season)-e.indexOf(n.season)||t.title.localeCompare(n.title,`fa`))}return i}export{c as a,r as i,s as n,o,n as r,t}; \ No newline at end of file diff --git a/dist/assets/catalogGallery-Khy0nWqc.js b/dist/assets/catalogGallery-Khy0nWqc.js new file mode 100644 index 0000000..82352b6 --- /dev/null +++ b/dist/assets/catalogGallery-Khy0nWqc.js @@ -0,0 +1 @@ +var e={suit:`پارچههای کتوشلواری`,trousers:`پارچههای شلواری`,shirt:`پارچههای پیراهنی`},t={summer:`تابستانه`,winter:`زمستانه`,all_season:`چهار فصل`};function n(e){let t=e.trim();return t.includes(`کالیته`)?t:`کالیته ${t}`}function r(e){return e.description?.match(/[A-Za-z][A-Za-z0-9 .&-]{1,28}/)?.[0]?.trim()||(/^[A-Za-z]/.test(e.code)?e.code:``)}function i(e,t){if(!e.length)return t;let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);return[...n.entries()].sort((e,t)=>t[1]-e[1])[0]?.[0]??t}function a(e){let t=`${e.weaveType??``} ${e.tags.join(` `)} ${e.name}`;return/ملانژ|melange|mélange|heather/i.test(t)?`melange`:/طرح?دار|striped?|check|print|jacquard|pattern/i.test(t)?`patterned`:/ساده|plain|solid/i.test(t)?`plain`:`other`}function o(e){let t=new Map;for(let n of e){let e=n.name.trim()||n.code,r=t.get(e)??[];r.push(n),t.set(e,r)}return[...t.entries()].flatMap(([,e])=>{let t=e[0];if(!t)return[];let n=[...new Set(e.flatMap(e=>e.colors.length?e.colors:e.color?[e.color]:[]))],r=n.map(t=>{for(let n of e){let e=n.colors.indexOf(t);if(e>=0&&n.colorImages?.[e])return n.colorImages[e]??void 0}});return{id:t.id,name:t.name,imageUrl:r.find(Boolean)||e.find(e=>e.imageUrl)?.imageUrl,colorCount:Math.max(n.length,e.length),colors:n.slice(0,5),colorImages:r.slice(0,5),kind:a(t),items:e}})}function s(t,a){let s=new Map;for(let e of a){if(!e.catalogId)continue;let t=s.get(e.catalogId)??[];t.push(e),s.set(e.catalogId,t)}let c=t.map(e=>s.get(e.id)?.length??e.productCount??0),l=Math.max(4,[...c].sort((e,t)=>t-e)[Math.floor(t.length/3)]??4);return t.map(t=>{let a=s.get(t.id)??[],c=o(a).length||a.length||t.productCount||0,u=i(a.map(e=>e.categoryId),`suit`),d=i(a.map(e=>e.season),`all_season`),f=a.some(e=>e.isNew),p=c>=l;return{id:t.id,companyId:t.companyId,name:t.name,title:n(t.name),latinName:r(t),subtitle:t.description?.trim()||e[u]||`پارچههای منتخب`,imageUrl:t.imageUrl||a.find(e=>e.imageUrl)?.imageUrl,patternCount:c,badge:f?`new`:p?`popular`:void 0,season:d,isNew:f,isPopular:p}})}function c(e,t,n){let r=n.trim().toLowerCase(),i=e.filter(e=>!r||[e.title,e.name,e.latinName,e.subtitle].join(` `).toLowerCase().includes(r));if(t===`newest`)return i.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||t.patternCount-e.patternCount);if(t===`popular`)return i.sort((e,t)=>Number(t.isPopular)-Number(e.isPopular)||t.patternCount-e.patternCount);if(t===`season`){let e=[`summer`,`winter`,`all_season`];return i.sort((t,n)=>e.indexOf(t.season)-e.indexOf(n.season)||t.title.localeCompare(n.title,`fa`))}return i}export{c as a,r as i,s as n,o,n as r,t}; \ No newline at end of file diff --git a/dist/assets/categoryIcons-eyHye9W7.js b/dist/assets/categoryIcons-eyHye9W7.js new file mode 100644 index 0000000..5dc5a4a --- /dev/null +++ b/dist/assets/categoryIcons-eyHye9W7.js @@ -0,0 +1 @@ +import{M as e,P as t,Y as n,j as r,t as i,z as a}from"./BasicIcon-C6boaehV.js";import{b as o,v as s,w as c}from"./index-fdhs4HNc.js";import{t as l}from"./IconDiamond-Bgv1zgqc.js";import{t as u}from"./IconLayoutGrid-E-Q8Z5rF.js";import{t as d}from"./IconShoppingBag-Bq21_Txe.js";var f=a({__name:`IconBolt`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(r,a)=>(n(),e(i,{icon:`vuesax-linear:flash`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),p=a({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(r,a)=>(n(),e(i,{icon:`vuesax-linear:pen-add`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),m=a({__name:`IconIdCard`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(r,a)=>(n(),e(i,{icon:`vuesax-linear:personalcard`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),h=[`width`,`height`],g=[`stroke`,`stroke-width`],_=[`stroke`,`stroke-width`],v=a({__name:`IconShirt`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(e){return(i,a)=>(n(),t(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[r(`path`,{d:`M8.25 5.25 12 7.75l3.75-2.5 2.25 2.75L16 9.5V18.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9.5L6 8l2.25-2.75Z`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,g),r(`path`,{d:`M12 7.75V18.5`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,_)],8,h))}}),y=[`width`,`height`],b=[`stroke`,`stroke-width`],x=[`stroke`,`stroke-width`],S=[`stroke`,`stroke-width`],C=[`stroke`,`stroke-width`],w=a({__name:`IconSuit`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(e){return(i,a)=>(n(),t(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[r(`path`,{d:`M7.5 5.5h9l2 3v10.5a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V8.5l2-3Z`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,b),r(`path`,{d:`M12 5.5v13`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,x),r(`path`,{d:`M7.5 9 12 11.75 16.5 9`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,S),r(`path`,{d:`M10.25 5.5V4a1.75 1.75 0 0 1 3.5 0v1.5`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,C)],8,y))}}),T=[`width`,`height`],E=[`stroke`,`stroke-width`],D=[`stroke`,`stroke-width`],O=[`stroke`,`stroke-width`],k={bolt:f,feather:p,diamond:l,grid:u,bag:d,"id-card":m,catalog:o,headset:s,home:c,shirt:v,suit:w,trousers:a({__name:`IconTrousers`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(e){return(i,a)=>(n(),t(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[r(`path`,{d:`M8 4.5h8v4.25l-1.75 11H13l-1-9.5-1 9.5H7.75L6 8.75V4.5Z`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,E),r(`path`,{d:`M12 8.75v11`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,D),r(`path`,{d:`M8 7.25h8`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,O)],8,T))}})},A={shirt:`shirt`,suit:`suit`,trousers:`trousers`};function j(e){return A[e.id]?A[e.id]:e.icon&&k[e.icon]?e.icon:e.icon??`grid`}function M(e,t=l){return e&&k[e]||t}export{j as n,M as t}; \ No newline at end of file diff --git a/dist/assets/crm-CtglbPsN.js b/dist/assets/crm-DmqasSZ_.js similarity index 97% rename from dist/assets/crm-CtglbPsN.js rename to dist/assets/crm-DmqasSZ_.js index ad43797..5f4eab5 100644 --- a/dist/assets/crm-CtglbPsN.js +++ b/dist/assets/crm-DmqasSZ_.js @@ -1 +1 @@ -import{mt as e}from"./BasicIcon-C6boaehV.js";import{n as t,o as n,t as r}from"./http-BC1hNfZ4.js";var i=[{id:`trousers`,title:`پارچههای شلواری`,subtitle:`مشاهده محصولات`},{id:`suit`,title:`پارچههای کتشلواری`,subtitle:`مشاهده محصولات`},{id:`shirt`,title:`پارچههای پیراهنی`,subtitle:`مشاهده محصولات`}],a=[{id:`summer`,title:`تابستانه`,description:`سبک، خنک و مناسب فصل گرم`},{id:`winter`,title:`زمستانه`,description:`گرم و مناسب فصل سرد`},{id:`all_season`,title:`چهارفصل`,description:`مناسب استفاده در بیشتر فصلهای سال`}];function o(){return{usage:i,seasons:a}}var s=`سرویس واسطه روی سرور فعال نیست. پس از migrate و deploy سرور دوباره تلاش کنید.`;async function c(e,n){try{return await t(e,n)}catch(e){throw e instanceof r&&(e.status===404||e.status===501)?new r(e.status,s):e}}async function l(){try{return await t(`/catalog/categories`)}catch{try{return await t(`/products/meta/categories`)}catch{return o()}}}async function u(e){return t(`/products`,{query:{activeOnly:!0,categoryId:e?.categoryId,season:e?.season,catalogId:e?.catalogId,companyId:e?.companyId}})}async function d(e){return t(`/banners`,{query:{slot:e}})}async function f(){return c(`/agent/profile`)}async function p(e){return c(`/agent/customers`,{query:e})}async function m(e){return c(`/agent/customers`,{method:`POST`,body:e})}async function h(e){return c(`/agent/customers/${e}`)}async function g(e){return c(`/agent/meetings`,{method:`POST`,body:e})}async function _(e){return c(`/agent/reminders`,{query:{filter:e}})}async function v(e){return c(`/agent/reminders/${e}`)}async function y(e,t=!0){return c(`/agent/reminders/${e}/complete`,{method:`PATCH`,body:{completed:t}})}async function b(e){return c(`/agent/reminders`,{method:`POST`,body:e})}function x(e){return{id:e.id,name:e.name,code:e.code,categoryId:e.categoryId||e.usageCategory||`other`,season:e.season||`all_season`,widthCm:e.widthCm??150,composition:e.composition??``,weightGrams:e.weightGrams,weaveType:e.weaveType,colors:e.colors?.length?e.colors:[`#6b7280`],colorImages:e.colorImages,tags:e.tags??[],isNew:!!e.isNew,imageUrl:e.imageUrl||e.colorImages?.find(Boolean)||e.imageUrls?.[0],imageUrls:e.imageUrls,subtitle:e.subtitle,rollMeters:e.rollMeters??50,companyId:e.companyId,catalogId:e.catalogId,catalogCode:e.catalogCode,catalogName:e.catalogName,color:e.color,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice??void 0}}var S=n(`crm`,()=>{let n=e(!1),r=e(null),i=e(null),a=e([]),o=e([]),s=e([]),c=e([]),d=e([]);async function S(){let e=await l();return s.value=e.usage,c.value=e.seasons,e}async function C(e){let t=await u(e);return d.value=t.map(x),d.value}async function w(e){return x(await t(`/products/${e}`))}async function T(){return i.value=await f(),i.value}async function E(e){return a.value=await p(e),a.value}async function D(e){return await h(e)}async function O(e){return g(e)}async function k(e){return m(e)}async function A(e){return o.value=await _(e),o.value}async function j(e){return v(e)}async function M(e){return y(e,!0)}async function N(e){return b(e)}return{loading:n,error:r,agentProfile:i,customers:a,reminders:o,usageCategories:s,seasonCategories:c,browseProducts:d,loadCategories:S,loadBrowseProducts:C,loadProductById:w,loadAgentProfile:T,loadCustomers:E,loadCustomerDetail:D,submitMeeting:O,registerCustomer:k,loadReminders:A,loadReminderDetail:j,markReminderComplete:M,createReminder:N}});export{i as a,a as i,f as n,d as r,S as t}; \ No newline at end of file +import{mt as e}from"./BasicIcon-C6boaehV.js";import{n as t,o as n,t as r}from"./http-BC1hNfZ4.js";var i=[{id:`trousers`,title:`پارچههای شلواری`,subtitle:`مشاهده محصولات`},{id:`suit`,title:`پارچههای کتشلواری`,subtitle:`مشاهده محصولات`},{id:`shirt`,title:`پارچههای پیراهنی`,subtitle:`مشاهده محصولات`}],a=[{id:`summer`,title:`تابستانه`,description:`سبک، خنک و مناسب فصل گرم`},{id:`winter`,title:`زمستانه`,description:`گرم و مناسب فصل سرد`},{id:`all_season`,title:`چهارفصل`,description:`مناسب استفاده در بیشتر فصلهای سال`}];function o(){return{usage:i,seasons:a}}var s=`سرویس واسطه روی سرور فعال نیست. پس از migrate و deploy سرور دوباره تلاش کنید.`;async function c(e,n){try{return await t(e,n)}catch(e){throw e instanceof r&&(e.status===404||e.status===501)?new r(e.status,s):e}}async function l(){try{return await t(`/catalog/categories`)}catch{try{return await t(`/products/meta/categories`)}catch{return o()}}}async function u(e){return t(`/products`,{query:{activeOnly:!0,categoryId:e?.categoryId,season:e?.season,catalogId:e?.catalogId,companyId:e?.companyId}})}async function d(e){return t(`/banners`,{query:{slot:e}})}async function f(){return c(`/agent/profile`)}async function p(e){return c(`/agent/customers`,{query:e})}async function m(e){return c(`/agent/customers`,{method:`POST`,body:e})}async function h(e){return c(`/agent/customers/${e}`)}async function g(e){return c(`/agent/meetings`,{method:`POST`,body:e})}async function _(e){return c(`/agent/reminders`,{query:{filter:e}})}async function v(e){return c(`/agent/reminders/${e}`)}async function y(e,t=!0){return c(`/agent/reminders/${e}/complete`,{method:`PATCH`,body:{completed:t}})}async function b(e){return c(`/agent/reminders`,{method:`POST`,body:e})}function x(e){return{id:e.id,name:e.name,code:e.code,categoryId:e.categoryId||e.usageCategory||`other`,season:e.season||`all_season`,widthCm:e.widthCm??150,composition:e.composition??``,weightGrams:e.weightGrams,weaveType:e.weaveType,colors:e.colors?.length?e.colors:[`#6b7280`],colorImages:e.colorImages,tags:e.tags??[],isNew:!!e.isNew,imageUrl:e.imageUrl||e.colorImages?.find(Boolean)||e.imageUrls?.[0],imageUrls:e.imageUrls,subtitle:e.subtitle,rollMeters:e.rollMeters??50,companyId:e.companyId,catalogId:e.catalogId,catalogCode:e.catalogCode,catalogName:e.catalogName,color:e.color,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice??void 0}}var S=n(`crm`,()=>{let n=e(!1),r=e(null),i=e(null),a=e([]),o=e([]),s=e([]),c=e([]),d=e([]);async function S(){let e=await l();return s.value=e.usage,c.value=e.seasons,e}async function C(e){let t=await u(e);return d.value=t.map(x),d.value}async function w(e){return x(await t(`/products/${e}`))}async function T(){return i.value=await f(),i.value}async function E(e){return a.value=await p(e),a.value}async function D(e){return await h(e)}async function O(e){return g(e)}async function k(e){return m(e)}async function A(e){return o.value=await _(e),o.value}async function j(e){return v(e)}async function M(e){return y(e,!0)}async function N(e){return b(e)}return{loading:n,error:r,agentProfile:i,customers:a,reminders:o,usageCategories:s,seasonCategories:c,browseProducts:d,loadCategories:S,loadBrowseProducts:C,loadProductById:w,loadAgentProfile:T,loadCustomers:E,loadCustomerDetail:D,submitMeeting:O,registerCustomer:k,loadReminders:A,loadReminderDetail:j,markReminderComplete:M,createReminder:N}});export{a,_ as i,f as n,i as o,d as r,S as t}; \ No newline at end of file diff --git a/dist/assets/index-8S-fr-dB.css b/dist/assets/index-8S-fr-dB.css deleted file mode 100644 index 80c068f..0000000 --- a/dist/assets/index-8S-fr-dB.css +++ /dev/null @@ -1 +0,0 @@ -.bottom-nav[data-v-3b391510]{min-height:var(--nav-height);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0));flex-shrink:0;justify-content:space-around;align-items:flex-end;display:flex}@media (width>=768px){.bottom-nav[data-v-3b391510]{display:none}}.nav-item[data-v-3b391510]{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;margin:0;padding:4px 2px 2px;transition:color .15s;display:flex;position:relative}.nav-item[data-v-3b391510]:focus,.nav-item[data-v-3b391510]:focus-visible{outline:none}.nav-item.active[data-v-3b391510]{color:var(--color-primary);background:0 0}.nav-item.active .nav-label[data-v-3b391510]{font-weight:700}.nav-item--fab[data-v-3b391510]{color:var(--color-text-muted);justify-content:flex-end}.nav-item--fab.active[data-v-3b391510]{color:var(--color-primary)}.nav-icon[data-v-3b391510]{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative;overflow:visible}.nav-icon--fab[data-v-3b391510]{background:var(--color-primary);color:#fff;width:52px;height:52px;box-shadow:0 6px 16px rgba(var(--color-primary-rgb), .35);border-radius:999px;margin-top:-28px}.nav-label[data-v-3b391510]{white-space:nowrap;font-size:.6875rem;font-weight:500;line-height:1.2}.nav-label--fab[data-v-3b391510]{font-size:.625rem}.nav-badge[data-v-3b391510]{top:-2px;background:var(--color-danger);color:#fff;pointer-events:none;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:absolute;inset-inline-end:-2px}.brand-logo[data-v-b211450b]{object-fit:contain;-webkit-user-select:none;user-select:none;flex-shrink:0;width:auto;display:block}.desktop-sidebar[data-v-16152195]{width:var(--sidebar-width);background:var(--color-surface);border-inline-start:1px solid var(--color-border);flex-direction:column;flex-shrink:0;height:100%;padding:0;display:none;overflow-y:auto}@media (width>=768px){.desktop-sidebar[data-v-16152195]{display:flex}}.desktop-sidebar__brand[data-v-16152195]{height:var(--header-height);min-height:var(--header-height);max-height:var(--header-height);box-sizing:border-box;border-bottom:none;flex-shrink:0;justify-content:flex-start;align-items:center;gap:10px;padding:0 20px;display:flex}@media (width>=1200px){.desktop-sidebar__brand[data-v-16152195]{padding:0 28px}}.desktop-sidebar__logo-mark[data-v-16152195]{flex-shrink:0}.desktop-sidebar__title[data-v-16152195]{color:var(--color-primary);font-size:1rem;font-weight:700;display:block}.desktop-sidebar__nav[data-v-16152195]{flex-direction:column;flex:1;gap:4px;padding:12px 12px 0;display:flex}@media (width>=1200px){.desktop-sidebar__nav[data-v-16152195]{padding:16px 16px 0}}.desktop-sidebar__item[data-v-16152195]{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:start;background:0 0;border:none;justify-content:flex-start;align-items:center;gap:12px;padding:11px 12px;transition:background .15s,color .15s;display:flex;position:relative}@media (width>=1200px){.desktop-sidebar__item[data-v-16152195]{padding:11px 14px}}.desktop-sidebar__item[data-v-16152195]:hover{background:var(--color-elevated);color:var(--color-text)}.desktop-sidebar__item[data-v-16152195]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.desktop-sidebar__item.active[data-v-16152195]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.desktop-sidebar__item.active .desktop-sidebar__icon[data-v-16152195]{color:var(--color-primary)}.desktop-sidebar__icon[data-v-16152195]{width:22px;height:22px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.desktop-sidebar__label[data-v-16152195]{font-size:.875rem;font-weight:inherit;white-space:nowrap;display:block}.desktop-sidebar__badge[data-v-16152195]{background:var(--color-danger);color:var(--color-surface);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;margin-inline-start:auto;padding:0 4px;font-size:.6875rem;font-weight:700;display:flex}.desktop-sidebar__support[data-v-16152195]{background:var(--color-primary-soft);border-radius:var(--radius-lg);flex-direction:column;gap:8px;margin:auto 12px 20px;padding:14px;display:flex}@media (width>=1200px){.desktop-sidebar__support[data-v-16152195]{margin:auto 16px 24px;padding:16px}}.desktop-sidebar__support-icon[data-v-16152195]{background:var(--color-primary);width:36px;height:36px;color:var(--color-surface);border-radius:50%;justify-content:center;align-items:center;display:flex}.desktop-sidebar__support-title[data-v-16152195]{color:var(--color-text);font-size:.875rem;font-weight:700}.desktop-sidebar__support-text[data-v-16152195]{color:var(--color-text-muted);margin:0;font-size:.6875rem;line-height:1.5}.desktop-sidebar__support-btn[data-v-16152195]{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);text-align:center;margin-top:4px;padding:10px 12px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:block}.desktop-sidebar__support-btn[data-v-16152195]:hover{opacity:.9}.auth-theme-toggle[data-v-3a58cb84]{color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex}.auth-theme-toggle--floating[data-v-3a58cb84]{top:calc(12px + env(safe-area-inset-top,0px));z-index:100;width:40px;height:40px;color:var(--color-text);box-shadow:none;background:0 0;position:fixed;inset-inline-end:16px}.auth-theme-toggle--inline[data-v-3a58cb84]{width:40px;height:40px;color:inherit;flex-shrink:0;position:relative}.auth-theme-toggle[data-v-3a58cb84]:hover{color:var(--color-primary)}.user-avatar[data-v-5c562bf0]{color:inherit;background:#ffffff2e;border-radius:999px;flex-shrink:0;place-items:center;font-weight:700;display:grid;overflow:hidden}.user-avatar__img[data-v-5c562bf0]{object-fit:cover;width:100%;height:100%;display:block}.desktop-header[data-v-5f322d95]{height:var(--header-height);min-height:var(--header-height);max-height:var(--header-height);box-sizing:border-box;background:var(--color-surface);border-bottom:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;padding:0 28px;display:none}@media (width>=768px){.desktop-header[data-v-5f322d95]{padding:0 var(--page-padding);gap:16px;display:flex}}@media (width>=1200px){.desktop-header[data-v-5f322d95]{padding:0 var(--page-padding);gap:24px}}.desktop-header__spacer[data-v-5f322d95]{flex:1;min-width:0}.desktop-header__actions[data-v-5f322d95]{flex-shrink:0;align-items:center;gap:16px;margin-inline-start:auto;display:flex}.desktop-header__company[data-v-5f322d95]{color:var(--color-text-muted);border-inline-end:1px solid var(--color-border);padding-inline-end:8px;font-size:.8125rem;font-weight:600;display:none}@media (width>=992px){.desktop-header__company[data-v-5f322d95]{display:block}}.desktop-header__icon-btn[data-v-5f322d95]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:40px;height:40px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.desktop-header__notif-badge[data-v-5f322d95]{top:4px;background:var(--color-danger);min-width:18px;height:18px;color:var(--color-on-primary,#fff);border:2px solid var(--color-surface);border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:.625rem;font-weight:700;display:flex;position:absolute;inset-inline-end:4px}.desktop-header__user-wrap[data-v-5f322d95]{position:relative}.desktop-header__user[data-v-5f322d95]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;align-items:center;gap:10px;padding:6px 12px 6px 8px;font-family:inherit;display:flex}.desktop-header__avatar[data-v-5f322d95]{background:var(--color-primary);color:var(--color-surface)}.desktop-header__user-name[data-v-5f322d95]{color:var(--color-text);font-size:.875rem;font-weight:600;display:none}@media (width>=1200px){.desktop-header__user-name[data-v-5f322d95]{display:block}}.desktop-header__chevron[data-v-5f322d95]{color:var(--color-text-muted);transform:rotate(-90deg)}.desktop-header__menu[data-v-5f322d95]{top:calc(100% + 6px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-md);z-index:100;padding:6px;position:absolute;inset-inline-end:0}.desktop-header__menu button[data-v-5f322d95]{text-align:start;cursor:pointer;border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:0 0;border:none;padding:10px 12px;font-family:inherit;font-size:.875rem}.desktop-header__menu button[data-v-5f322d95]:hover{background:var(--color-elevated)}.desktop-header__menu-logout[data-v-5f322d95]{color:var(--color-danger)!important}.btn[data-v-3628a8bb]{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn[data-v-3628a8bb]:disabled{opacity:.55;cursor:not-allowed}.btn-block[data-v-3628a8bb]{width:100%}.btn-sm[data-v-3628a8bb]{min-height:36px;padding:0 14px;font-size:.8125rem}.btn-md[data-v-3628a8bb]{min-height:var(--btn-height);padding:0 24px;font-size:.9375rem}.btn-lg[data-v-3628a8bb]{min-height:52px;padding:0 28px;font-size:1rem}.btn-primary[data-v-3628a8bb]{background:var(--color-primary);color:var(--color-surface)}.btn-primary[data-v-3628a8bb]:not(:disabled):hover{background:var(--color-primary-dark)}.btn-secondary[data-v-3628a8bb]{background:var(--color-primary-light);color:var(--color-primary)}.btn-outline[data-v-3628a8bb]{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-danger[data-v-3628a8bb]{background:var(--color-danger);color:var(--color-surface)}.btn-ghost[data-v-3628a8bb]{color:var(--color-text-muted);background:0 0}.btn-spinner[data-v-3628a8bb]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-3628a8bb}@keyframes spin-3628a8bb{to{transform:rotate(360deg)}}.confirm-dialog[data-v-2e50e2a7]{padding:20px}.confirm-dialog__title[data-v-2e50e2a7]{margin:0 0 8px;font-size:1.0625rem;font-weight:700}.confirm-dialog__message[data-v-2e50e2a7]{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.7}.confirm-dialog__actions[data-v-2e50e2a7]{margin-top:20px}@media (width>=768px){.confirm-dialog__actions[data-v-2e50e2a7]{flex-direction:row;justify-content:flex-end}}*,:before,:after,::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.btn-block{width:100%}.page-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.static{position:static}.isolate{isolation:isolate}.grid{display:grid}.inline-grid{display:inline-grid}.m-0{margin:0}.mb-3{margin-bottom:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.inline,.empty-inline:empty{display:inline}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-10{height:2.5rem}.h1{height:.25rem}.h2{height:.5rem}.h3{height:.75rem}.min-w-0{min-width:0}.w-10{width:2.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize{resize:both}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.b,.border{border-width:1px}.border-t{border-top-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-full{border-radius:9999px}.bg-\[var\(--color-primary-soft\)\]{background-color:var(--color-primary-soft)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.p-4{padding:1rem}.px{padding-left:1rem;padding-right:1rem}.pt-3{padding-top:.75rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-\[var\(--color-danger\)\]{color:var(--color-danger)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-success\)\]{color:var(--color-success)}.text-\[var\(--color-text-muted\)\],.text-muted{color:var(--color-text-muted)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-relaxed{line-height:1.625}.italic{font-style:italic}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline{text-decoration-line:underline}.tab{tab-size:4}.text-shadow{--un-text-shadow:0 0 1px var(--un-text-shadow-color,#0003),0 0 1px var(--un-text-shadow-color,#0100051a);text-shadow:var(--un-text-shadow)}.outline{outline-style:solid}.blur{--un-blur:blur(8px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease,.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)-BLA2CtIC.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Light-B637MNLG.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_UltraLight-hW-WDKY9.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Medium-C2CKjrKB.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Medium-C2CKjrKB.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Bold-C8urhp07.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url(/assets/IRANSansWeb\(FaNum\)_Black-BFAfOkt4.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--color-primary:#0a353c;--color-primary-hover:#072a2f;--color-primary-soft:#e8f4f1;--color-primary-dark:#062428;--color-primary-light:#e8f4f1;--color-primary-rgb:10, 53, 60;--color-accent-navy:#0a353c;--color-accent-navy-rgb:10, 53, 60;--color-success:#1b8a5a;--color-success-light:#eaf8f1;--color-success-soft:#eaf8f1;--color-warning:#e8a317;--color-warning-light:#fff6e5;--color-danger:#dc3545;--color-danger-light:#fee2e2;--color-purple:#7c3aed;--color-purple-light:#ede9fe;--color-info:#3b6fa0;--color-info-light:#eef3f7;--color-bg:#eef1f0;--color-page-background:#eef1f0;--color-shell-bg:#eef1f0;--color-surface:#eef1f0;--color-border:#d8dedc;--color-text:#121212;--color-text-primary:#121212;--color-text-muted:#6b7280;--color-text-secondary:#6b7280;--color-tab-inactive-bg:#e4e8e6;--color-tab-inactive-text:#64748b;--color-summary-bg:#e4e8e6;--color-elevated:#eef1f0;--color-brand-warm:#f3ece3;--color-brand-warm-text:#1a202c;--color-brand-warm-muted:#718096;--color-level-gold:#c9a227;--color-level-gold-soft:#f7efd6;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:none;--shadow-md:none;--shadow-card:none;--shadow-frame:0 8px 32px #0f172a1a;--nav-height:64px;--page-padding:16px;--page-padding-tablet:20px;--page-padding-desktop:28px;--page-gap:12px;--content-max-width:1360px;--form-max-width:520px;--auth-form-max-width:440px;--summary-panel-width:320px;--sidebar-width:240px;--sidebar-width-compact:72px;--header-height:70px;--app-shell-breakpoint:768px;--font-family:"IRANSans", "Tahoma", sans-serif;--btn-height:48px;--desktop-breakpoint:1200px}html.dark{--color-primary:#5eb8ad;--color-primary-hover:#7ad0c5;--color-primary-soft:#14353a;--color-primary-dark:#7ad0c5;--color-primary-light:#14353a;--color-primary-rgb:94, 184, 173;--color-accent-navy:#5eb8ad;--color-accent-navy-rgb:94, 184, 173;--color-success:#3dd68c;--color-success-light:#123528;--color-success-soft:#123528;--color-warning:#f5c14a;--color-warning-light:#3a2f14;--color-danger:#f47979;--color-danger-light:#3f1d22;--color-purple:#b39afa;--color-purple-light:#2a2144;--color-info:#7b9cff;--color-info-light:#1b2740;--color-bg:#0b0f14;--color-page-background:#0b0f14;--color-shell-bg:#0b0f14;--color-surface:#0b0f14;--color-elevated:#0b0f14;--color-border:#2a3444;--color-text:#eef2f8;--color-text-primary:#eef2f8;--color-text-muted:#9aa8bc;--color-text-secondary:#9aa8bc;--color-tab-inactive-bg:#1a2230;--color-tab-inactive-text:#9aa8bc;--color-summary-bg:#1a2230;--color-brand-warm:#2a241c;--color-brand-warm-text:#f3ebe0;--color-brand-warm-muted:#b9a88d;--color-level-gold:#e0c35a;--color-level-gold-soft:#3a3420;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 8px 24px #00000073;--shadow-card:0 1px 2px #00000059, 0 8px 24px #00000059;--shadow-frame:0 12px 40px #00000080}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%;font-size:16px;overflow:hidden}body{font-family:var(--font-family);background:var(--color-shell-bg);color:var(--color-text);direction:rtl;height:100%;margin:0;line-height:1.5;overflow:hidden}#app{height:100dvh;overflow:hidden}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}a{color:var(--color-primary);text-decoration:none}button,input,select,textarea{font-family:inherit}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;text-align:right}.page{background:var(--color-bg);min-height:0;color:var(--color-text);flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.page__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.page__scroll--with-nav{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.page-title{color:var(--color-text);margin:0 0 4px;font-size:1.25rem;font-weight:700;line-height:1.35}.page-subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.card{background:var(--color-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:none;color:var(--color-text);padding:16px}.auth-page{background:0 0}.auth-top{padding:8px var(--page-padding);background:var(--color-surface);grid-template-columns:40px 1fr 40px;align-items:center;gap:4px;display:grid}.auth-top__title{text-align:center;color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.auth-top .icon-btn{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;border-radius:12px;place-items:center;padding:0;display:grid}.auth-body{padding:20px var(--page-padding) 32px;background:0 0;flex-direction:column;gap:16px;display:flex}.auth-lead{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.6}.auth-page .card{width:100%;max-width:var(--auth-form-max-width);box-shadow:none;background:0 0;border:none;margin-inline:auto;padding:0}.auth-switch{width:100%;max-width:var(--auth-form-max-width);text-align:center;color:var(--color-text-muted);margin:0 auto;font-size:.875rem}.auth-switch a{color:var(--color-primary);font-weight:700}.auth-page .input,.auth-page .job-select,.auth-page .otp-box{background:var(--color-surface);border:1px solid #eeeef1;border-radius:12px}.auth-page .btn{border-radius:12px}.card+.card{margin-top:var(--page-gap)}.alert{border-radius:var(--radius-sm);padding:12px 14px;font-size:.875rem;line-height:1.5}.alert-info{background:var(--color-primary-light);color:var(--color-primary);border:1px solid #cbd5e1}.alert-warning{background:var(--color-warning-light);color:#9a3412;border:1px solid #fed7aa}.alert-success{background:var(--color-success-light);color:#155724;border:1px solid #c3e6cb}.alert-danger{background:var(--color-danger-light);color:#991b1b;border:1px solid #fecaca}.form-group{margin-bottom:16px}.form-label{color:var(--color-text);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.form-hint{color:var(--color-text-muted);margin-top:4px;font-size:.75rem}.divider{background:var(--color-border);height:1px;margin:16px 0}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.875rem}.text-center{text-align:center}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.flex-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.sticky-footer{bottom:calc(var(--nav-height) + 12px);z-index:50;width:100%;max-width:100%;padding-inline:var(--page-padding);box-sizing:border-box;position:fixed;inset-inline:0}.sticky-footer-inner{max-width:100%}.no-nav .page{padding-bottom:0}.no-nav .sticky-footer{bottom:0}.dialog-overlay{z-index:200;background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog-overlay .dialog{width:100%;max-width:400px}.dialog-actions{flex-direction:column;gap:8px;margin-top:16px;display:flex}.desktop-only,.desktop-only-flex,.desktop-only-grid{display:none!important}.mobile-hidden{display:block}.desktop-hidden{display:none!important}@media (width>=768px){.mobile-only,.mobile-block{display:none!important}.desktop-only{display:block!important}.mobile-hidden{display:none!important}.desktop-hidden{display:block!important}.desktop-only-flex{display:flex!important}.desktop-only-grid{display:grid!important}.page{background:0 0;padding:0}.page__scroll--with-nav{padding-bottom:0}}.page-fade-enter-active,.page-fade-leave-active,.page-forward-enter-active,.page-forward-leave-active,.page-back-enter-active,.page-back-leave-active{transition:opacity .22s,transform .22s}.page-fade-enter-from,.page-fade-leave-to{opacity:0}.page-forward-enter-from{opacity:0;transform:translate(-18px)}.page-forward-leave-to{opacity:0;transform:translate(12px)}.page-back-enter-from{opacity:0;transform:translate(18px)}.page-back-leave-to{opacity:0;transform:translate(-12px)}@media (prefers-reduced-motion:reduce){.page-fade-enter-active,.page-fade-leave-active,.page-forward-enter-active,.page-forward-leave-active,.page-back-enter-active,.page-back-leave-active{transition:none}}.app-shell{background:var(--color-shell-bg);width:100%;height:100dvh;display:flex;overflow:hidden}.app-layout{flex-direction:row;width:100%;height:100%;min-height:0;display:flex}.app-frame{background:var(--color-bg);width:100%;height:100%;color:var(--color-text);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-main,.app-main__content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.app-content{width:100%;min-height:0;max-width:var(--content-max-width);flex-direction:column;flex:1;margin-inline:auto;padding-inline:0;display:flex;position:relative}.page-transition{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.app-shell--with-nav{justify-content:stretch}.app-shell--with-nav .app-frame{max-width:100%;box-shadow:none;border-radius:0;margin:0}@media (width>=768px){.app-shell--with-nav,.app-shell--with-nav .app-frame{background:var(--color-page-background)}.app-shell--with-nav .app-layout{position:relative}.app-shell--with-nav .app-layout:after{content:"";top:var(--header-height);background:var(--color-border);z-index:30;pointer-events:none;height:1px;position:absolute;inset-inline:0}.app-shell--with-nav .app-main__content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}.app-shell--with-nav .app-content,.app-shell--with-nav .page-transition{flex:1 0 auto;min-height:min-content;overflow:visible}.app-shell--with-nav .page-transition>*{flex:1 0 auto;height:auto;min-height:min-content;max-height:none;overflow:visible}}.app-shell--no-nav{background:var(--color-page-background);justify-content:center;align-items:center;padding:16px}.app-shell--no-nav .app-layout{max-width:var(--form-max-width);width:100%;height:auto;min-height:0;max-height:calc(100dvh - 32px);overflow:hidden}.app-shell--no-nav .app-frame{max-width:var(--form-max-width);border-radius:var(--radius-lg);width:100%;height:auto;min-height:0;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-frame);background:var(--color-surface);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}.app-shell--no-nav .app-main,.app-shell--no-nav .app-main__content,.app-shell--no-nav .app-content,.app-shell--no-nav .page-transition{flex:1 0 auto;height:auto;min-height:min-content;overflow:visible}.app-shell--no-nav .app-content{padding-inline:var(--page-padding)}.app-shell--no-nav .page{background:0 0;min-height:auto;overflow:visible}.app-shell--no-nav.app-shell--wide .app-layout,.app-shell--no-nav.app-shell--wide .app-frame{max-width:min(var(--content-max-width), calc(100vw - 32px))}.app-shell--no-nav.app-shell--wide .app-frame{background:var(--color-bg)}.app-shell--immersive{background:#efe8df;justify-content:stretch;align-items:stretch;padding:0}.app-shell--immersive .app-layout,.app-shell--immersive .app-frame{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;background:0 0;border-radius:0;overflow:hidden}.app-shell--immersive .app-main,.app-shell--immersive .app-main__content,.app-shell--immersive .app-content,.app-shell--immersive .page-transition{flex:1;height:100%;min-height:0;overflow:hidden}.app-shell--immersive .page-transition{flex-direction:column;display:flex}.app-shell--immersive .page-transition>*{flex:1;height:100%;min-height:0}.app-shell--immersive .app-content{max-width:none;padding-inline:0}.app-shell--immersive .page{background:0 0;height:100%;min-height:0;overflow:hidden}@media (width>=768px){.app-shell--immersive .page{flex:1;max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}.app-shell--no-nav{padding:24px}.app-shell--no-nav.app-shell--immersive{background:#141210;justify-content:center;align-items:center;padding:0}.app-shell--no-nav.app-shell--immersive .app-layout,.app-shell--no-nav.app-shell--immersive .app-frame{width:min(100%,430px);max-width:430px;height:100%;max-height:100dvh;box-shadow:none;border-radius:0;margin-inline:auto}.app-shell--no-nav .app-layout,.app-shell--no-nav .app-frame{max-height:calc(100dvh - 48px)}.app-shell--no-nav.app-shell--wide .app-layout,.app-shell--no-nav.app-shell--wide .app-frame{max-width:min(var(--content-max-width), calc(100vw - 48px))}:root{--page-padding:var(--page-padding-tablet);--nav-height:0px}html,body{height:auto;overflow:auto}#app{height:100dvh;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:6px;height:6px;display:block}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.sticky-footer{max-width:min(var(--content-max-width), calc(100% - 2 * var(--page-padding)));bottom:0}.no-nav .sticky-footer{bottom:0}.auth-body{align-items:center;padding-block:32px 48px}.auth-lead,.auth-page .card,.auth-switch{width:100%;max-width:var(--auth-form-max-width)}.company-select-page__list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:20px;display:grid}.company-brand-card{min-height:220px}.catalog-list{gap:var(--page-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.product-list{gap:var(--page-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.product-page__scroll{padding-bottom:88px}.settlement-options,.mode-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:720px;margin-inline:auto;display:grid}.company-select-page{max-width:var(--content-max-width);width:100%;padding-inline:var(--page-padding);margin-inline:auto}.company-select-page__header{max-width:560px;margin-inline:auto}.catalog-page .page__scroll,.orders-page__scroll,.product-page .product-page__scroll{max-width:var(--content-max-width);width:100%;margin-inline:auto}.cart-page{max-width:var(--content-max-width);width:100%;padding-inline:var(--page-padding);margin-inline:auto}.cart-page__body{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(260px,300px);align-items:start;gap:16px 20px;display:grid}.cart-page__company{grid-column:1/-1;margin-bottom:0;font-size:.9375rem}.cart-page__scroll{grid-column:1;max-height:none;overflow:visible}.cart-page__footer{box-shadow:var(--shadow-md);border-radius:var(--radius-md);border-top:none;border:1px solid var(--color-border);grid-area:1/2/-1;margin:0;padding:16px;position:sticky;top:16px}.cart-table__head{position:static}.check-list-page{max-width:var(--content-max-width);width:100%;padding-inline:var(--page-padding);margin-inline:auto}.check-list-page__scroll{max-width:var(--content-max-width);width:100%;margin-inline:auto}.summary-cards{gap:16px}.checks-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.rass-panel{max-width:480px;margin-inline:auto}.profile-page__scroll{max-width:var(--content-max-width);width:100%;margin-inline:auto}.profile-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-menu__item{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.order-detail-page__body{-webkit-overflow-scrolling:touch;width:100%;max-width:none;margin-inline:0;overflow-y:auto}.order-detail-page__footer{width:100%;max-width:none;margin-inline:0}.checkout-page__scroll,.cash-page__scroll,.settlement-page__scroll,.check-mode-page__scroll{max-width:var(--form-max-width);width:100%;margin-inline:auto}.cash-page{max-width:var(--content-max-width);width:100%;margin-inline:auto}.cash-page__footer{max-width:var(--form-max-width);width:100%;box-shadow:none;border-top:none;grid-template-columns:1fr 1fr;gap:12px;margin-inline:auto;padding-top:16px;display:grid}.accounts-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.bank-card+.bank-card,.cash-page__submit{margin-top:0}.order-info-card{max-width:520px;margin-inline:auto}.profile-edit-page .page__scroll{max-width:var(--form-max-width);width:100%;margin-inline:auto}.success-page__scroll{max-width:var(--form-max-width);flex-direction:column;align-items:center;width:100%;margin-inline:auto;display:flex}.dialog-overlay .dialog,.dialog-overlay .card.dialog{width:100%;max-width:480px}.dialog-actions{flex-direction:row;justify-content:flex-end}}@media (width>=1200px){:root{--page-padding:var(--page-padding-desktop)}.catalog-list{grid-template-columns:repeat(3,minmax(0,1fr))}.checks-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1440px){.product-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1920px){:root{--content-max-width:1120px}}@media (width>=768px){:root{--page-padding:var(--page-padding-tablet);--nav-height:0px}.page{padding:20px var(--page-padding-tablet) 28px;max-width:var(--content-max-width);background:0 0;flex:1 0 auto;width:100%;min-height:auto;margin-inline:auto;overflow:visible}.page__scroll{flex:none;min-height:auto;overflow:visible}.page__scroll--with-nav{padding-bottom:0}.page-head{margin-bottom:20px}.page-head__title{color:var(--color-text);margin:0 0 4px;font-size:1.25rem;font-weight:700}.page-head__subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.orders-page__desktop-head{margin-bottom:20px}.orders-page__desktop-title{color:var(--color-text);margin:0 0 6px;font-size:1.375rem;font-weight:700}.orders-page__desktop-subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.orders-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.orders-stat-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:16px 18px 14px;display:flex}.orders-stat-card__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.orders-stat-card__label{font-size:.8125rem;font-weight:600;line-height:1.4}.orders-stat-card__label--total,.orders-stat-card__label--review{color:var(--color-text)}.orders-stat-card__label--active{color:#ea580c}.orders-stat-card__label--done{color:var(--color-success)}.orders-stat-card__value{color:var(--color-text);font-variant-numeric:tabular-nums;margin:0 0 12px;font-size:1.75rem;font-weight:700;line-height:1.15}.orders-stat-card__link{color:var(--color-primary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:flex-start;margin-top:auto;padding:0;font-family:inherit;font-size:.8125rem;font-weight:600;text-decoration:underline}.orders-stat-card__link:hover{color:var(--color-primary-hover)}.orders-stat-card__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.orders-stat-card__icon--total,.orders-stat-card__icon--review{background:var(--color-primary-soft);color:var(--color-primary)}.orders-stat-card__icon--active{background:var(--color-warning-light);color:#ea580c}.orders-stat-card__icon--done{background:var(--color-success-soft);color:var(--color-success)}.orders-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.orders-toolbar__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.orders-toolbar__filter-btn{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;height:40px;padding:0 18px;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.orders-toolbar__filter-btn:hover{background:var(--color-primary-hover)}.orders-toolbar__pills{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.orders-filter-pill{border:1px solid var(--color-border);background:var(--color-surface);height:36px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 16px;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.orders-filter-pill:hover{color:var(--color-text);border-color:#cbd5e1}.orders-filter-pill--active{background:var(--color-primary-soft);color:var(--color-primary);border-color:#c7d7ff;font-weight:600}.orders-table-wrap{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card);overflow:hidden}.orders-table-scroll{overflow-x:auto}.orders-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.875rem}.orders-table th{text-align:start;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:14px 16px;font-size:.8125rem;font-weight:600}.orders-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;background:var(--color-surface);padding:16px}.orders-table tr:last-child td{border-bottom:none}.orders-table tbody tr:hover td{background:var(--color-elevated)}.orders-table__number{color:var(--color-text);white-space:nowrap;font-weight:700}.orders-table__amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.orders-table__date{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.orders-table__actions{align-items:center;gap:8px;display:flex}.orders-table__action{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer;white-space:nowrap;padding:7px 16px;font-family:inherit;font-size:.8125rem;font-weight:600}.orders-table__action:hover{background:var(--color-primary-soft);border-color:#c7d7ff}.orders-table__menu{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.orders-table__menu:hover{background:var(--color-elevated);color:var(--color-text)}.orders-pagination{border-top:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;font-size:.8125rem;display:flex}.orders-pagination__summary{white-space:nowrap}.orders-pagination__controls{align-items:center;gap:4px;display:flex}.orders-pagination__arrow{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:32px;height:32px;color:var(--color-text);justify-content:center;align-items:center;padding:0;display:flex}.orders-pagination__arrow:disabled{opacity:.4;cursor:not-allowed}.orders-pagination__arrow:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.orders-pagination__arrow-icon--prev{transform:scaleX(-1)}.orders-pagination__arrow-icon--next{transform:none}.orders-pagination__ellipsis{text-align:center;min-width:24px;color:var(--color-text-muted)}.orders-pagination__page{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;min-width:32px;height:32px;color:var(--color-text);padding:0 6px;font-family:inherit;font-size:.8125rem}.orders-pagination__page:hover:not(.orders-pagination__page--active){border-color:var(--color-primary);color:var(--color-primary)}.orders-pagination__page--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.product-page__layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.product-page__main{min-width:0}.product-page__sidebar{position:sticky;top:16px}.cart-summary-panel{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card);padding:20px}.cart-summary-panel__title{color:var(--color-text);border-bottom:1px solid var(--color-border);margin:0 0 16px;padding-bottom:12px;font-size:.9375rem;font-weight:700}.cart-summary-panel__row{justify-content:space-between;align-items:center;padding:8px 0;font-size:.875rem;display:flex}.cart-summary-panel__row span:first-child{color:var(--color-text-muted)}.cart-summary-panel__row strong{color:var(--color-text)}.cart-summary-panel__btn{margin-top:16px}.product-page__scroll{padding-bottom:0}.product-page .sticky-footer{display:none}.product-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-page{max-width:var(--content-max-width);padding:20px var(--page-padding-tablet) 28px;background:0 0;margin-inline:auto}.cart-page__desktop-title{margin:0 0 16px;font-size:1.25rem;font-weight:700}.cart-page__body{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;gap:20px 24px;display:grid}.cart-page__company{grid-column:1/-1}.order-detail-page{max-width:none;padding:24px var(--page-padding) 32px;background:0 0;height:100%;margin-inline:0;overflow:hidden}.order-detail-back{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:12px;padding:0;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.company-select-page{max-width:var(--content-max-width);padding:24px var(--page-padding-desktop);background:0 0;margin-inline:auto}.catalog-page{background:0 0}.page.calite-detail,.page.calite-hub{background:#f4f0ed;max-width:none;padding:0;overflow:visible}.catalog-list{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-page{background:0 0}.profile-hero{border-radius:var(--radius-md);margin-inline:0}}@media (width>=1200px){:root{--page-padding:var(--page-padding-desktop)}.page{padding:24px var(--page-padding-desktop) 32px}.page.calite-detail,.page.calite-hub{padding:0}.orders-stats{gap:16px;margin-bottom:24px}.orders-page__desktop-head{margin-bottom:24px}.orders-toolbar{margin-bottom:20px}.catalog-list{grid-template-columns:repeat(3,minmax(0,1fr))}.product-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.desktop-page{width:100%;min-height:auto;max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;background:0 0;flex-direction:column;flex:1 0 auto;margin-inline:auto;display:flex}.desktop-page__head{margin-bottom:20px}.desktop-page__title{color:var(--color-text);margin:0 0 6px;font-size:1.375rem;font-weight:700}.desktop-page__subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.desktop-two-col{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.desktop-two-col__main{min-width:0}.desktop-summary-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;position:sticky;top:16px}.desktop-summary-panel__title{border-bottom:1px solid var(--color-border);margin:0 0 16px;padding-bottom:12px;font-size:.9375rem;font-weight:700}.desktop-summary-panel__row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:.875rem;display:flex}.desktop-summary-panel__row span:first-child{color:var(--color-text-muted)}.desktop-summary-panel__row strong{color:var(--color-text);font-variant-numeric:tabular-nums}.desktop-summary-panel__action{margin-top:16px}.desktop-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);width:100%;min-width:0;overflow:hidden}.desktop-table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.desktop-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.875rem}.desktop-table th{text-align:start;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 16px;font-size:.8125rem;font-weight:600}.desktop-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;background:var(--color-surface);padding:14px 16px}.desktop-table tbody tr:last-child td{border-bottom:none}.desktop-table tbody tr:hover td{background:var(--color-elevated)}.desktop-grid-2{grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;display:grid}.desktop-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.desktop-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.desktop-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.desktop-toolbar__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.desktop-btn-compact{min-width:120px;width:auto!important;padding-inline:20px!important}.desktop-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.desktop-form-grid__full{grid-column:1/-1}.desktop-checkout-shell{width:100%;max-width:var(--content-max-width);padding:20px var(--page-padding) 28px;box-sizing:border-box;margin-inline:auto}.desktop-settlement-grid{grid-template-columns:repeat(2,minmax(280px,380px));justify-content:center;gap:20px;max-width:820px;margin-inline:auto;display:grid}.desktop-company-grid{grid-template-columns:repeat(2,minmax(280px,400px));justify-content:center;gap:20px;width:100%;max-width:900px;margin-inline:auto;display:grid}}@media (width>=1200px){.desktop-page,.desktop-checkout-shell{padding:24px var(--page-padding) 32px}.desktop-page__head{margin-bottom:24px}.desktop-two-col:has(>.desktop-summary-panel){grid-template-columns:minmax(0, 1fr) var(--summary-panel-width,320px)}.desktop-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.desktop-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}@media (width>=1440px){.desktop-grid-3{grid-template-columns:repeat(4,minmax(0,1fr))}} diff --git a/dist/assets/index-DzzUgmYT.js b/dist/assets/index-fdhs4HNc.js similarity index 83% rename from dist/assets/index-DzzUgmYT.js rename to dist/assets/index-fdhs4HNc.js index d5ce194..66feacb 100644 --- a/dist/assets/index-DzzUgmYT.js +++ b/dist/assets/index-fdhs4HNc.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WelcomeView-BbT_ocAD.js","assets/BasicIcon-C6boaehV.js","assets/BasicIcon-QF_b9Svq.css","assets/login-fabric-CzrIXTnD.js","assets/WelcomeView-Bue6hk9x.css","assets/LoginView-D0nHysUo.js","assets/http-BC1hNfZ4.js","assets/format-BHJptHdF.js","assets/validation-BD7oi-2I.js","assets/FormErrorBanner-CjdBfIQT.js","assets/FormErrorBanner-Hje8L-00.css","assets/IconPhone-C0bnM4fV.js","assets/formErrors-DglFjYkZ.js","assets/LoginView-a5WOmvO4.css","assets/RegisterView-BcL8O-vh.js","assets/dist-B7sUlTMM.js","assets/dist-CUUvbY4x.js","assets/IconDiamond-Bgv1zgqc.js","assets/RegisterView-CTzyNknX.css","assets/OtpView-CRoSWAh8.js","assets/IconChevronBack-DORV2H0q.js","assets/IconEditPen-DLV3_yq2.js","assets/OtpView-D50bP3mT.css","assets/HomeView-Xx9oyuHV.js","assets/PageSkeleton-uO-jhbNm.js","assets/PageSkeleton-BAjL8n2H.css","assets/crm-CtglbPsN.js","assets/useGoBack-CgNp0uP9.js","assets/IconHeart-CZMe29Nz.js","assets/HomeView-DYxyNGVU.css","assets/CompanySelectView-DSdNGDKR.js","assets/catalog-s7nVUdlj.js","assets/IconFamBaftLogo-BaP40Dff.js","assets/IconFamBaftLogo-BaDEschB.css","assets/CompanySelectView-wH7uHLvB.css","assets/CategoriesView-CDaVb5Ku.js","assets/IconLayoutGrid-E-Q8Z5rF.js","assets/IconSearch-DOnq8ybc.js","assets/IconShoppingBag-Bq21_Txe.js","assets/CategoriesView-BRz9akNh.css","assets/ProductsView-DyuDmduq.js","assets/IconFilter-D9NdLZ7w.js","assets/colorSwatch-BgOH1LE5.js","assets/PageHeader-BFnKSFNh.js","assets/PageHeader-CDhs0XKF.css","assets/SearchField-Dx2PcshV.js","assets/SearchField-BGmIHecn.css","assets/ProductsView-l55Gj6ux.css","assets/ProductDetailView-C-2OwXKv.js","assets/IconShare-1kao-fAR.js","assets/ProductDetailView-CqyNqug9.css","assets/CatalogsHubView-CVuNr6xa.js","assets/catalogGallery-DMNB35I1.js","assets/CatalogsHubView-Cnl22g6I.css","assets/CatalogDetailView-Gtx8dlRR.js","assets/CatalogDetailView-CZHNGZXq.css","assets/CatalogRequestView-BSWD5gtk.js","assets/catalogRequests-D1kBtGqL.js","assets/CatalogRequestView-BZ3G_4yn.css","assets/CatalogRequestsView-DwQhS52F.js","assets/CatalogRequestsView-DUzaL-Pf.css","assets/FavoritesView-D0buqJLn.js","assets/FavoritesView-C_rd5Wxy.css","assets/CustomersView-BkjIB9Zf.js","assets/CustomersView-CmCf2GQT.css","assets/CustomerCreateView-Bu9UdZ8R.js","assets/BaseInput-qoEXOHCQ.js","assets/BaseInput-Dxl7Obd8.css","assets/CustomerCreateView-xAy0nFXT.css","assets/CustomerDetailView-kex7gVf_.js","assets/constants-DXXK14Zz.js","assets/IconClipboardEmpty-5Av_Gh0W.js","assets/IconMail-wulYTzHn.js","assets/CustomerDetailView-Baj8nbYX.css","assets/MeetingReportView-YbV4ERNj.js","assets/IconCheckCircleOutline-Bx3NxSDX.js","assets/MeetingReportView-C5CRmzNN.css","assets/RemindersView-CyB53lja.js","assets/IconMoreVertical-BPkOm_2U.js","assets/RemindersView-BkrXzff2.css","assets/ReminderDetailView-DNK_nJut.js","assets/ReminderDetailView-Bgb1iArR.css","assets/CatalogListView-Dq58CV-q.js","assets/EmptyState-C_QQeA_h.js","assets/EmptyState-D6A5GmrP.css","assets/CatalogListView-ClQNdMb8.css","assets/CartView-eM60Epx8.js","assets/CheckoutStepper-CqUviuW7.js","assets/CheckoutStepper-hqk-kVCz.css","assets/CartView-7hxFuJin.css","assets/OrdersView-DdeDkbea.js","assets/OrdersView-Te_tCICZ.css","assets/OrderDetailView-BXnrb7Jd.js","assets/orderInvoice-B0L1Aeuk.js","assets/PersianDateInput-5iA_raeL.js","assets/PersianDateInput-MG7uK7zm.css","assets/OrderDetailView-DfQWMJF8.css","assets/OrderSuccessView-DCkdco9K.js","assets/OrderSuccessView-D_odiYNR.css","assets/SettlementTypeView-CGWtmoLi.js","assets/useRequirePricedOrder-CxEozNXk.js","assets/IconCheckBook-DwIUojJc.js","assets/SettlementTypeView-C3wqclvS.css","assets/CashSettlementView-CjQgNpmP.js","assets/CashSettlementView-C8IRazOR.css","assets/CheckModeSelectView-D8l3uvkh.js","assets/CheckModeSelectView-BZlKzxFL.css","assets/CheckFormView-CL59CF83.js","assets/CheckFormView-Cgp6kUZ2.css","assets/CheckListView-DSyd4n4b.js","assets/CheckListView-B_ogsKeK.css","assets/ProfileView-DX6DnJ1_.js","assets/ProfileView-D8tUQfUl.css","assets/ProfileEditView-BIvFm_eS.js","assets/ProfileSubpageLayout-PN2YWH-s.js","assets/ProfileSubpageLayout-W3vfIprY.css","assets/ProfileEditView-Cqvr3yiG.css","assets/ProfileSecurityView-CE_e1P0U.js","assets/ProfileSecurityView-BjbybMSz.css","assets/ProfileNotificationsView-BtwJaRCQ.js","assets/ProfileNotificationsView-BqMkB4wX.css","assets/ProfileDisplayView-CwFfrYN3.js","assets/ProfileDisplayView-CDaE5E6F.css","assets/ProfileChecksView-DtgHDdIY.js"])))=>i.map(i=>d[i]); -import{A as e,Ct as t,D as n,Et as r,G as i,H as a,L as o,M as s,N as c,O as l,P as u,Q as d,R as f,St as p,Tt as m,W as h,X as g,Y as _,Z as v,_ as y,_t as ee,a as b,c as x,d as S,et as C,f as w,ft as T,g as te,h as ne,ht as re,i as E,j as D,l as O,m as ie,mt as k,n as A,nt as ae,o as j,p as oe,q as se,r as ce,rt as M,s as N,t as P,tt as le,u as ue,v as F,x as de,y as fe,z as I}from"./BasicIcon-C6boaehV.js";import{a as pe,i as L,n as R,o as z,r as B,s as V,t as H}from"./http-BC1hNfZ4.js";import{l as me}from"./dist-CUUvbY4x.js";import{i as he,r as ge}from"./dist-B7sUlTMM.js";import{_ as _e,c as ve,s as ye,t as be,u as xe,v as Se}from"./format-BHJptHdF.js";import{r as Ce}from"./validation-BD7oi-2I.js";import{t as U}from"./catalog-s7nVUdlj.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var W=typeof document<`u`,we=/#/g,Te=/&/g,Ee=/\//g,De=/=/g,Oe=/\?/g,ke=/\+/g,Ae=/%5B/g,je=/%5D/g,Me=/%5E/g,Ne=/%60/g,Pe=/%7B/g,Fe=/%7C/g,Ie=/%7D/g,Le=/%20/g;function Re(e){return e==null?``:encodeURI(``+e).replace(Fe,`|`).replace(Ae,`[`).replace(je,`]`)}function ze(e){return Re(e).replace(Pe,`{`).replace(Ie,`}`).replace(Me,`^`)}function Be(e){return Re(e).replace(ke,`%2B`).replace(Le,`+`).replace(we,`%23`).replace(Te,`%26`).replace(Ne,"`").replace(Pe,`{`).replace(Ie,`}`).replace(Me,`^`)}function Ve(e){return Be(e).replace(De,`%3D`)}function He(e){return Re(e).replace(we,`%23`).replace(Oe,`%3F`)}function Ue(e){return He(e).replace(Ee,`%2F`)}function We(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Ge=/\/$/,Ke=e=>e.replace(Ge,``);function qe(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=et(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:We(o)}}function Je(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Ye(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Xe(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&G(t.matched[r],n.matched[i])&&Ze(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function G(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ze(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Qe(e[n],t[n]))return!1;return!0}function Qe(e,t){return j(e)?$e(e,t):j(t)?$e(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function $e(e,t){return j(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function et(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o