Publish: Ask-MSOS pill yields to cookie/language banners (in-app browser fix) #28
|
|
@ -18,6 +18,8 @@
|
||||||
bottom-right, so move the assistant to the bottom-left there. */
|
bottom-right, so move the assistant to the bottom-left there. */
|
||||||
.msa-root.msa-left { right: auto; left: 20px; }
|
.msa-root.msa-left { right: auto; left: 20px; }
|
||||||
.msa-root.msa-left .msa-panel { right: auto; left: 0; }
|
.msa-root.msa-left .msa-panel { right: auto; left: 0; }
|
||||||
|
/* Hidden while a bottom overlay (cookie consent / language banner) is up. */
|
||||||
|
.msa-root.msa-hidden { display: none !important; }
|
||||||
|
|
||||||
/* launcher */
|
/* launcher */
|
||||||
.msa-launch {
|
.msa-launch {
|
||||||
|
|
|
||||||
13
assistant.js
13
assistant.js
|
|
@ -321,6 +321,19 @@
|
||||||
root.querySelector(".msa-x").addEventListener("click", close);
|
root.querySelector(".msa-x").addEventListener("click", close);
|
||||||
root.querySelector(".msa-form").addEventListener("submit", function (e) { e.preventDefault(); submit(); });
|
root.querySelector(".msa-form").addEventListener("submit", function (e) { e.preventDefault(); submit(); });
|
||||||
document.addEventListener("keydown", function (e) { if (e.key === "Escape" && opened) close(); });
|
document.addEventListener("keydown", function (e) { if (e.key === "Escape" && opened) close(); });
|
||||||
|
|
||||||
|
// Yield to bottom-anchored overlays (cookie-consent banner, language
|
||||||
|
// banner) so the launcher never sits on top of their action buttons —
|
||||||
|
// important in in-app browsers (Instagram/Facebook) where everything
|
||||||
|
// stacks at the bottom. The pill reappears once they are dismissed.
|
||||||
|
(function () {
|
||||||
|
function overlayUp() {
|
||||||
|
return !!document.querySelector(".msos-cc") || !!document.querySelector(".lang-suggest");
|
||||||
|
}
|
||||||
|
function sync() { root.classList.toggle("msa-hidden", overlayUp()); }
|
||||||
|
try { new MutationObserver(sync).observe(document.body, { childList: true }); } catch (e) {}
|
||||||
|
sync();
|
||||||
|
})();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (document.readyState !== "loading") build();
|
if (document.readyState !== "loading") build();
|
||||||
|
|
|
||||||
|
|
@ -56,9 +56,9 @@
|
||||||
.lang-suggest {
|
.lang-suggest {
|
||||||
left: 16px;
|
left: 16px;
|
||||||
right: 16px;
|
right: 16px;
|
||||||
/* sit above the floating "Ask MSOS" pill (bottom-right, z-index above
|
/* The Ask-MSOS pill now hides while this banner is up (see assistant.js),
|
||||||
this banner) so it never covers the dismiss (×) button */
|
so the banner can sit at the bottom without colliding with it. */
|
||||||
bottom: 84px;
|
bottom: 16px;
|
||||||
transform: translateY(24px);
|
transform: translateY(24px);
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue