* feat(app): add AMOLED and all four Catppuccin themes Add an AMOLED theme (pure black background) and the four official Catppuccin flavors (Latte light, Frappé/Macchiato/Mocha dark) to the appearance picker. Generalize the dark-theme builder to support a light surface variant, register the new themes with Unistyles, and patch all registered theme keys when applying font/syntax appearance settings. * fix(app): localize Catppuccin + AMOLED theme labels across language packs The initial theme commit pasted the English brand/flavor labels into every locale. Localize them following each pack's convention: transliterate Catppuccin and the coffee-flavor names into Arabic/Russian scripts, use katakana/hanzi equivalents in ja/zh-CN, and standard loanwords in fr/es/pt-BR. AMOLED is a universal acronym and stays as-is except where the pack transliterates (Arabic). * fix(app): make Latte terminal ANSI colors readable * test(app): cover appearance theme picker options * refactor(app): scope theme PR to AMOLED * refactor(app): rename AMOLED theme to Pure Black * fix(app): refine Pure black appearance * test(app): wait for sidebar toggle icon * test(app): remove hover timing race --------- Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
27 lines
1015 B
TypeScript
27 lines
1015 B
TypeScript
import { expect, test, type Page } from "../support/fixtures";
|
|
|
|
test.use({ viewport: { width: 1600, height: 900 } });
|
|
|
|
async function expectBorderHighlight(page: Page, testID: string) {
|
|
const handle = page.getByTestId(testID);
|
|
await expect(handle).toBeVisible();
|
|
await expect(page.getByTestId(`${testID}-highlight`)).toHaveCount(0);
|
|
|
|
await handle.hover();
|
|
|
|
const highlight = page.getByTestId(`${testID}-highlight`);
|
|
await expect(highlight).toBeVisible();
|
|
await expect(highlight).toHaveCSS("width", "1px");
|
|
await expect(highlight).not.toHaveCSS("background-color", "rgba(0, 0, 0, 0)");
|
|
}
|
|
|
|
test("both sidebar borders highlight on hover", async ({ page, withWorkspace }) => {
|
|
const workspace = await withWorkspace({ prefix: "sidebar-resize-handle-" });
|
|
await workspace.navigateTo();
|
|
|
|
await expectBorderHighlight(page, "left-sidebar-resize-handle");
|
|
|
|
await page.getByTestId("workspace-explorer-toggle").first().click();
|
|
await expectBorderHighlight(page, "explorer-sidebar-resize-handle");
|
|
});
|