From e7940ea9f385d45e25c2d1b1716197b178b28078 Mon Sep 17 00:00:00 2001 From: Gemini Wen Date: Sun, 27 Jul 2025 09:52:59 +0800 Subject: [PATCH 1/5] fix: stat-icons shrink behavior MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix missing space in flex-shrink-0 class for yellow stat-icon - Add missing flex-shrink-0 to indigo stat-icon - Ensures all stat icons have proper flex behavior 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- web/admin/index.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/web/admin/index.html b/web/admin/index.html index 73016633..8b3f16f9 100644 --- a/web/admin/index.html +++ b/web/admin/index.html @@ -227,7 +227,7 @@

{{ dashboardData.totalApiKeys }}

活跃: {{ dashboardData.activeApiKeys || 0 }}

-
+
@@ -245,7 +245,7 @@

-
+
@@ -258,7 +258,7 @@

{{ dashboardData.todayRequests }}

总请求: {{ formatNumber(dashboardData.totalRequests || 0) }}

-
+
@@ -271,7 +271,7 @@

{{ dashboardData.systemStatus }}

运行时间: {{ formatUptime(dashboardData.uptime) }}

-
+
@@ -297,7 +297,7 @@ -
+
@@ -320,7 +320,7 @@ -
+
@@ -333,7 +333,7 @@

{{ dashboardData.systemRPM || 0 }}

每分钟请求数

-
+
@@ -346,7 +346,7 @@

{{ dashboardData.systemTPM || 0 }}

每分钟Token数

-
+
From c201a17cd4de8e12970d673efbf629dd8fe79606 Mon Sep 17 00:00:00 2001 From: Gemini Wen Date: Sun, 27 Jul 2025 09:58:25 +0800 Subject: [PATCH 2/5] feat: add flex-wrap to token display containers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add flex-wrap class to both today and total token stat containers - Allows token numbers and costs to wrap on smaller screens - Improves responsive layout for token statistics display 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- web/admin/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/admin/index.html b/web/admin/index.html index 8b3f16f9..99e076bf 100644 --- a/web/admin/index.html +++ b/web/admin/index.html @@ -284,7 +284,7 @@

今日Token

-
+

{{ formatNumber((dashboardData.todayInputTokens || 0) + (dashboardData.todayOutputTokens || 0) + (dashboardData.todayCacheCreateTokens || 0) + (dashboardData.todayCacheReadTokens || 0)) }}

/ {{ costsData.todayCosts.formatted.totalCost }}
@@ -307,7 +307,7 @@

总Token消耗

-
+

{{ formatNumber((dashboardData.totalInputTokens || 0) + (dashboardData.totalOutputTokens || 0) + (dashboardData.totalCacheCreateTokens || 0) + (dashboardData.totalCacheReadTokens || 0)) }}

/ {{ costsData.totalCosts.formatted.totalCost }}
From 53e9e421c885a32cafeb858d036acaac393dfe63 Mon Sep 17 00:00:00 2001 From: Gemini Wen Date: Sun, 27 Jul 2025 10:02:16 +0800 Subject: [PATCH 3/5] feat: format numbers >= billion with k suffix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update formatNumber function to display numbers >= 1 billion with 'k' suffix - Example: 2,500,000,000 displays as '2,500,000k' for better readability - Improves token statistics display for large numbers 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- web/admin/app.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/web/admin/app.js b/web/admin/app.js index ad0a7682..477d48f6 100644 --- a/web/admin/app.js +++ b/web/admin/app.js @@ -2488,7 +2488,11 @@ const app = createApp({ // 格式化数字,添加千分符 formatNumber(num) { if (num === null || num === undefined) return '0'; - return Number(num).toLocaleString(); + const number = Number(num); + if (number >= 1000000000) { + return (number / 1000).toLocaleString() + 'k'; + } + return number.toLocaleString(); }, // 格式化运行时间 From 2dbcb9d6f3f4ce2c22095f2d88d5cbfddb2d2f59 Mon Sep 17 00:00:00 2001 From: Gemini Wen Date: Sun, 27 Jul 2025 10:04:21 +0800 Subject: [PATCH 4/5] fix: remove decimal points from k-formatted numbers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Use Math.floor() to display whole numbers for billion+ values - Example: 2,500,123,456 displays as '2,500,123k' instead of '2,500,123.456k' - Cleaner display for large token numbers 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- web/admin/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/admin/app.js b/web/admin/app.js index 477d48f6..c6eb3d70 100644 --- a/web/admin/app.js +++ b/web/admin/app.js @@ -2490,7 +2490,7 @@ const app = createApp({ if (num === null || num === undefined) return '0'; const number = Number(num); if (number >= 1000000000) { - return (number / 1000).toLocaleString() + 'k'; + return Math.floor(number / 1000).toLocaleString() + 'k'; } return number.toLocaleString(); }, From 5ca568e693659785d4f622ad161c94aea9bd3b0a Mon Sep 17 00:00:00 2001 From: Gemini Wen Date: Sun, 27 Jul 2025 10:50:39 +0800 Subject: [PATCH 5/5] feat: format numbers >= million with M suffix and remove billion k formatting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update formatNumber function to display numbers >= 1 million with 'M' suffix - Remove previous billion formatting with 'k' suffix - Example: 2,500,000 displays as '2M' for better readability - Use Math.floor() to ensure no decimal points in formatted numbers 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- web/admin/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/admin/app.js b/web/admin/app.js index c6eb3d70..2910ca4b 100644 --- a/web/admin/app.js +++ b/web/admin/app.js @@ -2489,8 +2489,8 @@ const app = createApp({ formatNumber(num) { if (num === null || num === undefined) return '0'; const number = Number(num); - if (number >= 1000000000) { - return Math.floor(number / 1000).toLocaleString() + 'k'; + if (number >= 1000000) { + return Math.floor(number / 1000000).toLocaleString() + 'M'; } return number.toLocaleString(); },