diff --git a/web/src/lib/components/mihomo/mihomo-overview-charts.svelte b/web/src/lib/components/mihomo/mihomo-overview-charts.svelte index 18849d4..6a326fe 100644 --- a/web/src/lib/components/mihomo/mihomo-overview-charts.svelte +++ b/web/src/lib/components/mihomo/mihomo-overview-charts.svelte @@ -1,8 +1,11 @@
- - - - Трафик - - - - - - - - - Поток (накоплено) - - - - - - - - Память (KB) - - - - - - - - Подключения - - - - - - - - - Типы сети - - - - - - - - - - Топ прокси (по сессиям) - - - - - - + + {#snippet icon()} + + + {#snippet icon()} + + + {#snippet icon()} + + + {#snippet icon()} + + + {#snippet icon()} + + + {#snippet icon()} +
diff --git a/web/src/routes/servers/[alias]/mihomo/+page.svelte b/web/src/routes/servers/[alias]/mihomo/+page.svelte index 1159e1a..cd5d572 100644 --- a/web/src/routes/servers/[alias]/mihomo/+page.svelte +++ b/web/src/routes/servers/[alias]/mihomo/+page.svelte @@ -18,7 +18,14 @@ } from '$lib/api/mihomo-types.js'; import { formatBytes, formatRatePerSec } from '$lib/format.js'; import * as Card from '$lib/components/ui/card/index.js'; + import KpiStatCard from '$lib/components/kpi-stat-card.svelte'; import { Button } from '$lib/components/ui/button/index.js'; + import ArrowBigUpIcon from '@lucide/svelte/icons/arrow-big-up'; + import ArrowBigDownIcon from '@lucide/svelte/icons/arrow-big-down'; + import CloudUploadIcon from '@lucide/svelte/icons/cloud-upload'; + import CloudDownloadIcon from '@lucide/svelte/icons/cloud-download'; + import PlugIcon from '@lucide/svelte/icons/plug'; + import MemoryStickIcon from '@lucide/svelte/icons/memory-stick'; import { Badge } from '$lib/components/ui/badge/index.js'; import * as Tabs from '$lib/components/ui/tabs/index.js'; import DataQueryState from '$lib/components/fleet/data-query-state.svelte'; @@ -629,14 +636,40 @@ {#snippet skeleton()} -
+
{#each Array.from({ length: 6 }) as _, i (i)} - + + +
+ +
+ + +
+
+
+ + + +
{/each}
{#each Array.from({ length: 6 }) as _, i (i)} - + + +
+ +
+ + +
+
+
+ + + +
{/each}
{/snippet} @@ -647,45 +680,43 @@

{/if} {#if tab === 'overview' && !metaErr} -
- - - Загрузка - - {formatRatePerSec(upBps)} - - - - Скачивание - - {formatRatePerSec(downBps)} - - - - Всего загружено - - {formatBytes(totalUp)} - - - - Всего скачано - - {formatBytes(totalDown)} - - - - Активные соединения - - {connTotal} - - - - Память - - - {memKiB > 0 ? `${(memKiB / 1024).toFixed(1)} MiB` : '—'} - - +
+ + {#snippet icon()} + + + {#snippet icon()} + + + {#snippet icon()} + + + {#snippet icon()} + + + {#snippet icon()} + + + {#snippet icon()} +