From 7352aedad054e72c34cb59773e8c4f97a86cb511 Mon Sep 17 00:00:00 2001 From: Alfie Jones Date: Mon, 10 Jun 2024 17:55:39 +0100 Subject: [PATCH] updating all tabs on the page --- .../src/components/schema/tabs.astro | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/marketing-astro/src/components/schema/tabs.astro b/apps/marketing-astro/src/components/schema/tabs.astro index ccdeae08..1e2ec499 100644 --- a/apps/marketing-astro/src/components/schema/tabs.astro +++ b/apps/marketing-astro/src/components/schema/tabs.astro @@ -76,7 +76,12 @@ const group = labels.sort().toString(); activePanel = document.getElementById(tabId)!; activePanel.removeAttribute("hidden"); - localStorage.setItem(`tabs-${groupID}-active`, String(index)); + if (localStorage.getItem(`tabs-${groupID}-active`) !== String(index)) { + localStorage.setItem(`tabs-${groupID}-active`, String(index)); + + const event = new CustomEvent(`tabs-${groupID}-change`); + document.dispatchEvent(event); + } activeTrigger = trigger; } @@ -84,6 +89,15 @@ const group = labels.sort().toString(); triggers.forEach((trigger, i) => { trigger.addEventListener("click", () => setActiveTab(trigger, i)); }); + document.addEventListener(`tabs-${groupID}-change`, () => { + const index = localStorage.getItem(`tabs-${groupID}-active`); + setActiveTab( + triggers.item(index ? parseInt(index) : 0), + parseInt(index || "0") + ); + + console.log("adsf"); + }); const index = localStorage.getItem(`tabs-${groupID}-active`); setActiveTab( triggers.item(index ? parseInt(index) : 0),