[object Object]

← 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

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 →