From 86049dd8b51fffd9f726b95c02fe244613d2f204 Mon Sep 17 00:00:00 2001 From: Anthony GAEREMYNCK <1@anthony.sh> Date: Sun, 2 Aug 2026 15:57:35 +0200 Subject: [PATCH] feat: add Header with language switcher and theme toggle Also disables Vitest file parallelism since concurrent astro builds across test files raced on the shared dist/ output. --- .../plans/2026-08-02-ombrora-hub-landing.md | 2 + src/components/Header.astro | 20 ++++++++++ src/components/LanguageSwitcher.astro | 14 +++++++ src/components/ThemeToggle.astro | 37 +++++++++++++++++++ src/pages/en/index.astro | 2 + src/pages/fr/index.astro | 2 + tests/header.test.ts | 35 ++++++++++++++++++ vitest.config.ts | 7 ++++ 8 files changed, 119 insertions(+) create mode 100644 src/components/Header.astro create mode 100644 src/components/LanguageSwitcher.astro create mode 100644 src/components/ThemeToggle.astro create mode 100644 tests/header.test.ts create mode 100644 vitest.config.ts diff --git a/docs/superpowers/plans/2026-08-02-ombrora-hub-landing.md b/docs/superpowers/plans/2026-08-02-ombrora-hub-landing.md index 68f95fc..0cd7958 100644 --- a/docs/superpowers/plans/2026-08-02-ombrora-hub-landing.md +++ b/docs/superpowers/plans/2026-08-02-ombrora-hub-landing.md @@ -468,6 +468,8 @@ describe('BaseLayout SEO tags and theming', () => { Note: from this task on, tests call `npm run build` themselves via `beforeAll`, so `npm run test` alone is sufficient going forward. Astro inlines small stylesheets into a `