style(ui): unify subpage tabs and tighten usage layout

Move agent detection into the client list, simplify usage filters and pagination, and route interface text through the shared type scale. Subpage navigation now uses underlined tabs instead of segmented controls.
This commit is contained in:
lzt404 committed 2026-10-04 17:31:52 +08:00
1 parent 5aff4d8a58
commit 6dc8650e68
10 files changed
+221 -123

No files matched your search

+1 -1
View File
@@ -32,7 +32,7 @@ const desktopViewports = [
});
await page.waitForFunction(() => window.fixtureCalls.some(call => call.cmd === 'get_agent_config_statuses')
&& document.querySelector('.agent-config-panel')?.getBoundingClientRect().height > 0
&& !document.querySelector('.agent-header-actions button')?.disabled);
&& !document.querySelector('.agent-client-list-heading button')?.disabled);
await page.evaluate(() => document.fonts.ready);
};
+1 -1
View File
@@ -16,7 +16,7 @@ const path = require('node:path');
const open = async query => {
await page.goto('http://localhost:1421/tests/fixtures/agent-backups.html?reset-selections&' + query);
await page.waitForFunction(() => {
const refresh = document.querySelector('.agent-header-actions button');
const refresh = document.querySelector('.agent-client-list-heading button');
return refresh && !refresh.disabled && document.querySelector('.agent-model-trigger, .agent-desktop-models')
&& window.fixtureCalls.some(call => call.cmd === 'get_agent_models');
});
+1 -1
View File
@@ -28,7 +28,7 @@ const base = 'http://127.0.0.1:1421';
await page.goto(`${base}/tests/fixtures/agent-backups.html?reset-selections&client=codex&${query}`, { waitUntil: 'domcontentloaded' });
await update().waitFor();
await page.waitForFunction(() => {
const button = document.querySelector('.agents-page .management-header button');
const button = document.querySelector('.agent-client-list-heading button');
return window.fixtureCalls.some(call => call.cmd === 'get_agent_models') && button && !button.disabled;
});
};
+1 -1
View File
@@ -18,7 +18,7 @@ const assert = require('node:assert/strict');
assert.equal(await page.locator('[role=tab][aria-selected=true]').count(), 1);
};
const ready = () => page.waitForFunction(() => {
const refresh = document.querySelector('.agent-header-actions button');
const refresh = document.querySelector('.agent-client-list-heading button');
return refresh && !refresh.disabled && window.fixtureCalls.some(call => call.cmd === 'get_agent_models');
});
const open = async query => {