PageSourceSearch

https://boombam.app/assets/system-monitor-Dl4h23GE.js

js boombam.app collected 2026-10-04 13:34:34 UTC 8,577 bytes, 1 lines download raw bytes

1import{u as p,j as e,c_ as n,a as f,q as j,C as r,b as l,d as a,d8 as b,e as c,c as d,U as v,bh as w,Z as y,V as U,s as u,v as S,f as R}from"./index-CuSEeJFb.js";function T(){var x,m,o,h;const{subscription:i}=p();if(!i||i.plan!=="admin")return e.jsx("div",{children:e.jsx("div",{className:"max-w-7xl mx-auto space-y-6",children:e.jsxs("div",{className:"text-center py-12",children:[e.jsx(n,{className:"w-16 h-16 text-red-500 mx-auto mb-4"}),e.jsx("h1",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:"Access Denied"}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:"This page requires Administrator access. Please contact your system administrator."})]})})});const{data:s}=f({queryKey:["/api/admin/system-health"],refetchInterval:3e4}),g=t=>{switch(t){case"healthy":return"text-green-600 bg-green-50 border-green-200";case"warning":return"text-yellow-600 bg-yellow-50 border-yellow-200";case"critical":return"text-red-600 bg-red-50 border-red-200";default:return"text-gray-600 bg-gray-50 border-gray-200"}},N=t=>{switch(t){case"healthy":return e.jsx(R,{className:"w-5 h-5 text-green-600"});case"warning":return e.jsx(n,{className:"w-5 h-5 text-yellow-600"});case"critical":return e.jsx(n,{className:"w-5 h-5 text-red-600"});default:return e.jsx(j,{className:"w-5 h-5 text-gray-600"})}};return e.jsx("div",{children:e.jsxs("div",{className:"max-w-7xl mx-auto space-y-6",children:[e.jsxs("div",{className:"bg-gradient-to-r from-red-600 via-red-500 to-orange-500 rounded-2xl p-6 text-white",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(j,{className:"w-8 h-8"}),e.jsx("h1",{className:"text-3xl font-bold",children:"System Monitor"})]}),e.jsx("p",{className:"text-red-100",children:"Real-time platform health and performance metrics"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-6",children:[e.jsxs(r,{children:[e.jsx(l,{className:"pb-3",children:e.jsxs(a,{className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(b,{className:"w-4 h-4"}),"System Status"]})}),e.jsxs(c,{children:[e.jsxs("div",{className:d("flex items-center gap-2 p-2 rounded-lg border",g((s==null?void 0:s.status)||"healthy")),children:[N((s==null?void 0:s.status)||"healthy"),e.jsx("span",{className:"font-semibold capitalize",children:(s==null?void 0:s.status)||"Healthy"})]}),e.jsxs("div",{className:"mt-3 space-y-1",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Uptime"}),e.jsx("span",{className:"font-medium",children:s==null?void 0:s.uptime})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Response Time"}),e.jsxs("span",{className:"font-medium",children:[s==null?void 0:s.responseTime,"ms"]})]})]})]})]}),e.jsxs(r,{children:[e.jsx(l,{className:"pb-3",children:e.jsxs(a,{className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(v,{className:"w-4 h-4"}),"User Activity"]})}),e.jsxs(c,{children:[e.jsx("div",{className:"text-2xl font-bold text-blue-600",children:(x=s==null?void 0:s.activeUsers)==null?void 0:x.toLocaleString()}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Active now"}),e.jsx("div",{className:"mt-3 space-y-1",children:e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Total Users"}),e.jsx("span",{className:"font-medium",children:(m=s==null?void 0:s.totalUsers)==null?void 0:m.toLocaleString()})]})})]})]}),e.jsxs(r,{children:[e.jsx(l,{className:"pb-3",children:e.jsxs(a,{className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(w,{className:"w-4 h-4"}),"Database"]})}),e.jsxs(c,{children:[e.jsx("div",{className:"text-2xl font-bold text-green-600",children:s==null?void 0:s.dbConnections}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Active connections"}),e.jsxs("div",{className:"mt-3 space-y-1",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Memory"}),e.jsxs("span",{className:"font-medium",children:[s==null?void 0:s.memoryUsage,"%"]})]}),e.jsx("div",{className:"w-full bg-gray-200 dark:bg-gray-700 rounded-full h-1.5",children:e.jsx("div",{className:"bg-green-500 h-1.5 rounded-full",style:{width:`${s==null?void 0:s.memoryUsage}%`}})})]})]})]}),e.jsxs(r,{children:[e.jsx(l,{className:"pb-3",children:e.jsxs(a,{className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(y,{className:"w-4 h-4"}),"AI Usage"]})}),e.jsxs(c,{children:[e.jsx("div",{className:"text-2xl font-bold text-purple-600",children:(o=s==null?void 0:s.aiCreditsUsed)==null?void 0:o.toLocaleStr
1ing()}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Credits used today"}),e.jsx("div",{className:"mt-3 space-y-1",children:e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Requests"}),e.jsx("span",{className:"font-medium",children:(h=s==null?void 0:s.totalRequests)==null?void 0:h.toLocaleString()})]})})]})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs(r,{children:[e.jsx(l,{children:e.jsxs(a,{className:"flex items-center gap-2",children:[e.jsx(U,{className:"w-5 h-5"}),"Resource Usage"]})}),e.jsxs(c,{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between text-sm mb-1",children:[e.jsx("span",{children:"CPU Usage"}),e.jsxs("span",{children:[s==null?void 0:s.cpuUsage,"%"]})]}),e.jsx("div",{className:"w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2",children:e.jsx("div",{className:d("h-2 rounded-full transition-all",((s==null?void 0:s.cpuUsage)||0)<50?"bg-green-500":((s==null?void 0:s.cpuUsage)||0)<80?"bg-yellow-500":"bg-red-500"),style:{width:`${s==null?void 0:s.cpuUsage}%`}})})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between text-sm mb-1",children:[e.jsx("span",{children:"Memory Usage"}),e.jsxs("span",{children:[s==null?void 0:s.memoryUsage,"%"]})]}),e.jsx("div",{className:"w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2",children:e.jsx("div",{className:d("h-2 rounded-full transition-all",((s==null?void 0:s.memoryUsage)||0)<50?"bg-green-500":((s==null?void 0:s.memoryUsage)||0)<80?"bg-yellow-500":"bg-red-500"),style:{width:`${s==null?void 0:s.memoryUsage}%`}})})]})]})]}),e.jsxs(r,{children:[e.jsx(l,{children:e.jsxs(a,{className:"flex items-center gap-2",children:[e.jsx(n,{className:"w-5 h-5"}),"Error Monitoring"]})}),e.jsxs(c,{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm",children:"Error Rate"}),e.jsxs(u,{variant:s!=null&&s.errorRate&&s.errorRate<.1?"default":"destructive",children:[s==null?void 0:s.errorRate,"%"]})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm",children:"Status"}),e.jsx(u,{variant:s!=null&&s.errorRate&&s.errorRate<.1?"default":"destructive",children:s!=null&&s.errorRate&&s.errorRate<.1?"Normal":"High"})]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["Last updated: ",new Date().toLocaleTimeString()]})]})]})]}),e.jsxs(r,{children:[e.jsx(l,{children:e.jsxs(a,{className:"flex items-center gap-2",children:[e.jsx(S,{className:"w-5 h-5"}),"Recent System Events"]})}),e.jsx(c,{children:e.jsxs("div",{className:"space-y-2 font-mono text-sm",children:[e.jsxs("div",{className:"flex gap-3 text-green-600",children:[e.jsxs("span",{className:"text-muted-foreground",children:["[",new Date().toLocaleTimeString(),"]"]}),e.jsx("span",{children:"INFO: System health check passed"})]}),e.jsxs("div",{className:"flex gap-3 text-blue-600",children:[e.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(Date.now()-6e4).toLocaleTimeString(),"]"]}),e.jsx("span",{children:"INFO: Database backup completed successfully"})]}),e.jsxs("div",{className:"flex gap-3 text-yellow-600",children:[e.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(Date.now()-12e4).toLocaleTimeString(),"]"]}),e.jsx("span",{children:"WARN: High memory usage detected (67%)"})]}),e.jsxs("div",{className:"flex gap-3 text-green-600",children:[e.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(Date.now()-18e4).toLocaleTimeString(),"]"]}),e.jsx("span",{children:"INFO: AI service response time normal (142ms)"})]})]})})]})]})})}export{T 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.