Add privacy modal

This commit is contained in:
2026-03-25 17:05:47 +01:00
parent b8253bd48b
commit dca16b202c
3 changed files with 241 additions and 1 deletions

View File

@@ -2,6 +2,9 @@ const flyover = document.querySelector("[data-contact-flyover]");
const flyoverPanel = document.querySelector(".contact-flyover__panel");
const openButtons = document.querySelectorAll("[data-open-contact]");
const closeButtons = document.querySelectorAll("[data-close-contact]");
const privacyFlyover = document.querySelector("[data-privacy-flyover]");
const openPrivacyButtons = document.querySelectorAll("[data-open-privacy]");
const closePrivacyButtons = document.querySelectorAll("[data-close-privacy]");
const copyButtons = document.querySelectorAll("[data-copy-value]");
let lastTrigger = null;
@@ -41,7 +44,23 @@ const openFlyover = (trigger) => {
const closeFlyover = () => {
if (!flyover) return;
flyover.hidden = true;
document.body.classList.remove("is-scroll-locked");
if (!privacyFlyover || privacyFlyover.hidden) {
document.body.classList.remove("is-scroll-locked");
}
};
const openPrivacyFlyover = () => {
if (!privacyFlyover) return;
privacyFlyover.hidden = false;
document.body.classList.add("is-scroll-locked");
};
const closePrivacyFlyover = () => {
if (!privacyFlyover) return;
privacyFlyover.hidden = true;
if (!flyover || flyover.hidden) {
document.body.classList.remove("is-scroll-locked");
}
};
openButtons.forEach((button) => {
@@ -52,10 +71,22 @@ closeButtons.forEach((button) => {
button.addEventListener("click", closeFlyover);
});
openPrivacyButtons.forEach((button) => {
button.addEventListener("click", openPrivacyFlyover);
});
closePrivacyButtons.forEach((button) => {
button.addEventListener("click", closePrivacyFlyover);
});
document.addEventListener("keydown", (event) => {
if (event.key === "Escape" && flyover && !flyover.hidden) {
closeFlyover();
}
if (event.key === "Escape" && privacyFlyover && !privacyFlyover.hidden) {
closePrivacyFlyover();
}
});
window.addEventListener("resize", () => {