From 62464978077549e850882df14f7458ae6ec3ff52 Mon Sep 17 00:00:00 2001 From: Baobhan Sith <80159437+Heavrnl@users.noreply.github.com> Date: Mon, 28 Apr 2025 21:17:05 +0800 Subject: [PATCH] update --- .../src/components/AddConnectionForm.vue | 8 ++++---- .../frontend/src/components/StatusMonitor.vue | 20 +++++++++++++------ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/packages/frontend/src/components/AddConnectionForm.vue b/packages/frontend/src/components/AddConnectionForm.vue index 253a176..be385b2 100644 --- a/packages/frontend/src/components/AddConnectionForm.vue +++ b/packages/frontend/src/components/AddConnectionForm.vue @@ -2,11 +2,11 @@ import { ref, reactive, watch, computed, onMounted } from 'vue'; import { storeToRefs } from 'pinia'; import { useI18n } from 'vue-i18n'; -import apiClient from '../utils/apiClient'; // 修正导入路径和名称 +import apiClient from '../utils/apiClient'; import { useConnectionsStore, ConnectionInfo } from '../stores/connections.store'; -import { useProxiesStore } from '../stores/proxies.store'; // 引入代理 Store -import { useTagsStore } from '../stores/tags.store'; // 引入标签 Store -import TagInput from './TagInput.vue'; // 导入新的 TagInput 组件 +import { useProxiesStore } from '../stores/proxies.store'; +import { useTagsStore } from '../stores/tags.store'; +import TagInput from './TagInput.vue'; // 定义组件发出的事件 const emit = defineEmits(['close', 'connection-added', 'connection-updated']); diff --git a/packages/frontend/src/components/StatusMonitor.vue b/packages/frontend/src/components/StatusMonitor.vue index 3184ed5..25ee7fc 100644 --- a/packages/frontend/src/components/StatusMonitor.vue +++ b/packages/frontend/src/components/StatusMonitor.vue @@ -167,13 +167,23 @@ const formatKbToGb = (kb?: number): string => { return `${gb.toFixed(1)} ${t('statusMonitor.gigaBytes')}`; }; +// Helper function to format MB to GB if needed +const formatMemorySize = (mb?: number): string => { + if (mb === undefined || mb === null || isNaN(mb)) return t('statusMonitor.notAvailable'); + if (mb < 1024) { + const value = Number.isInteger(mb) ? mb : mb.toFixed(1); + return `${value} ${t('statusMonitor.megaBytes')}`; + } else { + const gb = mb / 1024; + return `${gb.toFixed(1)} ${t('statusMonitor.gigaBytes')}`; + } +}; + const memDisplay = computed(() => { const data = props.serverStatus; if (!data || data.memUsed === undefined || data.memTotal === undefined) return t('statusMonitor.notAvailable'); const percent = data.memPercent !== undefined ? `(${(data.memPercent).toFixed(1)}%)` : ''; // Keep 1 decimal for percent - const usedMb = Number.isInteger(data.memUsed) ? data.memUsed : data.memUsed.toFixed(1); - const totalMb = Number.isInteger(data.memTotal) ? data.memTotal : data.memTotal.toFixed(1); - return `${usedMb} / ${totalMb} ${t('statusMonitor.megaBytes')} ${percent}`; // Removed extra space before MB + return `${formatMemorySize(data.memUsed)} / ${formatMemorySize(data.memTotal)} ${percent}`; }); const diskDisplay = computed(() => { @@ -195,9 +205,7 @@ const swapDisplay = computed(() => { } const percent = `(${(percentVal).toFixed(1)}%)`; // Keep 1 decimal for percent - const usedMb = Number.isInteger(used) ? used : used.toFixed(1); - const totalMb = Number.isInteger(total) ? total : total.toFixed(1); - return `${usedMb} / ${totalMb} ${t('statusMonitor.megaBytes')} ${percent}`; // Removed extra space before MB + return `${formatMemorySize(used)} / ${formatMemorySize(total)} ${percent}`; });