mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-05-25 03:00:23 +00:00
Repair selected text reply review blockers
This commit is contained in:
+3
-2
@@ -1847,9 +1847,10 @@
|
||||
.msg-row:hover .msg-actions{opacity:1;}
|
||||
.msg-action-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:2px 5px;border-radius:5px;transition:color .12s,background .12s;line-height:1;}
|
||||
.msg-action-btn:hover{color:var(--accent-text);background:var(--accent-bg);}
|
||||
.selected-text-reply-btn{position:fixed;z-index:1200;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--accent-bg-strong);border-radius:999px;background:var(--surface);color:var(--accent-text);box-shadow:0 8px 24px rgba(0,0,0,.22);font-size:12px;font-weight:600;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease,background .12s ease,border-color .12s ease;}
|
||||
.selected-text-reply-btn{position:fixed;z-index:1200;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:2px solid var(--accent);border-radius:999px;background:var(--bg);color:var(--text);box-shadow:0 8px 24px rgba(0,0,0,.26),0 0 0 1px var(--surface);font-size:12px;font-weight:700;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease,background .12s ease,border-color .12s ease;}
|
||||
.selected-text-reply-btn.visible{opacity:1;pointer-events:auto;transform:translateY(0);}
|
||||
.selected-text-reply-btn:hover,.selected-text-reply-btn:focus-visible{background:var(--accent-bg);border-color:var(--accent);outline:none;}
|
||||
.selected-text-reply-btn:hover{background:var(--accent-bg);border-color:var(--accent-hover);}
|
||||
.selected-text-reply-btn:focus-visible{background:var(--accent-bg);border-color:var(--accent-hover);outline:2px solid var(--focus-ring);outline-offset:2px;}
|
||||
/* TTS speaker button: hidden by default, shown when TTS is enabled.
|
||||
* Use body-class selector instead of JS inline-style so the rule survives
|
||||
* subsequent renderMd() passes and is not subject to inline-style cascade
|
||||
|
||||
@@ -10,12 +10,17 @@ def read(rel: str) -> str:
|
||||
|
||||
|
||||
def _locale_blocks(src: str) -> dict[str, str]:
|
||||
matches = list(re.finditer(r"\n ([a-z]{2}(?:-[A-Z]{2})?): \{", src))
|
||||
matches = list(
|
||||
re.finditer(
|
||||
r"\n (?:(['\"])([A-Za-z][A-Za-z0-9-]*)\1|([A-Za-z][A-Za-z0-9-]*)): \{",
|
||||
src,
|
||||
)
|
||||
)
|
||||
blocks: dict[str, str] = {}
|
||||
for idx, match in enumerate(matches):
|
||||
start = match.end()
|
||||
end = matches[idx + 1].start() if idx + 1 < len(matches) else src.rfind("\n};")
|
||||
blocks[match.group(1)] = src[start:end]
|
||||
blocks[match.group(2) or match.group(3)] = src[start:end]
|
||||
return blocks
|
||||
|
||||
|
||||
@@ -67,9 +72,14 @@ def test_selected_text_reply_styles_and_i18n_exist_for_all_locales():
|
||||
assert "position:fixed" in css
|
||||
assert "pointer-events:none" in css
|
||||
assert "pointer-events:auto" in css
|
||||
assert "border:2px solid var(--accent)" in css
|
||||
assert "background:var(--bg)" in css
|
||||
assert "color:var(--text)" in css
|
||||
assert "outline:2px solid var(--focus-ring)" in css
|
||||
|
||||
blocks = _locale_blocks(i18n)
|
||||
assert blocks, "No locale blocks found"
|
||||
assert "zh-Hant" in blocks, "Locale parser must include quoted script locales"
|
||||
required = {
|
||||
"selected_text_reply",
|
||||
"selected_text_reply_title",
|
||||
|
||||
Reference in New Issue
Block a user