1import{a as T,o as k,t as R,j as a,f as d,C as u,v as b,P as A,h as D,s as L,F as S}from"./index-DRYNtDfq.js";import{D as W,A as $,U as j,S as h}from"./DashboardLayout-2PNDDCmu.js";import{C as x,a as f,b as N,c as g}from"./card-CJc3fOA2.js";import{B as v}from"./badge-ChxCwd0e.js";import{T as l}from"./trending-up-CvKbjCgH.js";import{C as y}from"./circle-arrow-up-DUs07WdU.js";import{E as B}from"./message-circle-DuGz_h7Q.js";import{C as E}from"./circle-check-B2iCZg_V.js";import{C as P}from"./circle-arrow-down-HHKk6hyR.js";import"./file-text-CvyTzFOR.js";import"./send-BLEe7uzJ.js";import"./mail-Dy7s7wzw.js";import"./index-BfJPPodk.js";import"./dialog-D6TyplgW.js";function n({title:i,value:c,sub:s,icon:t,color:o,loading:r}){return a.jsx(x,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:23",children:a.jsx(g,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:24",className:"pt-5 pb-4",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:25",className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:26",className:"min-w-0 flex-1",children:[a.jsx("p",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:27",className:"text-xs text-muted-foreground truncate",children:i}),r?a.jsx(h,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:29",className:"h-7 w-28 mt-1"}):a.jsx("p",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:31",className:"text-xl font-bold mt-0.5 truncate",children:c}),s&&!r&&a.jsx("p",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:34",className:"text-xs text-muted-foreground mt-0.5 truncate",children:s})]}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:37",className:`p-2 rounded-lg shrink-0 ${o}`,children:a.jsx(t,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:38",className:"w-5 h-5"})})]})})})}function O(){const{user:i}=T(),[,c]=k(),{data:s,isLoading:t}=R.admin.getStats.useQuery(void 0,{enabled:i?.role==="admin",refetchInterval:6e4});if(i?.role!=="admin")return c("/"),null;const o=s?.todayTotalRevenue??0,r=s?.monthTotalRevenue??0,C=s?.todayExchangeProfit??0,m=[{label:"Yêu cầu rút tiá»n chá» duyá»t",count:s?.pendingWithdrawalCount??0,href:"/admin/withdrawals",urgent:(s?.pendingWithdrawalCount??0)>0},{label:"Äá»i thẻ lá»i hôm nay",count:s?.todayFailedCount??0,href:"/admin/cards",urgent:(s?.todayFailedCount??0)>5}],p=m.some(e=>e.count>0);return a.jsx(W,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:81",title:"Admin Panel",navItems:$,userName:i?.name||"Admin",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:86",className:"space-y-6",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:87",className:"flex items-center justify-between flex-wrap gap-2",children:[a.jsx("h2",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:88",className:"text-2xl font-bold",children:"Tá»ng quan há» thá»ng"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:89",className:"text-sm text-muted-foreground",children:new Date().toLocaleDateString("vi-VN",{weekday:"long",year:"numeric",month:"long",day:"numeric"})})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:95",children:[a.jsx("p",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:96",className:"text-sm font-medium text-muted-foreground mb-3",children:"Hôm nay"}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:97",className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:[a.jsx(n,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:98",title:"Tá»ng doanh thu",value:d(o),sub:"Tất cả dá»ch vụ",icon:l,color:"bg-purple-100 text-purple-600",loading:t}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:106",title:"Äá»i thẻ",value:`${s?.todayCardCount??0} ÄÆ¡n`,sub:`Nháºn ${d(s?.todayCardAmount??0)}`,icon:u,color:"bg-blue-100 text-blue-600",loading:t}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:114",title:"Mua thẻ",value:`${s?.todayBuyCardCount??0} ÄÆ¡n`,sub:d(s?.todayBuyCardRevenue??0),icon:b,color:"bg-green-100 text-green-600",loading:t}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:122",title:"Nạp cưá»c",value:`${s?.todayTopupCount??0} ÄÆ¡n`,sub:d(s?.todayTopupRevenue??0),icon:A,color:"bg-orange-100 text-orange-600",loading:t})]})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:134",children:[a.jsx("p",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:135",className:"text-sm font-medium text-muted-foreground mb-3",children:"Tháng nà y"}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:136",className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:[a.jsx(n,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:137",title:"Doanh thu tháng",value:d(r),sub:"Tất cả dá»ch vụ",icon:l,color:"bg-purple-100 text-purple-600",loading:t}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:145",title:"Lợi nhuáºn Äá»i thẻ",value:d(C),sub:"Hôm nay (margin)",icon:l,color:"bg-emerald-100 text-emerald-600",loading:t}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:153",title:"Tá»ng ngưá»i dùng",value:(s?.totalUsers??0).toLocaleStr
1ing(),icon:j,color:"bg-sky-100 text-sky-600",loading:t}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:160",title:"Chá» rút tiá»n",value:`${s?.pendingWithdrawalCount??0} yêu cầu`,sub:s?.pendingWithdrawalAmount?d(s.pendingWithdrawalAmount):void 0,icon:y,color:(s?.pendingWithdrawalCount??0)>0?"bg-red-100 text-red-600":"bg-gray-100 text-gray-500",loading:t})]})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:172",className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[a.jsxs(x,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:173",children:[a.jsx(f,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:174",className:"pb-3",children:a.jsxs(N,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:175",className:"text-base flex items-center gap-2",children:[a.jsx(D,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:176",className:"w-4 h-4"}),"Viá»c cần xá» lý",p&&a.jsx(v,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:179",variant:"destructive",className:"text-xs ml-1",children:m.reduce((e,w)=>e+w.count,0)})]})}),a.jsx(g,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:185",className:"space-y-2",children:t?a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:187",className:"space-y-2",children:[a.jsx(h,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:188",className:"h-10 w-full"}),a.jsx(h,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:189",className:"h-10 w-full"})]}):p?m.filter(e=>e.count>0).map(e=>a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:193",className:"flex items-center justify-between p-3 rounded-lg border bg-muted/30 hover:bg-muted/60 transition-colors cursor-pointer",onClick:()=>c(e.href),children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:198",className:"flex items-center gap-2",children:[e.urgent?a.jsx(L,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:200",className:"w-4 h-4 text-orange-500 shrink-0"}):a.jsx(D,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:202",className:"w-4 h-4 text-muted-foreground shrink-0"}),a.jsx("span",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:204",className:"text-sm",children:e.label})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:206",className:"flex items-center gap-2",children:[a.jsx(v,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:207",variant:e.urgent?"destructive":"secondary",children:e.count}),a.jsx(B,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:210",className:"w-3 h-3 text-muted-foreground"})]})]},e.href)):a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:215",className:"flex items-center gap-2 text-sm text-muted-foreground py-4 justify-center",children:[a.jsx(E,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:216",className:"w-4 h-4 text-green-500"}),"Không có viá»c cần xá» lý"]})})]}),a.jsxs(x,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:223",children:[a.jsx(f,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:224",className:"pb-3",children:a.jsxs(N,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:225",className:"text-base flex items-center gap-2",children:[a.jsx(l,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:226",className:"w-4 h-4"}),"Truy cáºp nhanh"]})}),a.jsx(g,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:230",children:a.jsx("div",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:231",className:"grid grid-cols-2 gap-2",children:[{label:"Giao dá»ch thẻ",href:"/admin/cards",icon:u},{label:"Mua thẻ",href:"/admin/buy-card-orders",icon:b},{label:"Nạp cưá»c",href:"/admin/topup",icon:A},{label:"Nạp tiá»n",href:"/admin/deposits",icon:P},{label:"Rút tiá»n",href:"/admin/withdrawals",icon:y},{label:"Ngưá»i dùng",href:"/admin/users",icon:j}].map(e=>a.jsxs(S,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:240",variant:"outline",className:"justify-start gap-2 h-9 text-sm",onClick:()=>c(e.href),children:[a.jsx(e.icon,{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:246",className:"w-4 h-4 shrink-0"}),a.jsx("span",{"data-loc":"client/src/pages/admin/AdminDashboard.tsx:247",className:"truncate",children:e.label})]},e.href))})})]})]})]})})}export{O as default};
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.