Add privacy modal
This commit is contained in:
33
script.js
33
script.js
@@ -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", () => {
|
||||
|
||||
Reference in New Issue
Block a user