diff --git a/internal/gui/assets/routing.css b/internal/gui/assets/routing.css index a4349ca9..10ca6ef7 100644 --- a/internal/gui/assets/routing.css +++ b/internal/gui/assets/routing.css @@ -470,7 +470,8 @@ button.rt-session { cursor: pointer; } } .rt-cond:hover { color: var(--fg); border-color: var(--muted); } .rt-cond.on { border-style: solid; color: var(--fg); background: var(--card-2); } -.rt-cond .ic { width: 14px; height: 14px; flex: none; } +/* a chip in a Settings row too, where .row .ic makes icons 18–22px (duanckham on X) */ +.rt-cond .ic, .row .rt-cond .ic, body.window .row .rt-cond .ic { width: 14px; height: 14px; flex: none; } .rt-cond > span { overflow: hidden; text-overflow: ellipsis; } /* a group's logos overlap in discs whose rings sit outside them: clipped, the first lost its edge */ .rt-cond > .ic-stack { overflow: visible; } diff --git a/internal/gui/tests/codex-titles.test.cjs b/internal/gui/tests/codex-titles.test.cjs index 7f6a19ad..f6c4ad1f 100644 --- a/internal/gui/tests/codex-titles.test.cjs +++ b/internal/gui/tests/codex-titles.test.cjs @@ -94,6 +94,8 @@ for (const engine of (process.env.BROWSER ? [process.env.BROWSER] : ["chromium", assert.equal((await row.locator(".name").textContent()).trim(), want[lang].name); assert.equal((await pick.textContent()).trim(), want[lang].own, "Codex's own by default"); assert.match(await row.locator(".sub").textContent(), want[lang].subOwn); + // the chip's icon is the chip's size, not the row's 18–22px (duanckham on X) + assert.deepEqual(await pick.locator(".ic").evaluate((e) => [e.offsetWidth, e.offsetHeight]), [14, 14]); // scrolled by a wheel till the row is mid-view, so a click that // moved the page would show