fix: maintain Services dropdown header from one canonical source
The site header / Services mega-dropdown was duplicated across two render systems (Astro pages via Base.astro->nav.html, and ~80 pre-rendered static public/**/index.html pages each embedding their own copy). They had drifted into 5 different variants (missing 'New Carrier Setup', misplaced Healthcare column, NEW vs FREE badges, em-dash encoding differences), so dev.performancewest.net, the order pages, and the rest of the site disagreed. - Make site/src/partials/nav.html the single source of truth (adopts the most complete variant). - Add scripts/sync_nav.py to rewrite every static page's <nav> block from nav.html (idempotent; --check guards against drift in CI/deploy). - Run the sync automatically in deploy.sh and scripts/deploy-dev.sh. - Deprecate scripts/inject_healthcare_nav.py (now delegates to sync_nav.py). - Neutralize the broken no-op SiteNav.astro component. All 80 headers + the Astro-built order pages now render the identical dropdown.
This commit is contained in:
parent
695ace207c
commit
bd9a70607f
86 changed files with 250 additions and 645 deletions
|
|
@ -1,6 +1,13 @@
|
|||
---
|
||||
// Production site navigation — extracted from the static homepage.
|
||||
// This component is included in Base.astro to give all Astro-built
|
||||
// pages the same nav as the static pages in public/.
|
||||
// DEPRECATED / unused.
|
||||
//
|
||||
// Site navigation is rendered from a single canonical source:
|
||||
// - Astro pages: layouts/Base.astro reads src/partials/nav.html and injects it.
|
||||
// - Static pages (public/**/index.html): kept byte-identical to nav.html by
|
||||
// scripts/sync_nav.py (run on every deploy).
|
||||
//
|
||||
// This component used to attempt an Astro.glob() include but was a no-op
|
||||
// (it always rendered an empty string). It is intentionally left empty so
|
||||
// any stray imports keep compiling; do NOT add nav markup here -- edit
|
||||
// src/partials/nav.html instead.
|
||||
---
|
||||
<Fragment set:html={await Astro.glob('../partials/nav.html').then(() => '').catch(() => '')} />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue