Navigation Structure
Active menu state
Active menu state — documentation pending.
Complete
A nav item is "active" when the user is anywhere inside that module’s URL space — not only on the landing page. The active state is computed once via a regex-tested signal in the header component, then bound via `[class.nav-link--active]`.
The 9 active-state signals
- onHome()
- Matches `/(en|ar|fr)/?$`. True only on Home landing.
- onEditorial()
- Matches `/editorial(/|$)`. Active on listing + every article detail.
- onShowcase()
- Matches `/(showcase|startups)(/|$)`. Active on listing + every startup detail.
- onRadar()
- Matches `/opportunity-radar(/|$)`. Active on listing + every opportunity detail.
- onFounders()
- Matches `/founders(/|$)` AND NOT onFiles() AND NOT onRadar(). The conjunction prevents false-positive activation.
- onFiles()
- Matches `/founder-files(/|$)`. Active on listing + details + reader.
- onCoverage()
- Matches `/coverage(/|$)`. Active on coverage articles.
- onCalendar()
- Matches `/calendar(/|$)`. Active on landing + events listing + event details.
- onDocs()
- Matches `/docs(/|$)`. Active on documentation home + every section + topic.
Active state visual
- `color: var(--primary)` — purple text.
- `font-weight: 600` (one weight heavier than default).
- 2px purple underline `box-shadow: inset 0 -2px var(--primary)`.
- NO background-color change — the underline is enough; a filled background reads as "selected" not "current".
