From 45fc5a0d753019e73d86bbd8a3c436ac4b469da1 Mon Sep 17 00:00:00 2001 From: Kieran Klukas Date: Wed, 12 Aug 2026 12:26:56 -0400 Subject: [PATCH] fix: the current model hovers like every other row --- src/client/app.css | 8 ++++---- src/client/app.js | 7 +++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/client/app.css b/src/client/app.css index 4916b35..4b1c413 100644 --- a/src/client/app.css +++ b/src/client/app.css @@ -2859,7 +2859,10 @@ body.resizing { margin-top: 2px; } /* The current model is marked with a tick, not a filled background: the menu is - mostly one row, and a highlighted lone row reads as hover rather than state. */ + mostly one row, and a highlighted lone row reads as hover rather than state. + Nothing else styles the selected row, deliberately — it used to carry + `background: none`, which sat after the hover rule at equal specificity and + silently killed hover on the one row you are most likely to point at. */ .picker .optcheck { flex: none; display: inline-flex; @@ -2869,9 +2872,6 @@ body.resizing { width: 15px; height: 15px; } -.picker .opt[aria-selected="true"] { - background: none; -} .pickrule { height: 1px; margin: 5px 8px; diff --git a/src/client/app.js b/src/client/app.js index 35d926d..3327117 100644 --- a/src/client/app.js +++ b/src/client/app.js @@ -3608,6 +3608,13 @@ import { mountSidebar } from "./sidebar.js"; b.querySelector(".name").textContent = m.name; if (isCurrent) b.insertAdjacentHTML("beforeend", '' + CHECK + ""); b.onclick = function () { + // Picking the model already in use is a way of saying "never mind": close, + // and change nothing. Re-selecting it would rebuild the menu under the + // pointer and write a preference that was already written. + if (isCurrent) { + closePicker(); + return; + } selected = m; localStorage.setItem("kloe.model", m.ref); renderPill(); -- 2.51.2