merge: fix billing usage summary and user balance display

This commit is contained in:
john
2026-07-31 17:30:27 +08:00
2 changed files with 37 additions and 6 deletions
+14 -6
View File
@@ -432,11 +432,9 @@ function UsageOverviewPanel() {
setLoadingSummary(true);
setError(null);
try {
const chartRange = start && end
? { startDate: start, endDate: end }
: presetDateRange(30);
const { startAt, endAt } = dateRangeToUnix(chartRange.startDate, chartRange.endDate);
const data = await getAdminUsageSummary({ startAt, endAt });
const data = start && end
? await getAdminUsageSummary(dateRangeToUnix(start, end))
: await getAdminUsageSummary();
setSummary(data);
} catch (err) {
setError(err instanceof Error ? err.message : '汇总加载失败');
@@ -476,7 +474,7 @@ function UsageOverviewPanel() {
const rangeSummaryLabel = hasDateFilter
? `区间汇总(${startDate}${endDate}`
: '区间汇总(近 30 天)';
: '';
return (
<>
@@ -690,6 +688,16 @@ function UsageQueryPanel() {
<p className="muted billing-empty"></p>
)}
{userId && loading && !result && !stats && <p className="muted"></p>}
{userId && selectedUser && (
<div className="usage-user-balance-bar">
<span className="usage-user-balance-name">
{selectedUser.displayName}
<span className="muted"> @{selectedUser.username}</span>
</span>
<span className="usage-user-balance-label muted"></span>
<span className="usage-user-balance-value">¥{formatYuan(selectedUser.balanceCents)}</span>
</div>
)}
{userId && (
<UsageSummaryPanel
summary={summary}
+23
View File
@@ -2135,6 +2135,29 @@ body,
margin-bottom: 16px;
}
.usage-user-balance-bar {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 8px 16px;
margin-bottom: 16px;
padding: 12px 16px;
border: 1px solid var(--color-border-subtle);
border-radius: var(--radius-md);
background: var(--color-bg-subtle);
}
.usage-user-balance-name {
font-weight: 600;
margin-right: auto;
}
.usage-user-balance-value {
font-size: 20px;
font-weight: 600;
font-variant-numeric: tabular-nums;
}
.usage-summary-panel {
display: flex;
flex-direction: column;