← back to Wallco Ai
fix(chat-modal): hide #wallco-chat-fab when chat/pair/iso modal is open
8470994fa018778fdad0fa73addfe350a3d8bb64 · 2026-05-12 13:23:41 -0700 · SteveStudio2
Playwright review.spec.js #4 failed at locator.click('#chat-form button[type=submit]')
because the global #wallco-chat-fab floating action button was layered on
top of the design-review modal's Send button and intercepted the pointer
event. Fix is a 3-line CSS rule using :has() to hide the FAB whenever any
of the right-pinned modals (#chat-modal, #pair-modal, #iso-modal) carry
the .open class.
Also refresh the 3 isolate-visual snapshots — VR-1 picked up catalog
churn (4 newest designs differ from baseline) and VR-2/3 picked up the
isolate-modal redesign (DOMINANT COLOR + EXTRACTED PALETTE sections,
was just a single PALETTE block). Neither is a regression; both are
intentional sprint UI drift caught by the debate-team-fast panel.
Files touched
M server.jsM tests/integration/isolate-visual.spec.js-snapshots/1-designs-review-grid-desktop-local-chromium-darwin.pngM tests/integration/isolate-visual.spec.js-snapshots/2-isolate-open-palette-desktop-local-chromium-darwin.pngM tests/integration/isolate-visual.spec.js-snapshots/3-isolate-mobile-local-chromium-darwin.png
Diff
commit 8470994fa018778fdad0fa73addfe350a3d8bb64
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Tue May 12 13:23:41 2026 -0700
fix(chat-modal): hide #wallco-chat-fab when chat/pair/iso modal is open
Playwright review.spec.js #4 failed at locator.click('#chat-form button[type=submit]')
because the global #wallco-chat-fab floating action button was layered on
top of the design-review modal's Send button and intercepted the pointer
event. Fix is a 3-line CSS rule using :has() to hide the FAB whenever any
of the right-pinned modals (#chat-modal, #pair-modal, #iso-modal) carry
the .open class.
Also refresh the 3 isolate-visual snapshots — VR-1 picked up catalog
churn (4 newest designs differ from baseline) and VR-2/3 picked up the
isolate-modal redesign (DOMINANT COLOR + EXTRACTED PALETTE sections,
was just a single PALETTE block). Neither is a regression; both are
intentional sprint UI drift caught by the debate-team-fast panel.
---
server.js | 7 +++++++
...s-review-grid-desktop-local-chromium-darwin.png | Bin 901208 -> 1005290 bytes
...-open-palette-desktop-local-chromium-darwin.png | Bin 618169 -> 711319 bytes
.../3-isolate-mobile-local-chromium-darwin.png | Bin 126985 -> 92894 bytes
4 files changed, 7 insertions(+)
diff --git a/server.js b/server.js
index 479ea4f..79e65a9 100644
--- a/server.js
+++ b/server.js
@@ -2474,6 +2474,13 @@ ${_isAdmin ? `
#chat-form input:focus { border-color:#d2b15c; }
#chat-form button { padding:8px 14px; background:#d2b15c; color:#0f0e0c; border:none; cursor:pointer; font:inherit; font-weight:500; border-radius:2px; }
#chat-form button:disabled { opacity:.5; cursor:not-allowed; }
+ /* Hide the global wallco-chat FAB whenever the design-review chat /
+ pairings / isolate modals are open — otherwise the FAB sits on top
+ of the modal's Send button and intercepts pointer events. Caught by
+ Playwright review.spec.js #4. */
+ body:has(#chat-modal.open) #wallco-chat-fab,
+ body:has(#pair-modal.open) #wallco-chat-fab,
+ body:has(#iso-modal.open) #wallco-chat-fab { display: none !important; }
.admin-banner { background:#2a2825; color:#d2b15c; padding:6px 14px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
/* Isolate modal — left-pinned drawer; mirrors pair-modal styling */
:root { --modal-iso-w: 520px; }
diff --git a/tests/integration/isolate-visual.spec.js-snapshots/1-designs-review-grid-desktop-local-chromium-darwin.png b/tests/integration/isolate-visual.spec.js-snapshots/1-designs-review-grid-desktop-local-chromium-darwin.png
index 9190623..93cd1b6 100644
Binary files a/tests/integration/isolate-visual.spec.js-snapshots/1-designs-review-grid-desktop-local-chromium-darwin.png and b/tests/integration/isolate-visual.spec.js-snapshots/1-designs-review-grid-desktop-local-chromium-darwin.png differ
diff --git a/tests/integration/isolate-visual.spec.js-snapshots/2-isolate-open-palette-desktop-local-chromium-darwin.png b/tests/integration/isolate-visual.spec.js-snapshots/2-isolate-open-palette-desktop-local-chromium-darwin.png
index f51808e..0306dd2 100644
Binary files a/tests/integration/isolate-visual.spec.js-snapshots/2-isolate-open-palette-desktop-local-chromium-darwin.png and b/tests/integration/isolate-visual.spec.js-snapshots/2-isolate-open-palette-desktop-local-chromium-darwin.png differ
diff --git a/tests/integration/isolate-visual.spec.js-snapshots/3-isolate-mobile-local-chromium-darwin.png b/tests/integration/isolate-visual.spec.js-snapshots/3-isolate-mobile-local-chromium-darwin.png
index fe2c0ea..b528384 100644
Binary files a/tests/integration/isolate-visual.spec.js-snapshots/3-isolate-mobile-local-chromium-darwin.png and b/tests/integration/isolate-visual.spec.js-snapshots/3-isolate-mobile-local-chromium-darwin.png differ
← 04336ef wallco.ai · nav basket-count chip auto-refreshes via custom
·
back to Wallco Ai
·
studio + tests: live tile preview, review.spec isolation, de 6eb8d92 →