From 7a1211ac5f9db98bfe25866cb3e35b0cc7e29254 Mon Sep 17 00:00:00 2001 From: Marcos Paulo Date: Sat, 5 Sep 2026 17:50:48 +0000 Subject: [PATCH] fix(guide): match 15c event name and the legacy focus ring The island listened for `ai-for-dummies:language-change` on `document`, but task 15c dispatches `ai-for-dummies:languagechange` on `window`. Window events do not reach a document listener, so that path was dead; only the `` MutationObserver was firing. The focus ring was `3px solid var(--red)` at `outline-offset: 2px`, applied globally to every button on the page. `responsive.css` uses gold at offset -3px for exactly these nine groups. Restored, and scoped to them. --- src/components/islands/GuideSelector.astro | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/components/islands/GuideSelector.astro b/src/components/islands/GuideSelector.astro index 42e4528..1c2dc67 100644 --- a/src/components/islands/GuideSelector.astro +++ b/src/components/islands/GuideSelector.astro @@ -260,7 +260,7 @@ const { rootSelector, data } = Astro.props; new MutationObserver((changes) => { if (changes.some((change) => change.attributeName === 'lang')) renderAll(); }).observe(document.documentElement, { attributes: true, attributeFilter: ['lang'] }); - document.addEventListener('ai-for-dummies:language-change', renderAll); + window.addEventListener('ai-for-dummies:languagechange', renderAll); renderAll(); } if ('IntersectionObserver' in window) { @@ -276,8 +276,19 @@ const { rootSelector, data } = Astro.props;