fix(ui): prevent overview access grid layout overlap on resize (#56924)

Merged via squash.

Prepared head SHA: ab327093fc
Co-authored-by: bbddbb1 <75060417+bbddbb1@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
This commit is contained in:
bbddbb
2026-04-05 05:39:25 +08:00
committed by GitHub
parent 8b06ca205a
commit 96aea0a6d6
2 changed files with 7 additions and 6 deletions

View File

@@ -111,6 +111,7 @@ Docs: https://docs.openclaw.ai
- Agents/compaction: keep assistant tool calls and displaced tool results in the same compaction chunk so strict summarization providers stop rejecting orphaned tool pairs. (#58849) Thanks @openperf.
- Outbound/sanitizer: strip leaked `<tool_call>`, `<function_calls>`, and model special tokens from shared user-visible assistant text, including truncated tool-call streams, so internal scaffolding no longer bleeds into replies across surfaces. (#60619) Thanks @oliviareid-svg.
- Control UI/avatar: honor `ui.assistant.avatar` when serving `/avatar/:agentId` so Appearance UI avatar paths stop falling back to initials placeholders. (#60778) Thanks @hannasdev.
- Control UI/Overview: prevent gateway access token/password visibility toggle buttons from overlapping their inputs at narrow widths. (#56924) Thanks @bbddbb1.
## 2026.4.2

View File

@@ -221,11 +221,11 @@ export function renderOverview(props: OverviewProps) {
: html`
<label class="field">
<span>${t("overview.access.token")}</span>
<div style="display: flex; align-items: center; gap: 8px;">
<div style="display: flex; align-items: center; gap: 8px; min-width: 0;">
<input
type=${props.showGatewayToken ? "text" : "password"}
autocomplete="off"
style="flex: 1;"
style="flex: 1 1 0%; min-width: 0; box-sizing: border-box;"
.value=${props.settings.token}
@input=${(e: Event) => {
const v = (e.target as HTMLInputElement).value;
@@ -236,7 +236,7 @@ export function renderOverview(props: OverviewProps) {
<button
type="button"
class="btn btn--icon ${props.showGatewayToken ? "active" : ""}"
style="width: 36px; height: 36px;"
style="flex-shrink: 0; width: 36px; height: 36px; box-sizing: border-box;"
title=${props.showGatewayToken ? "Hide token" : "Show token"}
aria-label="Toggle token visibility"
aria-pressed=${props.showGatewayToken}
@@ -248,11 +248,11 @@ export function renderOverview(props: OverviewProps) {
</label>
<label class="field">
<span>${t("overview.access.password")}</span>
<div style="display: flex; align-items: center; gap: 8px;">
<div style="display: flex; align-items: center; gap: 8px; min-width: 0;">
<input
type=${props.showGatewayPassword ? "text" : "password"}
autocomplete="off"
style="flex: 1;"
style="flex: 1 1 0%; min-width: 0; width: 100%; box-sizing: border-box;"
.value=${props.password}
@input=${(e: Event) => {
const v = (e.target as HTMLInputElement).value;
@@ -263,7 +263,7 @@ export function renderOverview(props: OverviewProps) {
<button
type="button"
class="btn btn--icon ${props.showGatewayPassword ? "active" : ""}"
style="width: 36px; height: 36px;"
style="flex-shrink: 0; width: 36px; height: 36px; box-sizing: border-box;"
title=${props.showGatewayPassword ? "Hide password" : "Show password"}
aria-label="Toggle password visibility"
aria-pressed=${props.showGatewayPassword}