1import{t as c,j as e}from"./index-B1tb1zK2.js";import{n as m,o as x,p,q as u,r as y,A as h,l as i,S as l}from"./use-admin-BHZRqB0T.js";import"./DashboardLayout-BMnRPhNx.js";import"./button-CJpXvn3Z.js";import"./label-BJ_S0EQK.js";import"./chevron-right-DmXSlZ0f.js";import"./sparkles-CN17ZXt0.js";import"./chart-column-BtbtIOIE.js";import"./index-BVjdsLYI.js";import"./proxy-ivkUR7Hz.js";function v(t){switch(t){case"healthy":return"var(--green, #16a34a)";case"degraded":return"var(--amber, #d97706)";default:return"var(--red, #dc2626)"}}function R(){const{t}=c(),{data:d=[]}=m(),{data:r}=x("30d"),{data:n=[]}=p(),{data:o=[]}=u(),{data:a}=y();return e.jsxs(h,{children:[e.jsxs("div",{className:"mb-5",children:[e.jsx("h1",{className:"text-xl font-bold",style:{color:"var(--text-primary)"},children:t("admin.system.title")}),e.jsx("p",{className:"text-xs mt-0.5",style:{color:"var(--text-tertiary)"},children:t("admin.system.subtitle")})]}),e.jsx("div",{className:"mb-5",children:e.jsx(i,{title:t("admin.system.health.title"),children:e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3",children:d.length===0?e.jsx("span",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:t("admin.empty.noData")}):d.map(s=>e.jsxs("div",{style:{background:"var(--surface-1)",border:"1px solid var(--border-default)",borderRadius:12,padding:14},children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{style:{width:8,height:8,borderRadius:9999,background:v(s.status),display:"inline-block"}}),e.jsx("span",{className:"text-xs font-semibold",style:{color:"var(--text-primary)"},children:s.name})]}),e.jsxs("p",{className:"text-[11px] mt-1.5",style:{color:"var(--text-tertiary)"},children:[t(`admin.system.health.status.${s.status}`)," · ",s.latency_ms,"ms"]})]},s.name))})})}),e.jsx("div",{className:"mb-5",children:e.jsx(i,{title:`${t("admin.system.monitoring.title",{defaultValue:"Uptime Monitors"})}${a?.available?` · ${a.up??0}/${a.total??0} up`:""}`,children:a?.available?e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3",children:(a.monitors??[]).map(s=>e.jsxs("div",{style:{background:"var(--surface-1)",border:"1px solid var(--border-default)",borderRadius:12,padding:14},children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{style:{width:8,height:8,borderRadius:9999,background:s.up?"var(--green, #16a34a)":"var(--red, #dc2626)",display:"inline-block"}}),e.jsx("span",{className:"text-xs font-semibold truncate",style:{color:"var(--text-primary)"},children:s.name})]}),e.jsxs("p",{className:"text-[11px] mt-1.5",style:{color:"var(--text-tertiary)"},children:[s.up?t("admin.statusUp"):t("admin.statusDown")," · ",Math.round(s.ping_ms||0),"ms · ",((s.uptime_24h??0)*100).toFixed(1),"% 24h"]})]},s.name))}):e.jsx("p",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:t("admin.system.monitoring.unavailable",{defaultValue:"Monitoring not connected"})})})}),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 mb-5",children:[e.jsx(l,{label:t("admin.kpi.textGen"),value:r?.generations?.text??0}),e.jsx(l,{label:t("admin.kpi.imageGen"),value:r?.generations?.image??0}),e.jsx(l,{label:t("admin.kpi.videoGen"),value:r?.generations?.video??0}),e.jsx(l,{label:t("admin.system.totalCost"),value:`$${(Number(r?.total_cost_usd)||0).toFixed(2)}`})]}),e.jsx("div",{className:"mb-5",children:e.jsx(i,{title:t("admin.system.alerts.title"),children:n.length===0?e.jsx("p",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:t("admin.system.alerts.empty")}):e.jsx("div",{className:"space-y-2",children:n.map(s=>e.jsxs("div",{className:"flex items-start gap-2 text-xs",style:{color:"var(--text-secondary)"},children:[e.jsx("span",{className:"font-semibold",style:{color:"var(--text-primary)"},children:s.title}),e.jsx("span",{children:s.message})]},s.id))})})}),e.jsx(i,{title:t("admin.system.failures.title"),children:o.length===0?e.jsx("p",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:t("admin.system.failures.empty")}):e.jsx("div",{className:"space-y-2",children:o.map(s=>e.jsxs("div",{className:"flex items-start justify-between gap-3 rounded-lg p-2",style:{background:"var(--surface-2)",border:"1px solid var(--border-default)"},children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-xs font-medium truncate",style:{color:"var(--text-primary)"},children:s.title||t("admin.system.failures.untitled")}),e.jsxs("div",{className:"text-[11px]",style:{color:"var(--text-tertiary)"},children:[s.platform," · ",s.account_name]}),e.jsx("div",{className:"text-[11px] truncate",style:{color:"hsl(var(--destructive))"},children:s.error_message})]}),e.jsx("div",{className:"text-[10px] whitespace-nowrap",style:{color:"var(--text-tertiary)"}
1,children:new Date(s.failed_at).toLocaleString()})]},s.id))})})]})}export{R 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.