diff --git a/app/(admin)/settings/admin-settings-client.tsx b/app/(admin)/settings/admin-settings-client.tsx index 3a064a746..743afdb01 100644 --- a/app/(admin)/settings/admin-settings-client.tsx +++ b/app/(admin)/settings/admin-settings-client.tsx @@ -1969,7 +1969,7 @@ export function AdminSettingsClient() { value: formatAnalyticsNumber(analyticsData?.overview.totalUsers), note: "参与生成的用户数", icon: Users, - tone: "from-emerald-500/15 via-emerald-500/5 to-transparent text-emerald-700", + tone: "from-emerald-500/15 via-emerald-500/5 to-transparent text-emerald-700 dark:text-emerald-200", }, { key: "today-images", @@ -1977,7 +1977,7 @@ export function AdminSettingsClient() { value: formatAnalyticsNumber(analyticsData?.overview.todayImages), note: `${formatAnalyticsNumber(analyticsData?.overview.todayUsers)} 位用户`, icon: TrendingUp, - tone: "from-amber-500/20 via-amber-500/5 to-transparent text-amber-700", + tone: "from-amber-500/20 via-amber-500/5 to-transparent text-amber-700 dark:text-amber-200", }, { key: "month-images", @@ -1985,7 +1985,7 @@ export function AdminSettingsClient() { value: formatAnalyticsNumber(analyticsData?.overview.monthImages), note: `${formatAnalyticsNumber(analyticsData?.overview.monthUsers)} 位用户`, icon: Calendar, - tone: "from-lime-400/25 via-lime-300/10 to-transparent text-lime-700", + tone: "from-lime-400/25 via-lime-300/10 to-transparent text-lime-700 dark:text-lime-200", }, ]; }, [analyticsData?.overview, selectedMonth]); @@ -9389,26 +9389,26 @@ export function AdminSettingsClient() { {/* 🆕 数据分析 */} - - + +
analytics overview
- + 生成与运营总览 统一展示生成规模、活跃用户、趋势波动、模型分布和分辨率结构。
-
+
{formatAnalyticsMonthLabel(selectedMonth)} {selectedDate ? ( - + {selectedDate} ) : null} @@ -9423,7 +9423,7 @@ export function AdminSettingsClient() { return (
-
+
@@ -9451,7 +9451,7 @@ export function AdminSettingsClient() { - +
filters & pulse @@ -9463,12 +9463,12 @@ export function AdminSettingsClient() {
-
+
setSelectedMonth(e.target.value)} type="month" value={selectedMonth} @@ -9485,8 +9485,8 @@ export function AdminSettingsClient() { ) : null}
-
-
+
+
高峰时段
@@ -9502,7 +9502,7 @@ export function AdminSettingsClient() {
-
+
领先模型 @@ -9525,20 +9525,20 @@ export function AdminSettingsClient() {
-
+
recent months
{analyticsRecentMonths.slice(-3).map((stat) => (
{stat.month.slice(5)}
-
+
{formatAnalyticsNumber(stat.count)}
@@ -9549,7 +9549,7 @@ export function AdminSettingsClient() { - +
throughput @@ -9564,7 +9564,7 @@ export function AdminSettingsClient() { 近 30 天生成量 点击柱体联动小时分布
-
+
{analyticsData?.dailyStats?.map((stat, index) => { const maxCount = Math.max( ...(analyticsData.dailyStats?.map((s) => s.count) || [1]) @@ -9579,10 +9579,10 @@ export function AdminSettingsClient() { className={cn( "relative flex-1 cursor-pointer rounded-full transition-all", isSelected - ? "bg-zinc-950" + ? "bg-zinc-950 dark:bg-zinc-100" : isHovered ? "bg-lime-400" - : "bg-zinc-300 hover:bg-zinc-400" + : "bg-zinc-300 hover:bg-zinc-400 dark:bg-zinc-700 dark:hover:bg-zinc-600" )} key={stat.date} onClick={() => @@ -9602,7 +9602,7 @@ export function AdminSettingsClient() { style={{ height: `${Math.max(height, 5)}%` }} > {isHovered ? ( -
+
{stat.date} · {formatAnalyticsNumber(stat.count)} 次
) : null} @@ -9617,7 +9617,7 @@ export function AdminSettingsClient() { - +
hourly load @@ -9634,7 +9634,7 @@ export function AdminSettingsClient() { 小时分布 {selectedDate || "默认最近样本"}
-
+
{Array.from({ length: 24 }, (_, hour) => { const stat = analyticsData?.hourlyStats?.find( (item) => item.hour === hour @@ -9655,10 +9655,10 @@ export function AdminSettingsClient() { selectedDate ? isHovered ? "bg-orange-500" - : "bg-orange-300" + : "bg-orange-300 dark:bg-orange-500/60" : isHovered ? "bg-lime-500" - : "bg-zinc-300" + : "bg-zinc-300 dark:bg-zinc-700" )} key={hour} onMouseEnter={() => @@ -9673,7 +9673,7 @@ export function AdminSettingsClient() { style={{ height: `${Math.max(height, 4)}%` }} > {isHovered ? ( -
+
{String(hour).padStart(2, "0")}:00 ·{" "} {formatAnalyticsNumber(count)} 次
@@ -9690,7 +9690,7 @@ export function AdminSettingsClient() { - +
top users @@ -9702,7 +9702,7 @@ export function AdminSettingsClient() {
{analyticsData?.userStats?.slice(0, 10).map((user, index) => (
@@ -9712,14 +9712,14 @@ export function AdminSettingsClient() { index === 0 ? "bg-zinc-950 text-white" : index < 3 - ? "bg-lime-100 text-lime-700" - : "bg-white text-zinc-600" + ? "bg-lime-100 text-lime-700 dark:bg-lime-500/15 dark:text-lime-200" + : "bg-white text-zinc-600 dark:bg-zinc-800 dark:text-zinc-300" )} > {index + 1}
-
+
{user.userName || user.userEmail?.split("@")[0]}
@@ -9728,7 +9728,7 @@ export function AdminSettingsClient() {
-
+
{formatAnalyticsNumber(user.imageCount)}
@@ -9738,7 +9738,7 @@ export function AdminSettingsClient() {
))} {(!analyticsData?.userStats || analyticsData.userStats.length === 0) && ( -
+
暂无用户排行数据
)} @@ -9746,7 +9746,7 @@ export function AdminSettingsClient() { - +
output sizes @@ -9765,19 +9765,19 @@ export function AdminSettingsClient() { ); return (
{stat.imageSize}
-
+
{formatAnalyticsNumber(stat.count)}
占比 {percentage}
-
+
- - + +
model usage
@@ -9812,7 +9812,7 @@ export function AdminSettingsClient() { ); return (
@@ -9822,11 +9822,11 @@ export function AdminSettingsClient() { {index + 1}
-
+
{modelLabel}
- + {resolved.providerName || "未知提供商"} {formatAnalyticsNumber(stat.userCount)} 位用户 @@ -9835,7 +9835,7 @@ export function AdminSettingsClient() {
-
+
{formatAnalyticsNumber(stat.count)}
@@ -9843,17 +9843,17 @@ export function AdminSettingsClient() {
-
+
+
暂无模型使用数据
)} - +
provider distribution @@ -9893,18 +9893,18 @@ export function AdminSettingsClient() { const width = formatAnalyticsRatio(stat.count, total); return (
- + {stat.providerName || stat.providerType || "未知提供商"} {formatAnalyticsNumber(stat.count)} · {width}
-
+
- +
recent 7 days @@ -9929,29 +9929,29 @@ export function AdminSettingsClient() { const topModels = day.models.slice(0, 3); return (
-
+
{day.date}
当日共 {formatAnalyticsNumber(day.total)} 次生成
-
+
{formatAnalyticsNumber(day.models.length)} 个模型活跃
{topModels.map((stat) => (
- + {formatAnalyticsModelLabel( { modelName: stat.modelName, @@ -9971,7 +9971,7 @@ export function AdminSettingsClient() { ); })} {analyticsTrendDays.length === 0 ? ( -
+
暂无趋势数据
) : null}