feat: apply B-147 visual tokens to screener, review and account surfaces
Unify intelligent screener, review workspace, and account/admin chrome with shared tokens, table density, and left-aligned first columns. Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
co-authored by
Cursor
multica-agent
parent
ee37223722
commit
22d4dcd339
@@ -3300,3 +3300,80 @@ test("merged header keeps date, detail fields and 13 pool columns after dual-rev
|
||||
}
|
||||
await expect(page.locator("#dataDateMetric")).toBeVisible();
|
||||
});
|
||||
|
||||
test("B-199 screener review and account surfaces fit day night viewports", async ({ page }) => {
|
||||
const fs = require("node:fs");
|
||||
const path = require("node:path");
|
||||
const shotDir = path.join(__dirname, "../../runtime/b199-shots");
|
||||
fs.mkdirSync(shotDir, { recursive: true });
|
||||
const pageErrors = [];
|
||||
page.on("pageerror", (error) => pageErrors.push(String(error)));
|
||||
|
||||
const overflowX = () => page.evaluate(() => document.documentElement.scrollWidth - window.innerWidth);
|
||||
const shot = (name) => page.screenshot({ path: path.join(shotDir, `${name}.png`), fullPage: true });
|
||||
|
||||
await mockApplication(page, session("admin", true));
|
||||
await page.setViewportSize({ width: 1600, height: 1000 });
|
||||
await page.goto("/index.html");
|
||||
|
||||
await page.locator('[data-view="screenerView"]').first().click();
|
||||
await expect(page.locator("#screenerView")).toHaveClass(/active-view/);
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("screener-1600-day");
|
||||
|
||||
await page.locator('[data-view="reviewWorkspaceView"]').first().click();
|
||||
await expect(page.locator("#reviewWorkspaceView")).toHaveClass(/active-view/);
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("review-1600-day");
|
||||
|
||||
await openHeaderCommandMenu(page);
|
||||
await page.locator("#accountButton").click();
|
||||
await page.locator('[data-account-panel="membership"]').click();
|
||||
await expect(page.locator("#settingsDialog")).toBeVisible();
|
||||
await shot("account-1600-day");
|
||||
await page.locator("#closeSettingsDialog").click();
|
||||
|
||||
await openHeaderCommandMenu(page);
|
||||
await page.locator("#settingsButton").click();
|
||||
await expect(page.locator("#adminDialog")).toBeVisible();
|
||||
await shot("admin-1600-day");
|
||||
await page.locator("#closeAdminDialog").click();
|
||||
|
||||
await page.locator("#themeToggle").click();
|
||||
await expect(page.locator("html")).toHaveAttribute("data-theme", "dark");
|
||||
await page.locator('[data-view="screenerView"]').first().click();
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("screener-1600-night");
|
||||
await page.locator('[data-view="reviewWorkspaceView"]').first().click();
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("review-1600-night");
|
||||
|
||||
await page.setViewportSize({ width: 1280, height: 800 });
|
||||
await page.locator('[data-view="screenerView"]').first().click();
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("screener-1280-night");
|
||||
await page.locator('[data-view="reviewWorkspaceView"]').first().click();
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("review-1280-night");
|
||||
|
||||
await page.locator("#themeToggle").click();
|
||||
await expect(page.locator("html")).toHaveAttribute("data-theme", "light");
|
||||
await page.locator('[data-view="screenerView"]').first().click();
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("screener-1280-day");
|
||||
await page.locator('[data-view="reviewWorkspaceView"]').first().click();
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("review-1280-day");
|
||||
|
||||
await page.locator('[data-view="screenerView"]').first().click();
|
||||
await page.setViewportSize({ width: 390, height: 844 });
|
||||
await expect(page.locator("#screenerView")).toHaveClass(/active-view/);
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("screener-390-day");
|
||||
await page.locator(".mobile-primary-tab[data-view=\"reviewWorkspaceView\"]").click();
|
||||
await expect(page.locator("#reviewWorkspaceView")).toHaveClass(/active-view/);
|
||||
expect(await overflowX()).toBeLessThanOrEqual(1);
|
||||
await shot("review-390-day");
|
||||
|
||||
expect(pageErrors).toEqual([]);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user