From 2f28570334fe4eeb56ab25d05b8ea8470a538729 Mon Sep 17 00:00:00 2001 From: Admin Date: Mon, 21 Sep 2026 00:56:17 +0000 Subject: [PATCH] Sync dock panel visibility fix --- src/dock-ui.js | 7 ++++++- tests/wiring.test.mjs | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/dock-ui.js b/src/dock-ui.js index 6230244..bf410af 100644 --- a/src/dock-ui.js +++ b/src/dock-ui.js @@ -81,6 +81,7 @@ style.textContent = ` font-family: Georgia, 'Times New Roman', serif; } #dock-overlay[hidden] { display: none; } + #dock-overlay [hidden] { display: none !important; } .dock-backdrop { position: absolute; inset: 0; @@ -239,7 +240,11 @@ const panels = [...overlay.querySelectorAll('[data-panel]')]; let latestState = null; const setPanel = (name = 'home') => { - panels.forEach((panel) => { panel.hidden = panel.dataset.panel !== name; }); + panels.forEach((panel) => { + const active = panel.dataset.panel === name; + panel.hidden = !active; + panel.setAttribute('aria-hidden', active ? 'false' : 'true'); + }); }; const actionButton = (label, action, extra = {}, disabled = false) => { diff --git a/tests/wiring.test.mjs b/tests/wiring.test.mjs index bad89f7..1c2c65d 100644 --- a/tests/wiring.test.mjs +++ b/tests/wiring.test.mjs @@ -280,6 +280,9 @@ test('mobile controls enter a dock hub before shipyard, trade, or missions', asy assert.match(dockUi, /MISSIONS/); assert.match(dockUi, /TRADE/); assert.match(dockUi, /SHIPYARD/); + assert.match(dockUi, /#dock-overlay \[hidden\] \{ display: none !important; \}/); + assert.match(dockUi, /panel\.hidden = !active/); + assert.match(dockUi, /panel\.setAttribute\('aria-hidden'/); assert.match(dockUi, /dispatchAction\('open-shipyard'\)/); assert.match(hud, /buyButton\.textContent = badges\.length/); });