(function () {
const key = "laMotherApparelSavedInterest";
const header = document.querySelector("[data-header]");
const toggle = document.querySelector(".nav-toggle");
const drawer = document.querySelector("[data-cart-drawer]");
const mobileNavQuery = window.matchMedia("(max-width: 760px)");
const mobileMenuGroups = header ? Array.from(header.querySelectorAll(".primary-menu, .nav-actions")) : [];
function getSavedList() {
try {
return JSON.parse(localStorage.getItem(key)) || [];
} catch (_) {
return [];
}
}
function setSavedList(list) {
localStorage.setItem(key, JSON.stringify(list));
renderSavedList();
}
function renderSavedList() {
const list = getSavedList();
document.querySelectorAll("[data-cart-count]").forEach((node) => {
node.textContent = String(list.length);
});
document.querySelectorAll("[data-cart-items]").forEach((container) => {
if (!list.length) {
container.innerHTML = '
No apparel interest saved yet.
';
return;
}
container.innerHTML = list.map((item) => `
${escapeHtml(item.name)}
${escapeHtml(item.translation)} ยท Saved as unpaid apparel interest only; not a cart, order, reservation, price quote, or payment.
`).join("");
});
}
function escapeHtml(value) {
return String(value).replace(/[&<>"']/g, (char) => ({
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'"
}[char]));
}
function openCart() {
if (!drawer) return;
drawer.classList.add("is-open");
drawer.setAttribute("aria-hidden", "false");
const close = drawer.querySelector("[data-cart-close]");
if (close) close.focus();
}
function closeCart() {
if (!drawer) return;
drawer.classList.remove("is-open");
drawer.setAttribute("aria-hidden", "true");
}
function setMobileMenuFocus(open) {
const closedMobileMenu = mobileNavQuery.matches && !open;
mobileMenuGroups.forEach((group) => {
if (closedMobileMenu) group.setAttribute("inert", "");
else group.removeAttribute("inert");
});
}
if (toggle && header) {
const toggleLabel = toggle.querySelector(".sr-only");
const setToggleLabel = (open) => {
if (toggleLabel) toggleLabel.textContent = open ? "Close menu" : "Open menu";
};
setMobileMenuFocus(header.classList.contains("menu-open"));
setToggleLabel(header.classList.contains("menu-open"));
toggle.addEventListener("click", () => {
const open = header.classList.toggle("menu-open");
toggle.setAttribute("aria-expanded", String(open));
setMobileMenuFocus(open);
setToggleLabel(open);
});
mobileNavQuery.addEventListener("change", () => {
setMobileMenuFocus(header.classList.contains("menu-open"));
setToggleLabel(header.classList.contains("menu-open"));
});
}
if (header) {
const setHeaderState = () => {
header.classList.toggle("is-scrolled", window.scrollY > 8);
};
setHeaderState();
window.addEventListener("scroll", setHeaderState, { passive: true });
}
document.addEventListener("click", (event) => {
const add = event.target.closest("[data-add-to-cart]");
if (add) {
const name = add.getAttribute("data-product");
const translation = add.getAttribute("data-translation") || "Apparel";
const list = getSavedList();
const existing = list.find((item) => item.name === name);
if (!existing) list.push({ name, translation });
setSavedList(list);
openCart();
}
if (event.target.closest("[data-cart-open]")) openCart();
if (event.target.closest("[data-cart-close]")) closeCart();
if (drawer && event.target === drawer) closeCart();
const remove = event.target.closest("[data-remove-item]");
if (remove) {
const target = remove.getAttribute("data-remove-item");
setSavedList(getSavedList().filter((item) => item.name !== target));
}
});
document.addEventListener("keydown", (event) => {
if (event.key === "Escape") closeCart();
});
renderSavedList();
})();