refactor: trim dashboard card copy

This commit is contained in:
2026-05-09 16:23:17 +09:00
parent cd586c0c73
commit fa650562ce
2 changed files with 30 additions and 11 deletions

View File

@@ -646,9 +646,6 @@ function Dashboard() {
<Card className="md:col-span-2"> <Card className="md:col-span-2">
<CardHeader> <CardHeader>
<CardTitle>Unified capacity</CardTitle> <CardTitle>Unified capacity</CardTitle>
<CardDescription>
Fast glance card for the first two numeric metrics extracted from the merged usage payload.
</CardDescription>
</CardHeader> </CardHeader>
<CardContent className="space-y-4"> <CardContent className="space-y-4">
<div className="flex items-end justify-between gap-4"> <div className="flex items-end justify-between gap-4">
@@ -711,9 +708,6 @@ function Dashboard() {
<Card className="min-w-0"> <Card className="min-w-0">
<CardHeader> <CardHeader>
<CardTitle>Usage metrics</CardTitle> <CardTitle>Usage metrics</CardTitle>
<CardDescription>
CodexDash extracts numeric leaf nodes from the aggregated usage payload for quick overview cards.
</CardDescription>
</CardHeader> </CardHeader>
<CardContent className="min-w-0"> <CardContent className="min-w-0">
{metricCards.length === 0 ? ( {metricCards.length === 0 ? (
@@ -742,7 +736,7 @@ function Dashboard() {
<JsonViewer <JsonViewer
title="Merged payload" title="Merged payload"
description="Raw aggregated JSON merged from every attached OpenAI Codex account." description="Combined raw JSON."
value={summary.aggregatedUsage ?? { message: 'No data yet' }} value={summary.aggregatedUsage ?? { message: 'No data yet' }}
/> />
</div> </div>
@@ -750,9 +744,7 @@ function Dashboard() {
<Card className="mt-6"> <Card className="mt-6">
<CardHeader> <CardHeader>
<CardTitle>Connected OpenAI accounts</CardTitle> <CardTitle>Connected OpenAI accounts</CardTitle>
<CardDescription> <CardDescription>Merged by default. Inspect each account below.</CardDescription>
By default, these accounts are merged into one Codex usage view. Switch tabs to inspect individual account payloads and timestamps.
</CardDescription>
</CardHeader> </CardHeader>
<CardContent> <CardContent>
{summary.accounts.length === 0 ? ( {summary.accounts.length === 0 ? (
@@ -840,7 +832,7 @@ function Dashboard() {
</div> </div>
<JsonViewer <JsonViewer
title="Account payload" title="Account payload"
description="Most recent raw usage JSON for this specific OpenAI Codex account." description="Raw JSON for this account."
value={ value={
account.usage ?? { account.usage ?? {
message: account.lastError || 'No usage fetched yet', message: account.lastError || 'No usage fetched yet',

View File

@@ -0,0 +1,27 @@
import { describe, expect, test } from 'bun:test';
import { readFileSync } from 'node:fs';
import { join } from 'node:path';
const appSource = readFileSync(join(import.meta.dir, '../src/App.tsx'), 'utf8');
describe('dashboard card copy', () => {
test('removes verbose dashboard card descriptions and keeps concise labels', () => {
expect(appSource).toContain('<CardTitle>Unified capacity</CardTitle>');
expect(appSource).toContain('<CardTitle>Usage metrics</CardTitle>');
expect(appSource).toContain('<CardTitle>Connected OpenAI accounts</CardTitle>');
expect(appSource).toContain('description="Combined raw JSON."');
expect(appSource).toContain(">Merged by default. Inspect each account below.<");
expect(appSource).not.toContain(
'Fast glance card for the first two numeric metrics extracted from the merged usage payload.',
);
expect(appSource).not.toContain(
'CodexDash extracts numeric leaf nodes from the aggregated usage payload for quick overview cards.',
);
expect(appSource).not.toContain(
'Raw aggregated JSON merged from every attached OpenAI Codex account.',
);
expect(appSource).not.toContain(
'By default, these accounts are merged into one Codex usage view. Switch tabs to inspect individual account payloads and timestamps.',
);
});
});