Files
Nexus/web/app/assets/StatCardsRow-DQSeLQmD.js
T
2026-06-08 07:20:37 +08:00

1 line
2.9 KiB
JavaScript

import{n as e,t}from"./VRow-OZ6hPx_x.js";import{Dr as n,Pr as r,R as i,Tr as a,U as o,Vr as s,Yr as c,Zr as l,ar as u,cr as d,dr as f,hr as p,lr as m,mr as h,ut as g,wr as _,z as v}from"./index-CgpHRpHN.js";import{n as y}from"./paginatedFetch-DPaplyAS.js";import{t as b}from"./_plugin-vue_export-helper-BDNMzG2s.js";var x={status:`status`,name:`name`,domain:`domain`,address:`domain`,category:`category`,target_path:`target_path`,agent_version:`agent_version`,agent:`agent_version`,last_heartbeat:`heartbeat`,heartbeat:`heartbeat`};function S(e){if(!e.length)return{};let t=x[e[0].key];return t?{sort_by:t,sort_order:e[0].order}:{}}function C(){let e=s([]),t=s(!1),n=s(1),r=s(20),i=s(0),a=s(``),o=s(``),c=s([]);async function l(){t.value=!0;try{let t=await y(`/servers/`,{search:a.value||void 0,category:o.value||void 0,...S(c.value)},n.value,r.value);e.value=t.items,i.value=t.total,r.value===-1&&(n.value=1)}catch(t){throw e.value=[],i.value=0,t}finally{t.value=!1}}let u;_(()=>clearTimeout(u));function d(){clearTimeout(u),u=setTimeout(()=>{n.value=1,l()},300)}function f(e){n.value=e,l()}function p(e){r.value=e,n.value=1,l()}function m(e){o.value=e,n.value=1,l()}function h(e){c.value=e,n.value=1,l()}async function g(){return(await y(`/servers/`,{search:a.value||void 0,category:o.value||void 0,...S(c.value)},1,-1)).items}return{servers:e,loading:t,page:n,itemsPerPage:r,total:i,search:a,categoryFilter:o,sortBy:c,loadServers:l,onSearch:d,onPageChange:f,onItemsPerPageChange:p,onCategoryChange:m,onSortByChange:h,loadAllServers:g}}function w(e){switch(e){case`online`:return`success`;case`offline`:return`error`;default:return`warning`}}function T(e){switch(e){case`online`:return`在线`;case`offline`:return`离线`;default:return`未知`}}function E(e){if(!e)return`—`;let t=new Date(e);if(isNaN(t.getTime()))return`—`;let n=Date.now()-t.getTime();return n<6e4?`刚刚`:n<36e5?`${Math.floor(n/6e4)} 分钟前`:n<864e5?`${Math.floor(n/36e5)} 小时前`:`${Math.floor(n/864e5)} 天前`}var D={class:`text-caption text-medium-emphasis mb-1`,style:{"font-size":`14px`,"letter-spacing":`0.5px`,"text-transform":`uppercase`}},O=b(p({__name:`StatCardsRow`,props:{items:{}},setup(s){return(p,_)=>(a(),m(t,null,{default:r(()=>[(a(!0),f(u,null,n(s.items,(t,n)=>(a(),m(e,{key:n,cols:`6`,sm:`3`},{default:r(()=>[h(i,{elevation:`0`,rounded:`xl`,border:``,class:`stat-card`},{default:r(()=>[h(v,{class:`pa-4 d-flex align-center justify-space-between`},{default:r(()=>[d(`div`,null,[d(`div`,D,l(t.subtitle),1),d(`div`,{class:c([`font-weight-bold`,`text-`+t.color]),style:{"font-size":`36px`,"line-height":`1.1`}},l(t.title),3)]),h(o,{color:t.color,size:`48`,rounded:`lg`,class:`stat-icon`},{default:r(()=>[h(g,{icon:t.icon,size:`24`,color:`white`},null,8,[`icon`])]),_:2},1032,[`color`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))}}),[[`__scopeId`,`data-v-68b984da`]]);export{C as a,T as i,E as n,w as r,O as t};