(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(); })();