The "سفارش مشتریان" / "مشتریان من" entries are shown from session.isSalesExpert, which was fetched from /expert/whoami only once, at sign-in. A slow or failed request (silently swallowed) left the flag false until the next login, so an expert saw a customer-only menu. The dashboard now asks again on mount and on every re-activation, and keeps the current value when the request fails. Rebuilds user-app and user-app-v2 dist. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2 lines
7.3 KiB
JavaScript
2 lines
7.3 KiB
JavaScript
import{d as H,T as K,A as j,h as g,K as N,B as J,o as Q,c as u,e,m as i,q as n,C as v,U as R,Q as X,y as w,b as c,f as S,n as h,t as _,S as I,I as b,g as Y,F as Z,r as W,v as ee,V as se,G as ae,i as x,E as te,_ as ie}from"./index-CW3p0GOu.js";import{A as le}from"./AppPullRefresh-B5nVhmJH.js";import{S as T}from"./SectionHead-BqQT521D.js";import{R as oe}from"./RateStrip-DCfqGfDp.js";import{p as ne}from"./filters-Bbf6IXBq.js";import{u as re}from"./useReveal-BfPEFd25.js";const de="/assets/dialogEmpty5-B1Z_JmTc.svg",ue={class:"dash"},ce={class:"dash__bar"},_e={class:"dash__barInner"},ve={key:1,class:"dash__barSpacer","aria-hidden":"true"},fe={class:"dash__balanceHead"},pe={class:"dash__eyebrow"},he={class:"dash__figure"},me={class:"dash__balanceRow"},ye={class:"dash__rowValue"},ge={class:"dash__identity"},be={class:"dash__name"},xe={class:"dash__mobile"},ke={class:"dash__inviteIcon","aria-hidden":"true"},Ce={class:"dash__inviteCopy"},we={class:"dash__inviteIcon","aria-hidden":"true"},Se={class:"dash__grid"},Ie=["onClick"],Ee={class:"dash__tileIcon","aria-hidden":"true"},Le={class:"dash__tileTitle"},De=["src"],Ne=["src"],Re={class:"p-8 text-justify"},Te=H({__name:"DashboardView",setup(Ve){const l=ae(),o=K(),m=j(),r=g(m.peek(N.profile)??null),f=g(!1),E=g(m.peek(N.goldPrice)??null),k=g(!1),C=x(()=>r.value?parseFloat(r.value.goldDebtGrams)>0:!1),V=x(()=>C.value?"بدهکار گرمی":"بستانکار گرمی"),O=x(()=>r.value?Math.abs(parseFloat(r.value.goldDebtGrams)):0),d=X({notify:!1,loginNotify:!1}),P=[{id:0,icon:"vuesax-linear:box",title:"سفارشات",disabled:!1},{id:1,icon:"vuesax-linear:receipt-text",title:"اسناد",disabled:!1},{id:2,icon:"vuesax-linear:user",title:"پروفایل",disabled:!1},{id:3,icon:"vuesax-linear:heart",title:"علاقمندی",disabled:!1},{id:6,icon:"vuesax-linear:chart-2",title:"گزارش",disabled:!1}],A=[{id:4,icon:"vuesax-linear:box-tick",title:"سفارش مشتریان",disabled:!1},{id:5,icon:"vuesax-linear:profile-2user",title:"مشتریان من",disabled:!1}],B={id:7,icon:"vuesax-linear:brush",title:"ظاهر",disabled:!1},$=x(()=>[...P,...o.isSalesExpert?A:[],B]);function z(a){if(a===7){l.push({name:"appearanceSettings"});return}if(!o.isLoggedIn){d.loginNotify=!0;return}a===0&&l.push({name:"ordersList"}),a===1&&l.push({name:"transactionsList"}),a===2&&l.push({name:"profileData"}),a===3&&l.push({name:"favoritesList"}),a===4&&l.push({name:"ChildOrder"}),a===5&&l.push({name:"customerChoice"}),a===6&&l.push({name:"report"})}async function F(){d.notify=!1;try{await w.endSharedSession()}catch{}let a=null;try{a=(await w.ssoLogoutUrl()).logout_url}catch{a=null}if(o.logout(),sessionStorage.removeItem("gb_iam_sso_checked"),a){window.location.assign(a);return}l.push({name:"home"})}async function y(){f.value=!1;const[a,s]=await Promise.allSettled([o.isLoggedIn?m.me({force:!0}):Promise.resolve(null),m.goldPrice({force:!0})]);a.status==="fulfilled"?(r.value=a.value,f.value=!1):(f.value=o.isLoggedIn&&!r.value,console.log(a.reason)),E.value=s.status==="fulfilled"?s.value:null}async function U(){try{await y()}finally{k.value=!1}}async function L(){if(o.isLoggedIn)try{const a=await w.getExpertIdentity();o.setSalesExpert(a.isSalesExpert)}catch{}}let D=!1;J(()=>{D&&(y(),L()),D=!0});const{revealed:q,revealDelay:p,reveal:G}=re("dashboard");return Q(async()=>{L(),await y(),G()}),(a,s)=>{const M=te("container");return c(),u("div",ue,[e("header",ce,[e("div",_e,[s[8]||(s[8]=e("span",{class:"dash__barSpacer","aria-hidden":"true"},null,-1)),s[9]||(s[9]=e("h1",{class:"dash__barTitle"},"میز کار",-1)),i(o).isLoggedIn?(c(),u("button",{key:0,type:"button",class:"dash__barBtn","aria-label":"خروج",onClick:s[0]||(s[0]=t=>d.notify=!0)},[n(b,{icon:"vuesax-linear:logout",size:"19"})])):(c(),u("span",ve))])]),n(le,{modelValue:k.value,"onUpdate:modelValue":s[2]||(s[2]=t=>k.value=t),onRefresh:U},{default:v(()=>[n(M,{class:S(["dash__body",{"is-revealed":i(q)}])},{default:v(()=>[i(o).isLoggedIn&&r.value?(c(),u("section",{key:0,class:"dash__balance reveal",style:h(i(p)(0))},[e("div",fe,[e("div",null,[e("div",pe,_(V.value),1),e("div",he,[I(_(O.value)+" ",1),s[10]||(s[10]=e("span",{class:"dash__unit"},"گرم",-1))])]),e("span",{class:S(["dash__seal",C.value?"is-debtor":"is-creditor"])},_(C.value?"بدهکار":"بستانکار"),3)]),e("div",me,[s[12]||(s[12]=e("span",{class:"dash__rowLabel"},"بدهی ریالی",-1)),e("span",ye,[I(_(i(ne)(r.value.fiatDebtRial))+" ",1),s[11]||(s[11]=e("i",null,"ریال",-1))])]),e("div",ge,[e("span",be,_(r.value.fullName),1),e("span",xe,_(i(o).mobile),1)])],4)):i(o).isLoggedIn?(c(),u("section",{key:1,class:"dash__invite reveal",style:h(i(p)(0))},[e("div",ke,[n(b,{icon:"vuesax-linear:security-user",size:"20"})]),e("div",Ce,[s[13]||(s[13]=e("h3",null,"حساب شما",-1)),e("p",null,_(f.value?"موجودی الان در دسترس نیست. دوباره تلاش کنید.":"در حال دریافت موجودی…"),1)]),f.value?(c(),u("button",{key:0,type:"button",class:"dash__inviteCta",onClick:y}," تلاش دوباره ")):Y("",!0)],4)):(c(),u("section",{key:2,class:"dash__invite reveal",style:h(i(p)(0))},[e("div",we,[n(b,{icon:"vuesax-linear:security-user",size:"20"})]),s[14]||(s[14]=e("div",{class:"dash__inviteCopy"},[e("h3",null,"حساب گرمی شما"),e("p",null,"برای دیدن موجودی، سفارشها و اسناد خود وارد شوید.")],-1)),e("button",{type:"button",class:"dash__inviteCta",onClick:s[1]||(s[1]=t=>i(l).push({name:"login"}))}," ورود / ثبتنام ")],4)),e("section",{class:"dash__section reveal",style:h(i(p)(1))},[n(T,{title:"دسترسیها",subtitle:"بخشهای حساب شما"}),e("div",Se,[(c(!0),u(Z,null,W($.value,t=>(c(),u("button",{key:t.id,type:"button",class:S(["dash__tile",{"is-disabled":t.disabled}]),onClick:Oe=>z(t.id)},[e("span",Ee,[n(b,{icon:t.icon,size:"20"},null,8,["icon"])]),e("span",Le,_(t.title),1)],10,Ie))),128))])],4),e("section",{class:"dash__section reveal",style:h(i(p)(2))},[n(T,{title:"نرخ روز",subtitle:"آخرین نرخ اعلامشده"}),n(oe,{quote:E.value},null,8,["quote"])],4)]),_:1},8,["class"])]),_:1},8,["modelValue"]),n(R,{timeOut:-1,show:d.notify,"onUpdate:show":s[4]||(s[4]=t=>d.notify=t),closeOnClickOverlay:!0},{img:v(()=>[e("img",{src:i(de),alt:"",class:"opacity-70 mb-8"},null,8,De)]),title:v(()=>[...s[15]||(s[15]=[I("آیا می خواهید از برنامه خارج شوید؟",-1)])]),button:v(()=>[e("div",{class:"text-center text-[color:var(--c-primary)]",onClick:F},"بله"),e("div",{class:"text-center text-[color:var(--c-inkMuted)]",onClick:s[3]||(s[3]=t=>d.notify=!1)},"بی خیال")]),_:1},8,["show"]),n(R,{timeOut:-1,show:d.loginNotify,"onUpdate:show":s[7]||(s[7]=t=>d.loginNotify=t),closeOnClickOverlay:!0},{img:v(()=>[e("img",{src:i(se),alt:"",class:"opacity-80"},null,8,Ne)]),title:v(()=>[e("div",Re," برای دسترسی به تمامی امکانات نرم افزار "+_(i(ee).name)+"، ابتدا گزینه ورود/ثبت نام را لمس کنید و در صورت نداشتن حساب کاربری، ثبت نام نمایید. ",1)]),button:v(()=>[e("div",{class:"text-center text-[color:var(--c-primary)]",onClick:s[5]||(s[5]=t=>i(l).push({name:"login"}))},"ورود/ثبت نام"),e("div",{class:"text-center text-danger",onClick:s[6]||(s[6]=t=>d.loginNotify=!1)},"بیخیال")]),_:1},8,["show"])])}}}),Ue=ie(Te,[["__scopeId","data-v-6d80a722"]]);export{Ue as default};
|