From ec505c11eace71a441c4b9c0d9717ed8c6c4440c Mon Sep 17 00:00:00 2001 From: xtian7489 Date: Thu, 20 Feb 2025 11:18:23 -0300 Subject: [PATCH] highlight subnavbar links with current slide --- src/components/informe/informe.astro | 23 ++++++++- .../informe/item-slider/caratula.astro | 45 +++++++++++++---- .../item-slider/encuestadas/graph.astro | 4 +- .../item-slider/mitigacion/grado.astro | 6 +-- .../item-slider/mitigacion/impacto.astro | 6 +-- .../item-slider/mitigacion/medidas.astro | 2 +- .../item-slider/mitigacion/reaccion.astro | 4 +- .../informe/item-slider/violencia/autor.astro | 2 +- .../item-slider/violencia/impacto.astro | 4 +- .../item-slider/violencia/momentos.astro | 2 +- .../item-slider/violencia/violencia.astro | 2 +- src/components/layout/navbar-slide.astro | 49 +++++++++++++------ 12 files changed, 106 insertions(+), 43 deletions(-) diff --git a/src/components/informe/informe.astro b/src/components/informe/informe.astro index 44bd344..24cc5f3 100644 --- a/src/components/informe/informe.astro +++ b/src/components/informe/informe.astro @@ -35,7 +35,7 @@ import { Icon } from "astro-icon/components"; left: 0; width: 100vw; height: 100vh; - background: rgba(0, 0, 0, 0.9); + background: rgba(0, 0, 0, 0.99); color: white; font-size: 2rem; z-index: 9999; @@ -80,7 +80,28 @@ import { Icon } from "astro-icon/components"; initReveal(); } //else deck.destroy(); }); + deck.on("slidechanged", () => { + const slideId = deck.getCurrentSlide().id; + if (slideId) window.location.hash = "/" + slideId; + highlightLinks(); + }); + // deck.addEventListener("ready", function (event) { // deck.slide(2, 7); //go to slide horizontal / vertical // }); + + function highlightLinks() { + const allLinks = document.querySelectorAll(".links-subnavbar"); + const active = allLinks[deck.getIndices().h]; + + allLinks.forEach((el) => { + el?.parentElement?.classList.remove("bg-primary-500"); + el?.parentElement?.classList.remove("text-white"); + }); + + if (active) { + active?.parentElement?.classList.add("bg-primary-500"); + active?.parentElement?.classList.add("text-white"); + } + } diff --git a/src/components/informe/item-slider/caratula.astro b/src/components/informe/item-slider/caratula.astro index c8950c9..ddf442b 100644 --- a/src/components/informe/item-slider/caratula.astro +++ b/src/components/informe/item-slider/caratula.astro @@ -9,7 +9,7 @@ import silent from "../../../assets/silent.png";