Isolate server search from the delete password prompt

The delete confirmation adds a password field. Browsers and password managers
paired it with the only other text field on the page and filled the account
name into the server search box on the server list.

The search input now stays out of the DOM while a delete confirmation is open,
and the toolbar shows a suspended notice styled to match the field it replaces
so the row does not jump. A jsdom test drives the real action menu and dialog
instead of asserting page source strings.
This commit is contained in:
npc0-hue
2026-09-15 12:25:17 +08:00
parent a822e9250a
commit 4ea27bda6a
4 changed files with 176 additions and 13 deletions
+7
View File
@@ -224,6 +224,13 @@ describe("platform web shared theme CSS", () => {
expect(css).toContain(".guided-install-planol,.maintenance-node-item");
});
it("keeps the suspended server search aligned with the search field it replaces", () => {
const css = compact(readThemeCss());
expect(css).toContain(".server-toolbar.server-search-suspended{flex:11220px;display:inline-flex;align-items:center;min-height:38px");
expect(css).toContain("border:1pxdashedvar(--line)");
});
it("keeps magical card decoration from becoming square background patches", () => {
const css = compact(readThemeCss());
+1
View File
@@ -455,6 +455,7 @@ to{transform:translate(-50%,-50%) rotate(calc(var(--construct-drift) + 360deg))}
.server-toolbar select{min-height:38px;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;background:var(--surface-solid);color:var(--ink);font:inherit;min-width:180px}
.server-toolbar select:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}
.server-toolbar input[type=search]:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}
.server-toolbar .server-search-suspended{flex:1 1 220px;display:inline-flex;align-items:center;min-height:38px;border:1px dashed var(--line);border-radius:8px;padding:0 12px;background:color-mix(in srgb,var(--surface-solid) 72%,transparent);color:var(--ink-faint);font:inherit}
.server-file-manager{display:grid;gap:10px}
.server-file-pathbar{display:flex;align-items:center;gap:8px;min-width:0;padding:0 0 10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.server-file-back-icon{transform:rotate(180deg)}