// Shared teaching-layer collapse memory for every page that uses `.why-panel` (`
` // with a `data-why` id): the planner and the cupping session view. One localStorage key across // both so a user's dismissals carry over between pages. const WHY_COLLAPSED_KEY = "roastPlannerWhyCollapsed.v1"; export function wireWhyPanels() { let collapsed; try { collapsed = new Set(JSON.parse(localStorage.getItem(WHY_COLLAPSED_KEY)) || []); } catch { collapsed = new Set(); } for (const panel of document.querySelectorAll(".why-panel")) { if (collapsed.has(panel.dataset.why)) panel.open = false; panel.addEventListener("toggle", () => { if (panel.open) collapsed.delete(panel.dataset.why); else collapsed.add(panel.dataset.why); try { localStorage.setItem(WHY_COLLAPSED_KEY, JSON.stringify([...collapsed])); } catch { /* unavailable storage */ } }); } }