1 2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e6b7fae3-e1c3-52b0-a198-d8aa93b1f3ff")}catch(e){}}(); 3import{f as Re,e as Pe,j as t,o as ze,m as y,Y as He}from"./index-CbCpcfHi.js";import{u as Ve,r as a,d as $e,b as Me,O as qe}from"./react-core-myBH5--V.js";import{A as J}from"./createLucideIcon-dhMJQVfS.js";import{B as Ge}from"./Modal-BskIwuQ6.js";import{E as We,I as Ke}from"./index-CKGGR9YV.js";import{S as P}from"./index-DFRxZy7B.js";import{I as Ze}from"./IllustrationNoResultDark-B3ssVkAs.js";import{O as Ye}from"./OperateDashboardHeader-BhTx4klc.js";import{D as Je,M as Qe,u as Xe,O as Oe,T as et,U as tt}from"./ModelTokenMetricFilters-c6JbG9ML.js";import{C as ue,g as at}from"./render-DCIciduD.js";import{g as st,a as ot,b as je}from"./HelpTooltip-D3raty4b.js";import{C as be,b as pe,c as he,e as ge,f as xe,a as ye}from"./OperateDashboardHeader-DAlb45Uj.js";import{a as nt,b as rt,c as it,g as Ee,d as lt,i as dt,e as ct,f as mt,n as ut}from"./utils-DwhQrBh6.js";import{V as Ce}from"./charts-DV289mY9.js";import{u as pt}from"./i18n-BxC_oUPk.js";import"./tools-DuZCCpAA.js";import{g as le}from"./shared-DWpS-QKn.js";import"./react-components-DPs53_dY.js";import"./useMinimumLoadingTime-D_crb8BD.js";import"./index-50aRIzRY.js";import"./useHeaderBar-CW2N8dPN.js";import"./chevron-down-DyfhU465.js";import"./index-DiKxi5qL.js";import"./CampaignModal-D6V_hQv4.js";import"./pbdAuthBridge-nrZoL8jE.js";import"./x-BS6A9ltk.js";import"./core-CP5BD69Z.js";import"./dollar-sign-EU-U2nK6.js";import"./chevron-right-8TRFXNGr.js";import"./icons-BL4F7cAl.js";import"./index-Dt3SWIoS.js";import"./index-DZ9ZrJUi.js";const ht=({modelsData:e,modelsLoading:s,selectedModel:i,setSelectedModel:r,modelOptions:d,currentTimeRangeTimestamps:j,detailBasePath:m="/console/org-dashboard",detailQueryParams:H={}})=>{const L=Ve(),C=Re(),f=Pe(),[_,K]=a.useState(""),[h,F]=a.useState(null),[V,U]=a.useState(null),[B,Q]=a.useState(Je),A=a.useRef(null),$=h??V??"all",w=a.useMemo(()=>{const l=_.trim().toLowerCase();return d.filter(p=>{const G=String(p.label);if(l&&!G.toLowerCase().includes(l))return!1;if($!=="all"){const z=p.tag;if(!z)return $==="text";if(!(Array.isArray(z)?z:[z]).map(O=>String(O).toLowerCase()).includes($))return!1}return!0})},[d,_,h,V]),X=a.useMemo(()=>nt(e.model_daily_tokens,i),[e.model_daily_tokens,i]),T=a.useMemo(()=>rt(e.model_daily_tokens,i),[e.model_daily_tokens,i]),N=a.useMemo(()=>{const l=B.filter(p=>T.includes(p));return l.length>0?l:T.slice(0,1)},[T,B]),v=a.useMemo(()=>[...e.model_share||[]].sort((l,p)=>(Number(p.requests)||0)-(Number(l.requests)||0)).slice(0,10),[e.model_share]),Z=a.useMemo(()=>[...e.model_share||[]].sort((l,p)=>(Number(p.tokens)||0)-(Number(l.tokens)||0)).slice(0,10),[e.model_share]),q=a.useMemo(()=>[...e.model_share||[]].sort((l,p)=>(Number(p.spend)||0)-(Number(l.spend)||0)).slice(0,10),[e.model_share]),D=a.useMemo(()=>st(f),[f]),de=a.useMemo(()=>ot(X,N,D),[D,N,X]),se=a.useMemo(()=>je(v,"requests",D),[D,v]),ce=a.useMemo(()=>je(Z,"tokens",D),[D,Z]),oe=a.useMemo(()=>je(q,"spend",D),[D,q]),R=l=>{const p=it(j,l,H);L(`${m}/models?${p.toString()}`)};return t.jsxs(ue,{className:"!mt-6 !rounded-2xl",style:{borderColor:"#eee"},bodyStyle:{padding:C?"20px":"24px"},children:[t.jsx("div",{className:"text-[22px] font-medium leading-[1.4] text-[var(--tr-dashboard-text-primary)]",children:"Models"}),t.jsx("div",{className:"mt-1 text-base leading-[1.4] text-[#999]",children:"Model supply status, token trends, and performance metrics."}),t.jsxs("div",{className:"filter mt-4 flex flex-col gap-6",children:[t.jsxs(ue,{className:"!rounded-2xl",style:{borderColor:"#eee"},bodyStyle:{padding:C?"20px":"24px"},children:[t.jsxs("div",{className:"flex flex-col gap-4 xl:flex-row xl:items-center xl:justify-between",children:[t.jsx("div",{className:"text-xl font-medium leading-[1.4] text-[var(--tr-dashboard-text-primary)]",children:"Model Token Trend"}),t.jsxs("div",{className:"flex min-w-0 flex-col gap-2 lg:flex-row lg:items-center",children:[d&&d.length>0&&t.jsx("div",{className:"model-select w-full shrink-0 lg:w-auto",children:t.jsx(ze,{value:i||void 0,style:{minWidth:220,borderColor:"var(--tr-dashboard-border-default, #ddd)"}
3,optionList:w,placeholder:"GPT-4",onChange:l=>{const p=A.current??V??"all";U(p),r(l)},onDropdownVisibleChange:l=>{l?A.current=null:(K(""),F(null))},disabled:s,dropdownClassName:"model-select-dropdown",position:"bottomRight",emptyContent:"No models",maxHeight:400,dropdownStyle:{borderRadius:16,padding:10,boxShadow:"var(--tr-dashboard-shadow-dropdown, 0px 0px 10px rgba(0,0,0,0.1))",border:"none",width:380},outerTopSlot:t.jsxs("div",{className:"dashboard-model-dropdown-top pb-4 mb-[4px] border-b border-[#eee]",children:[t.jsxs("div",{className:"dashboard-model-dropdown-search flex items-center bg-[#f5f5f5] rounded-[999px] h-[40px] px-[16px] gap-2 hover:bg-[#e8e8e8]",children:[t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:t.jsx("path",{d:"M13.8227 12.9955L12.05 11.2227C12.0205 11.1932 11.9909 11.1932 11.9909 11.1636C12.8773 10.1 13.4091 8.71136 13.4091 7.20455C13.4091 3.77727 10.6318 1 7.20455 1C3.77727 1 1 3.77727 1 7.20455C1 10.6318 3.77727 13.4091 7.20455 13.4091C8.71136 13.4091 10.0705 12.8773 11.1636 11.9909C11.1932 12.0205 11.1932 12.05 11.2227 12.05L12.9955 13.8227C13.1136 13.9409 13.2614 14 13.4091 14C13.5568 14 13.7045 13.9409 13.8227 13.8227C14.0591 13.5864 14.0591 13.2318 13.8227 12.9955ZM7.20455 12.2273C4.42727 12.2273 2.18182 9.98182 2.18182 7.20455C2.18182 4.42727 4.42727 2.18182 7.20455 2.18182C9.98182 2.18182 12.2273 4.42727 12.2273 7.20455C12.2273 9.98182 9.98182 12.2273 7.20455 12.2273Z",fill:"#999999"})}),t.jsx("input",{value:_,onChange:l=>K(l.target.value),placeholder:"Search",className:"dashboard-model-dropdown-search-input flex-1 border-none bg-transparent outline-none text-[16px] text-[#333] placeholder:text-[#999]"})]}),t.jsx("div",{className:"flex flex-wrap gap-2 pt-4",children:[{key:"all",label:"All"},{key:"text",label:"Text"},{key:"image",label:"Image"},{key:"video",label:"Video"},{key:"audio",label:"Audio"}].map(l=>{const p=$===l.key;return t.jsx("button",{type:"button",onClick:G=>{G.stopPropagation(),F(l.key),A.current=l.key},className:`dashboard-model-dropdown-category h-7 px-3 rounded-full text-[13px] cursor-pointer leading-none ${p?"dashboard-model-dropdown-category-active bg-[rgba(0,134,255,0.1)] text-[#0086ff] border border-transparent":"border border-[#eee] bg-transparent text-[#333] hover:bg-[#f5f5f5]"}`,children:l.label},l.key)})})]}),renderSelectedItem:l=>t.jsx("div",{className:"flex items-center gap-2 min-w-0",children:t.jsx("span",{className:"dashboard-model-select-selected text-[14px] text-[var(--tr-dashboard-text-primary)] truncate",children:l.label})}),renderOptionItem:l=>{const{label:p,value:G,model_icon:z,focused:Y,selected:O,onMouseEnter:k,onClick:S}=l;return t.jsxs("div",{className:`dashboard-model-dropdown-option h-10 px-[10px] rounded-[6px] flex items-center gap-2 cursor-pointer text-[14px] text-[var(--tr-dashboard-text-primary)] ${Y||O?"dashboard-model-dropdown-option-active bg-[#f5f5f5]":"bg-transparent"} mb-[2px]`,onMouseEnter:k,onClick:S,children:[z?t.jsx("span",{className:"flex-shrink-0 size-[20px] flex items-center justify-center",children:at(z,20)}):t.jsx("span",{className:"flex-shrink-0 size-[20px] flex items-center justify-center rounded-full bg-[#eee] overflow-hidden !text-[12px] font-medium text-black leading-none",children:String(p||"").charAt(0).toUpperCase()}),p]},G)}})}),d&&d.length>0&&T.length>0&&t.jsx(Qe,{selectedMetrics:N,availableMetrics:T,onChange:Q})]})]}),t.jsx(P,{loading:s,active:!0,placeholder:t.jsx(P.Title,{style:{width:"100%",height:280}}),children:t.jsx("div",{className:"relative mt-5 h-[280px] overflow-hidden",children:t.jsx(Ce,{spec:de,option:be},`${f}-model-token-trend`)})})]}),t.jsxs(ue,{className:"!rounded-2xl",style:{borderColor:"#eee"},bodyStyle:{padding:C?"20px":"24px"},children:[t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsx("div",{className:"min-w-0 flex-1 text-xl font-medium leading-[1.4] text-[var(--tr-dashboard-text-primary)]",children:"Model Usage by Spent"}),t.jsx("button",{type:"button",className:"hidden text-sm font-medium leading-[1.4] text-[#0086FF] md:inline-block",onClick:()=>R("spend"),children:"View More >"})]}),t.jsxs(P,{loading:s,active:!0,placeholder:t.jsx(P.Title,{style:{width:"100%",height:280}}),children:[t.jsx("div",{className:"mt-5 h-[280px]",children:t.jsx(Ce,{spec:oe,option:be},`${f}-model-share-spend`)}),t.jsx("button",{type:"button",className:"mt-4 block text-[15px] font-medium leading-[1.4] text-[#0086FF] md:hidden",onClick:()=>R("spend"),children:"View More >"})]})]}),t.jsxs(ue,{className:"!rounded-2xl",style:{borderColor:"#eee"},bodyStyle:{padding:"24px"},children:[t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsx("div",{className:"min-w-0 flex-1 text-xl font-medium leading-[1.4] text-[var(--tr-dashboard-text-primary)]",children:"Model Usage by Requests"}),t.jsx("button",{type:"button",className:"hidden text-sm font-medium leading-[1.4] text-[#0086FF] md:inline-block",onClick:()=>R("requests"),children:"View More >"})]}),t.jsxs(P,{loading:s,active:!0,placeholder:t.jsx(P.Title,{style:{width:"100%",height:280}}),children:[t.jsx("div",{className:"mt-5 h-[280px]",children:t.jsx(Ce,{spec:se,option:be},`${f}-model-share-requests`)}),t.jsx("button",{type:"button",className:"mt-4 block text-[15px] font-medium leading-[1.4] text-[#0086FF] md:hidden",onClick:()=>R("requests"),children:"View More >"})]})]}),t.jsxs(ue,{className:"!rounded-2xl",style:{borderColor:"#eee"}
3,bodyStyle:{padding:C?"20px":"24px"},children:[t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsx("div",{className:"min-w-0 flex-1 text-xl font-medium leading-[1.4] text-[var(--tr-dashboard-text-primary)]",children:"Model Usage by Tokens"}),t.jsx("button",{type:"button",className:"hidden text-sm font-medium leading-[1.4] text-[#0086FF] md:inline-block",onClick:()=>R("tokens"),children:"View More >"})]}),t.jsxs(P,{loading:s,active:!0,placeholder:t.jsx(P.Title,{style:{width:"100%",height:280}}),children:[t.jsx("div",{className:"mt-5 h-[280px]",children:t.jsx(Ce,{spec:ce,option:be},`${f}-model-share-tokens`)}),t.jsx("button",{type:"button",className:"mt-4 block text-[15px] font-medium leading-[1.4] text-[#0086FF] md:hidden",onClick:()=>R("tokens"),children:"View More >"})]})]})]})]})},Te="org-dashboard-state",Ie=()=>{if(typeof window>"u")return null;try{return window.sessionStorage}catch{return null}},gt=()=>{var i,r,d;if(typeof window>"u")return!1;const s=(typeof((i=window.performance)==null?void 0:i.getEntriesByType)=="function"?window.performance.getEntriesByType("navigation"):[])[0];return s&&s.type==="reload"?!0:((d=(r=window.performance)==null?void 0:r.navigation)==null?void 0:d.type)===1},xt=e=>{if(!Array.isArray(e)||e.length!==2)return[];const[s,i]=e,r=typeof s=="number"?new Date(s):null,d=typeof i=="number"?new Date(i):null;return!r||!d||Number.isNaN(r.getTime())||Number.isNaN(d.getTime())?[]:[r,d]},ft=()=>{const e=Ie();if(!e)return null;if(gt()){try{e.removeItem(Te)}catch{}return null}try{const s=e.getItem(Te);if(!s)return null;const i=JSON.parse(s);return!i||typeof i!="object"?null:{selectedTimeRange:typeof i.selectedTimeRange=="string"?i.selectedTimeRange:void 0,customDateRange:xt(i.customDateRange),activeTransactionMetric:typeof i.activeTransactionMetric=="string"?i.activeTransactionMetric:void 0,activeUserMetric:typeof i.activeUserMetric=="string"?i.activeUserMetric:void 0,selectedModel:typeof i.selectedModel=="string"?i.selectedModel:void 0}}catch{return null}},bt=e=>{const s=Ie();if(!s)return;const i={selectedTimeRange:(e==null?void 0:e.selectedTimeRange)||"all",customDateRange:Array.isArray(e==null?void 0:e.customDateRange)?e.customDateRange.map(r=>r instanceof Date?r.getTime():null):[],activeTransactionMetric:(e==null?void 0:e.activeTransactionMetric)||"tokens",activeUserMetric:(e==null?void 0:e.activeUserMetric)||"active",selectedModel:(e==null?void 0:e.selectedModel)||""};try{s.setItem(Te,JSON.stringify(i))}catch{}},yt=({orgId:e=""}={})=>{const{t:s}=pt(),i=Re(),r=a.useMemo(()=>ft(),[]),[d,j]=a.useState(!0),[m,H]=a.useState(!1),[L,C]=a.useState(!1),[f,_]=a.useState(!1),[K,h]=a.useState(!1),[F,V]=a.useState((r==null?void 0:r.selectedTimeRange)||"all"),[U,B]=a.useState((r==null?void 0:r.customDateRange)||[]),[Q,A]=a.useState(pe),[$,w]=a.useState(he),[X,T]=a.useState(ge),[N,v]=a.useState(xe),[Z,q]=a.useState(ye),[D,de]=a.useState((r==null?void 0:r.activeTransactionMetric)||"tokens"),[se,ce]=a.useState((r==null?void 0:r.activeUserMetric)||"active"),[oe,R]=a.use
3State(1),[l,p]=a.useState(10),[G,z]=a.useState(""),[Y,O]=a.useState((r==null?void 0:r.selectedModel)||""),k=a.useMemo(()=>Ee(),[]),S=a.useMemo(()=>lt(F,U),[U,F]),ne=a.useCallback(async()=>{var n,u;if(j(!0),!e){A(pe);return}try{const{start_timestamp:o,end_timestamp:M}=S,g=await J.get(le(e,"overview"),{params:{start_timestamp:o,end_timestamp:M,timezone:k},skipErrorHandler:!0}),{success:I,message:x,data:b}=g.data||{};if(I){A({...pe,...b});return}A(pe),y(x||s("å è½½æ¦è§æ°æ®å¤±è´¥"))}catch(o){A(pe),y(((u=(n=o==null?void 0:o.response)==null?void 0:n.data)==null?void 0:u.message)||o.message||s("å è½½æ¦è§æ°æ®å¤±è´¥"))}finally{j(!1)}},[S,e,s,k]),ee=a.useCallback(async()=>{var n,u;if(H(!0),!e){w(he),H(!1);return}try{const{start_timestamp:o,end_timestamp:M}=S,g=await J.get(le(e,"transactions"),{params:{start_timestamp:o,end_timestamp:M,timezone:k},skipErrorHandler:!0}),{success:I,message:x,data:b}=g.data||{};if(I){w(Array.isArray(b)?b:he);return}w(he),y(x||s("å 载交æè¶å¿å¤±è´¥"))}catch(o){w(he),y(((u=(n=o==null?void 0:o.response)==null?void 0:n.data)==null?void 0:u.message)||o.message||s("å 载交æè¶å¿å¤±è´¥"))}finally{H(!1)}},[S,e,s,k]),te=a.useCallback(async()=>{var n,u;if(C(!0),!e){T(ge),C(!1);return}try{const{start_timestamp:o,end_timestamp:M}=S,g=await J.get(le(e,"users"),{params:{start_timestamp:o,end_timestamp:M,timezone:k},skipErrorHandler:!0}),{success:I,message:x,data:b}=g.data||{};if(I){T({...ge,...b});return}T(ge),y(x||s("å è½½ç¨æ·åæå¤±è´¥"))}catch(o){T(ge),y(((u=(n=o==null?void 0:o.response)==null?void 0:n.data)==null?void 0:u.message)||o.message||s("å è½½ç¨æ·åæå¤±è´¥"))}finally{C(!1)}},[S,e,s,k]),re=a.useCallback(async()=>{var n,u;if(h(!0),!e){q(ye),h(!1);return}try{const{start_timestamp:o,end_timestamp:M}=S,g={params:{start_timestamp:o,end_timestamp:M,timezone:k},skipErrorHandler:!0},[I,x]=await Promise.all([J.get(le(e,"models"),g),J.get(le(e,"models/tokens"),g)]),{success:b,message:Se,data:ae}=I.data||{},me=x.data,Le=dt(me);if(b&&Le){const Ne=ct(mt(me)),De=ut(ae==null?void 0:ae.model_share),ke=new Set,Fe=Array.isArray(ae==null?void 0:ae.model_list)&&ae.model_list.length?ae.model_list.filter(W=>!(W!=null&&W.model_name)||ke.has(W.model_name)?!1:(ke.add(W.model_name),!0)):[...Ne,...De].map(W=>W.model_name).filter(Boolean).filter((W,Ue,Be)=>Be.indexOf(W)===Ue).map(W=>({model_name:W,tag:null}));q({model_list:Fe,model_daily_tokens:Ne,model_share:De});return}q(ye),y(Se||(me==null?void 0:me.message)||s("å 载模ååæå¤±è´¥"))}catch(o){q(ye),y(((u=(n=o==null?void 0:o.response)==null?void 0:n.data)==null?void 0:u.message)||o.message||s("å 载模ååæå¤±è´¥"))}finally{h(!1)}},[S,e,s,k]),ie=a.useCallback(async()=>{var n,u;if(_(!0),!e){v(xe),_(!1);return}try{const{start_timestamp:o,end_timestamp:M}=S,g=await J.get(le(e,"users/spending-rank"),{params:{start_timestamp:o,end_timestamp:M,timezone:k,p:oe,page_size:l,keyword:G||void 0},skipErrorHandler:!0}),{success:I,message:x,data:b}=g.data||{};if(I){v({...xe,...b,items:Array.isArray(b==null?void 0:b.items)?b.items:[]});return}v(xe),y(x||s("å è½½ç¨æ·æ¶è´¹æè¡å¤±è´¥"))}catch(o){v(xe),y(((u=(n=o==null?void 0:o.response)==null?void 0:n.data)==null?void 0:u.message)||o.message||s("å è½½ç¨æ·æ¶è´¹æè¡å¤±è´¥"))}finally{_(!1)}},[S,e,s,k,oe,l,G]),we=a.useCallback(async()=>{await Promise.all([ne(),ee(),te(),re(),ie()])},[re,ne,ee,ie,te]);a.useEffect(()=>{Promise.all([ne(),ee(),te(),re()])},[re,ne,ee,te]),a.useEffect(()=>{ie()},[ie]),a.useEffect(()=>{bt({selectedTimeRange:F,customDateRange:U,activeTransactionMetric:D,activeUserMetric:se,selectedModel:Y})},[D,se,U,Y,F]);const ve=d||m||L||f||K,fe=a.useCallback(n=>{B([]),R(1),V(n)},[]),c=a.useCallback(n=>{if(!Array.isArray(n)||!n[0]||!n[1]){R(1),B([]),V("7d");return}R(1),B(n),V("custom")},[]),E=a.useMemo(()=>(Z.model_list||[]).filter(n=>n==null?void 0:n.model_name).map(n=>({label:n.model_name,value:n.model_name,tag:n.tag??n.tags??null,model_icon:n.model_icon??null})),[Z.model_list]);return a.useEffect(()=>{const n=E.map(u=>u.value);n.length===0||n.includes(Y)||n[0]&&O(n[0])},[E,Y]),{t:s,isMobile:i,orgId:e,overviewLoading:d,transactionsLoading:m,usersLoading:L,userSpendingLoading:f,modelsLoading:K,selectedTimeRange:F,customDateRange:U,handlePresetTimeRangeChange:fe,handleCustomDateRangeChange:c,overviewData:Q,transactionsData:$,usersData:X,userSpendingRankData:N,modelsData:Z,activeTransactionMetric:D,setA
3ctiveTransactionMetric:de,activeUserMetric:se,setActiveUserMetric:ce,userSpendingPage:oe,setUserSpendingPage:R,userSpendingPageSize:l,setUserSpendingPageSize:p,userSpendingKeyword:G,setUserSpendingKeyword:z,selectedModel:Y,setSelectedModel:O,currentTimeRangeTimestamps:S,loadDashboardData:we,isRefreshing:ve,modelOptions:E}},Ct="/api/v1/org/all-list",wt="/api/user/org/balance",vt=e=>`/api/v1/pbd/org/${e}/walletStat`,_e=(e={})=>({orgId:String(e.org_id||""),ownerId:String(e.owner_user_id||""),name:String(e.org_name||""),ownerName:String(e.owner_name||""),ownerEmail:String(e.owner_email||"")}),St=(e=[],s=[])=>{const i=new Set,r=[],d=[];return(e||[]).forEach(j=>{const m=_e(j);!m.orgId||i.has(m.orgId)||(i.add(m.orgId),r.push(m))}),(s||[]).forEach(j=>{const m=_e(j);!m.orgId||i.has(m.orgId)||(i.add(m.orgId),d.push(m))}),{top5:r,more:d,all:[...r,...d]}},Mt=e=>`organization-dashboard-org-button rounded-full px-4 py-[7px] text-[15px] h-[36px] leading-[1.4] transition-colors ${e?"organization-dashboard-org-button-active":""}`,Ae=({selectedOrg:e,onSelectOrg:s,orgLoading:i=!1})=>{const[r,d]=a.useState(0),[j,m]=a.useState(!0),[H,L]=a.useState(0),[C,f]=a.useState(!0),[_,K]=a.useState(""),h=a.useMemo(()=>Ee(),[]),F=a.useMemo(()=>{const c=_.trim().toLowerCase();return c?s.moreOptions.filter(E=>String(E.label).toLowerCase().includes(c)):s.moreOptions},[s.moreOptions,_]),V=a.useMemo(()=>s.more.some(E=>E.orgId===(e==null?void 0:e.orgId))&&(e==null?void 0:e.orgId)||void 0,[s.more,e==null?void 0:e.orgId]),{t:U,isMobile:B,overviewLoading:Q,transactionsLoading:A,usersLoading:$,userSpendingLoading:w,modelsLoading:X,selectedTimeRange:T,customDateRange:N,handlePresetTimeRangeChange:v,handleCustomDateRangeChange:Z,overviewData:q,transactionsData:D,usersData:de,userSpendingRankData:se,modelsData:ce,activeTransactionMetric:oe,setActiveTransactionMetric:R,activeUserMetric:l,setActiveUserMetric:p,userSpendingPage:G,setUserSpendingPage:z,userSpendingPageSize:Y,setUserSpendingPageSize:O,userSpendingKeyword:k,setUserSpendingKeyword:S,selectedModel:ne,setSelectedModel:ee,currentTimeRangeTimestamps:te,isRefreshing:re,modelOptions:ie}=yt({orgId:(e==null?void 0:e.orgId)||""}),{handleExport:we,exporting:ve}=Xe(null,null,{apiPath:"/api/v1/analyze/organizations/export-csv",filename:He()?"sales-organizations-export.csv":"organizations.csv"}),fe=a.useMemo(()=>({userCardTitle:"Total Members",usersSection:{sectionTitle:"Members",sectionDescription:"Member growth, engagement, and spending structure.",activeMetricLabel:"Active Members",activeMetricChartTitle:"Active Members Trend",newMetricLabel:"New Members",newMetricChartTitle:"New Members Trend",spendingTitle:"Member Spending Trend",spendingDescription:"Focus on High-Spending Members"}}),[]);return a.useEffect(()=>{let c=!0;return(async()=>{var n,u;if(!(e!=null&&e.orgId)||!(e!=null&&e.ownerId)){d(0),m(!1);return}m(!0);try{const o=await J.get(wt,{params:{orgId:e.orgId,ownerId:e.ownerId},skipErrorHandler:!0}),{success:M,data:g,message:I}=o.data||{};if(!c)return;if(!M){d(0),y(I||"Failed to load organization balance.");return}const x=(Number(g==null?void 0:g.ownerBalance)||0)+(Number(g==null?void 0:g.ownerGiftBalance)||0);d(x)}catch(o){if(!c)return;d(0),y(((u=(n=o==null?void 0:o.response)==null?void 0:n.data)==null?void 0:u.message)||o.message||"Failed to load organization balance.")}finally{c&&m(!1)}})(),()=>{c=!1}},[e]),a.useEffect(()=>{let c=!0;return(async()=>{var n,u;if(!(e!=null&&e.orgId)){L(0);return}f(!0);try{const{start_timestamp:o,end_timestamp:M}=te,g=await J.get(vt(e.orgId),{params:{start_timestamp:o,end_timestamp:M,timezone:h},skipErrorHandler:!0}),{success:I,data:x,message:b}=g.data||{};if(!c)return;if(!I){L(0),y(b||"Failed to load lifetime credits.");return}const Se=(Number(x==null?void 0:x.historyToppedUp)||0)+(Number(x==null?void 0:x.historyVoucher)||0);L(Se)}catch(o){if(!c)return;L(0),y(((u=(n=o==null?void 0:o.response)==null?void 0:n.data)==null?void 0:u.message)||(o==null?void 0:o.message)||"Failed to load lifetime credits.")}finally{c&&f(!1)}})(),()=>{c=!1}},[te,e,h]),a.useEffect(()=>{z(1),ee("")},[e==null?void 0:e.orgId,ee,z]),t.jsxs("div",{className:"organization-dashboard-page dashboard-page-layout dashboard-page-layout--scroll-header-mobile",children:[t.jsx("div",{className:"dashboard-page-header",children:t.jsx(Ye,{title:"Organization Dashboard",selectedTimeRange:T,customDateRange:N,onPresetTimeRangeChange:v,onCustomDateRangeChange:Z,isRefreshing:re})}),t.jsxs("div",{className:"dashboard-page-body",children:[t.jsx("div",{className:"mt-6",children:t.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between",children:[t.jsx("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center",children:i?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"flex min-w-0 flex-wrap gap-2",children:Array.from({length:5}).map((c,E)=>t.jsx(P,{loading:!0,active:!0,placeholder:t.jsx(P.Button,{style:{width:80,height:36,borderRadius:9999}})},E))}),t.jsx("div",{className:"w-full lg:w-auto",children:t.jsx(P,{loading:!0,active:!0,placeholder:t.jsx(P.Button,{style:{width:92,height:36,borderRadius:9999}})})})]}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"flex min-w-0 flex-wrap gap-2",children:s.top5.map(c=>t.jsx("button",{type:"button",className:Mt(c.orgId===(e==null?void 0:e.orgId)),onClick:()=>s.handleSelect(c.orgId),children:c.name},c.orgId))}),s.more.length>0&&t.jsx("div",{className:"w-full lg:w-auto",children:t.jsx(ze,{className:`organization-dashboard-select${V?" organization-dashboard-select-active":""}`,value:V,style:{minWidth:92,maxWidth:"100%"},optionList:F,placeholder:"More Organization",dropdownClassName:"organization-dashboard-more-dropdown",maxHeight:B?280:420,position:"bottomRight",emptyContent:"No organizations",dropdownStyle:{borderRadius:16,padding:10,boxShadow:"var(--tr-dashboard-shadow-dropdown, 0px 0px 10px rgba(0,0,0,0.1))",border:"none",width:340},onDropdownVisibleChange:c=>{c||K("")}
3,onChange:s.handleSelect,outerTopSlot:t.jsx("div",{className:"mb-[4px]",children:t.jsxs("div",{className:"organization-dashboard-dropdown-search flex items-center bg-[#f5f5f5] rounded-[999px] h-[40px] px-[16px] gap-2 hover:bg-[#e8e8e8]",children:[t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:t.jsx("path",{d:"M13.8227 12.9955L12.05 11.2227C12.0205 11.1932 11.9909 11.1932 11.9909 11.1636C12.8773 10.1 13.4091 8.71136 13.4091 7.20455C13.4091 3.77727 10.6318 1 7.20455 1C3.77727 1 1 3.77727 1 7.20455C1 10.6318 3.77727 13.4091 7.20455 13.4091C8.71136 13.4091 10.0705 12.8773 11.1636 11.9909C11.1932 12.0205 11.1932 12.05 11.2227 12.05L12.9955 13.8227C13.1136 13.9409 13.2614 14 13.4091 14C13.5568 14 13.7045 13.9409 13.8227 13.8227C14.0591 13.5864 14.0591 13.2318 13.8227 12.9955ZM7.20455 12.2273C4.42727 12.2273 2.18182 9.98182 2.18182 7.20455C2.18182 4.42727 4.42727 2.18182 7.20455 2.18182C9.98182 2.18182 12.2273 4.42727 12.2273 7.20455C12.2273 9.98182 9.98182 12.2273 7.20455 12.2273Z",fill:"#999999"})}),t.jsx("input",{value:_,onChange:c=>K(c.target.value),placeholder:"Search organization",className:"organization-dashboard-dropdown-search-input flex-1 border-none bg-transparent outline-none text-[16px] text-[#333] placeholder:text-[#999]"})]})}),renderSelectedItem:c=>t.jsxs("div",{className:"organization-dashboard-select-selected-item",children:[t.jsx("span",{className:"organization-dashboard-select-selected-name",children:c.label}),t.jsx("span",{className:"organization-dashboard-select-divider"}),t.jsx("span",{className:"organization-dashboard-select-more-text",children:"More Organization"})]}),renderOptionItem:c=>{const{label:E,value:n,focused:u,selected:o,onMouseEnter:M,onClick:g}=c;return t.jsx("div",{className:`organization-dashboard-dropdown-option h-10 px-[10px] rounded-[6px] flex items-center gap-2 cursor-pointer text-[14px] text-[#111] ${u||o?"organization-dashboard-dropdown-option-active bg-[#f5f5f5]":"bg-transparent"} mb-[2px]`,onMouseEnter:M,onClick:g,children:E},n)}})})]})}),t.jsx(Ge,{theme:"solid",style:{backgroundColor:"var(--tr-color-brand-primary, #0086FF)",borderRadius:40,height:36,padding:"0 16px",flexShrink:0,fontSize:15},icon:t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"mr-[2px]",children:t.jsx("path",{d:"M8.51572 9.84863L12.3923 5.97205C12.4871 5.87721 12.6158 5.82393 12.7499 5.82393C12.884 5.82393 13.0126 5.87721 13.1075 5.97205C13.2023 6.06688 13.2556 6.19551 13.2556 6.32963C13.2556 6.46376 13.2023 6.59238 13.1075 6.68722L8.41819 11.3765C8.30911 11.4818 8.16344 11.5406 8.01184 11.5406C7.86025 11.5406 7.71457 11.4818 7.60549 11.3765L2.89996 6.69535C2.853 6.64839 2.81575 6.59264 2.79033 6.53129C2.76492 6.46993 2.75184 6.40417 2.75184 6.33776C2.75184 6.27135 2.76492 6.20559 2.79033 6.14424C2.81575 6.08288 2.853 6.02713 2.89996 5.9801
37C2.94691 5.93321 3.00266 5.89596 3.06402 5.87055C3.12537 5.84514 3.19113 5.83206 3.25754 5.83206C3.32395 5.83206 3.38971 5.84514 3.45107 5.87055C3.51242 5.89596 3.56817 5.93321 3.61513 5.98017L7.49171 9.85676V2.00607C7.48258 1.93397 7.48889 1.86076 7.51024 1.79129C7.53159 1.72182 7.56748 1.6577 7.61552 1.60317C7.66357 1.54865 7.72268 1.50498 7.78891 1.47507C7.85514 1.44516 7.92698 1.42969 7.99965 1.42969C8.07232 1.42969 8.14416 1.44516 8.2104 1.47507C8.27663 1.50498 8.33573 1.54865 8.38378 1.60317C8.43183 1.6577 8.46772 1.72182 8.48907 1.79129C8.51041 1.86076 8.51673 1.93397 8.50759 2.00607L8.51572 9.84863ZM2.31481 14.5704C2.19116 14.5547 2.07747 14.4945 1.99506 14.401C1.91265 14.3075 1.86719 14.1871 1.86719 14.0625C1.86719 13.9378 1.91265 13.8175 1.99506 13.724C2.07747 13.6305 2.19116 13.5702 2.31481 13.5545H13.6926C13.8163 13.5702 13.93 13.6305 14.0124 13.724C14.0948 13.8175 14.1402 13.9378 14.1402 14.0625C14.1402 14.1871 14.0948 14.3075 14.0124 14.401C13.93 14.4945 13.8163 14.5547 13.6926 14.5704H2.31481Z",fill:"white",stroke:"white",strokeWidth:"0.2"})}),loading:ve,onClick:we,children:"Export"})]})}),t.jsx(Oe,{overviewData:q,overviewLoading:Q,showEnterpriseBalanceCard:!0,enterpriseBalance:r,enterpriseBalanceLoading:j,showLifetimeCreditsCard:!0,lifetimeCredits:H,lifetimeCreditsLoading:C,lifetimeCreditsHref:e?`/console/org-dashboard/wallet-charges?type=org&orgId=${e.orgId}&ownerId=${encodeURIComponent(e.ownerId||"")}&orgName=${encodeURIComponent(e.name)}`:"",userCardTitle:fe.userCardTitle,dashboardType:"org"}),t.jsx(et,{transactionsData:D,transactionsLoading:A,activeTransactionMetric:oe,setActiveTransactionMetric:R}),t.jsx(tt,{t:U,isMobile:B,usersData:de,usersLoading:$,userSpendingLoading:w,userSpendingRankData:se,activeUserMetric:l,setActiveUserMetric:p,userSpendingPage:G,setUserSpendingPage:z,userSpendingPageSize:Y,setUserSpendingPageSize:O,userSpendingKeyword:k,setUserSpendingKeyword:S,hideMetricTabs:!0,copy:fe.usersSection,clickable:!0,navigateOrgName:e==null?void 0:e.name,navigateBasePath:"/console/org-dashboard/user",showExport:!0,exportConfig:{apiPath:"/api/v1/analyze/member-users/export-csv",filename:`members-${(e==null?void 0:e.name)||"all"}.csv`,extraParams:e!=null&&e.orgId?{org_id:e.orgId}:{}}}),t.jsx(ht,{modelsData:ce,modelsLoading:X,selectedModel:ne,setSelectedModel:ee,modelOptions:ie,currentTimeRangeTimestamps:te,detailBasePath:"/console/org-dashboard",detailQueryParams:{orgId:e==null?void 0:e.orgId}})]})]})},jt=()=>{const[e]=$e(),s=a.useRef(e.get("orgId")||""),[i,r]=a.useState(!0),[d,j]=a.useState([]),[m,H]=a.useState([]),[L,C]=a.useState("");a.useEffect(()=>{let h=!0;const F=s.current;return(async()=>{var U,B,Q,A,$;r(!0);try{const w=await J.get(Ct,{skipErrorHandler:!0}),{success:X,message:T,data:N}=w.data||{};if(!h)return;if(!X){j([]),H([]),C(""),y(T||"Failed to load organizations.");return}const v=St(N==null?void 0:N.top5Data,N==null?void 0:N.moreData);j(v.top5),H(v.more);const Z=((U=v.all.find(q=>q.orgId===F))==null?void 0:U.orgId)||((B=v.top5[0])==null?void 0:B.orgId)||((Q=v.more[0])==null?void 0:Q.orgId)||"";C(Z)}catch(w){if(!h)return;j([]),H([]),C(""),y((($=(A=w==null?void 0:w.response)==null?void 0:A.data)==null?void 0:$.message)||w.message||"Failed to load organizations.")}finally{h&&r(!1)}})(),()=>{h=!1}},[]);const f=a.useMemo(()=>[...d,...m].find(h=>h.orgId===L),[m,L,d]),_=a.useMemo(()=>m.map(h=>({label:h.name,value:h.orgId})),[m]),K=a.useCallback(h=>{C(String(h||""))},[]);return i?t.jsx(Ae,{selectedOrg:null,orgLoading:!0,onSelectOrg:{top5:[],more:[],moreOptions:[],handleSelect:()=>{}}}):f!=null&&f.orgId?t.jsx(Ae,{selectedOrg:f,onSelectOrg:{top5:d,more:m,moreOptions:_,handleSelect:K}}):t.jsxs("div",{className:"organization-dashboard-page dashboard-page-layout",children:[t.jsx("div",{className:"dashboard-page-header",children:t.jsx("div",{className:"operate-dashboard-header flex items-center bg-[var(--tr-dashboard-bg-header)]",children:t.jsx("div",{className:"text-2xl font-medium leading-8 text-[var(--tr-dashboard-text-primary)]",children:"Organization Dashboard"})})}),t.jsx("div",{className:"dashboard-page-body flex items-center justify-center",children:t.jsx(We,{image:t.jsx(Ke,{style:{width:140,height:140}}),darkModeImage:t.jsx(Ze,{style:{width:140,height:140}}),description:t.jsx("span",{style:{maxWidth:450,display:"inline-block",color:"var(--tr-dashboard-empty-text, #999)"},children:"You currently have no managed organization customer accounts. Please contact the administrator to add them."})})})]})},oa=()=>{const e=!!Me("/console/org-dashboard/user/:userId"),s=!!Me("/console/org-dashboard/wallet-charges"),i=!!Me("/console/org-dashboard/models"),r=e||s||i,d=a.useRef(!1);return r||(d.current=!0),t.jsxs(t.Fragment,{children:[d.current?t.jsx("div",{style:{display:r?"none":void 0},children:t.jsx(jt,{})}):null,t.jsx(qe,{})]})};export{oa as default}; 4 5//# debugId=e6b7fae3-e1c3-52b0-a198-d8aa93b1f3ff
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.