fix(template): sidebar/footer menu links invisible in light theme (.nav-link color leak) #181

Merged
jmiller merged 2 commits from fix/nav-link-color-leak into main 2026-07-19 09:29:18 +00:00
Owner

Problem

Menu links in light-background positions (sidebar, footer, bottom) render white-on-white / invisible in the light theme — reported on https://mokoconsulting.tech/legal/privacy-policy (right-hand Support menu).

Root cause

The global .nav-link rule set color: var(--nav-link-color), and the theme defines --nav-link-color: white for the dark header navbar. Any Joomla menu module using Bootstrap .nav-link (sidebar/footer/bottom) inherited that white on a light surface. Confirmed live via computed styles + CSS rule inspection.

Fix

Point the global .nav-link at --link-color (theme-aware: #224faa light, #8ab4f8 dark). The header navbar keeps white via its own higher-specificity .container-header .nav-link rule; the drawer (.offcanvas .mod-menu .nav-link) and topbar (.container-topbar a) have their own rules — all unaffected.

1-line CSS change + changelog. Verified regression-safe against header/drawer/topbar surfaces.

## Problem Menu links in light-background positions (sidebar, footer, bottom) render **white-on-white / invisible** in the light theme — reported on https://mokoconsulting.tech/legal/privacy-policy (right-hand Support menu). ## Root cause The global `.nav-link` rule set `color: var(--nav-link-color)`, and the theme defines `--nav-link-color: white` for the **dark header navbar**. Any Joomla menu module using Bootstrap `.nav-link` (sidebar/footer/bottom) inherited that white on a light surface. Confirmed live via computed styles + CSS rule inspection. ## Fix Point the global `.nav-link` at `--link-color` (theme-aware: `#224faa` light, `#8ab4f8` dark). The header navbar keeps white via its own higher-specificity `.container-header .nav-link` rule; the drawer (`.offcanvas .mod-menu .nav-link`) and topbar (`.container-topbar a`) have their own rules — all unaffected. 1-line CSS change + changelog. Verified regression-safe against header/drawer/topbar surfaces.
Author
Owner

Wiki reminder: docs are wiki-first -- if this PR changes behavior, usage, config, or standards, please update the repo wiki before/after merge. (non-blocking)

<!-- wiki-reminder --> **Wiki reminder:** docs are wiki-first -- if this PR changes behavior, usage, config, or standards, please update the repo wiki before/after merge. _(non-blocking)_
jmiller added 1 commit 2026-07-19 09:29:04 +00:00
fix(template): stop header navbar white leaking into content menus (.nav-link)
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 12s
Generic: Project CI / Tests (pull_request) Failing after 8s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 8s
Universal: PR Check / Wiki Update Reminder (pull_request) Successful in 1s
Universal: PR Check / Require Docs Update (pull_request) Failing after 4s
Universal: PR Check / Secret Scan (pull_request) Successful in 4s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Standards Compliance / Secret Scanning (pull_request) Failing after 4s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 8s
Generic: Standards Compliance / License Header Validation (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Successful in 16s
Generic: Standards Compliance / Repository Structure Validation (pull_request) Successful in 10s
Generic: Standards Compliance / Coding Standards Check (pull_request) Successful in 19s
Generic: Standards Compliance / Workflow Configuration Check (pull_request) Failing after 9s
Generic: Standards Compliance / Documentation Quality Check (pull_request) Successful in 4s
Generic: Standards Compliance / README Completeness Check (pull_request) Failing after 4s
Generic: Standards Compliance / Git Repository Hygiene (pull_request) Successful in 5s
Generic: Standards Compliance / Script Integrity Validation (pull_request) Successful in 5s
Generic: Standards Compliance / File Naming Standards (pull_request) Successful in 3s
Generic: Standards Compliance / Line Length Check (pull_request) Successful in 4s
Generic: Standards Compliance / Insecure Code Pattern Detection (pull_request) Successful in 3s
Generic: Standards Compliance / Version Consistency Check (pull_request) Successful in 55s
Generic: Standards Compliance / Dead Code Detection (pull_request) Successful in 16s
Generic: Standards Compliance / File Size Limits (pull_request) Successful in 4s
Generic: Standards Compliance / Binary File Detection (pull_request) Successful in 4s
Generic: Standards Compliance / Code Complexity Analysis (pull_request) Successful in 50s
Generic: Standards Compliance / TODO/FIXME Tracking (pull_request) Successful in 3s
Generic: Standards Compliance / Code Duplication Detection (pull_request) Successful in 53s
Generic: Standards Compliance / Broken Link Detection (pull_request) Successful in 4s
Generic: Standards Compliance / API Documentation Coverage (pull_request) Successful in 3s
Generic: Standards Compliance / Accessibility Check (pull_request) Successful in 4s
Generic: Standards Compliance / Performance Metrics (pull_request) Successful in 5s
Generic: Standards Compliance / Unused Dependencies Check (pull_request) Successful in 51s
Generic: Standards Compliance / Dependency Vulnerability Scanning (pull_request) Successful in 53s
Generic: Standards Compliance / Terraform Configuration Validation (pull_request) Successful in 6s
Generic: Standards Compliance / Enterprise Readiness Check (pull_request) Failing after 51s
Generic: Standards Compliance / Repository Health Check (pull_request) Failing after 43s
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been cancelled
Joomla: Extension CI / Build RC Pre-Release (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Generic: Standards Compliance / Compliance Summary (pull_request) Has been cancelled
7870d1a5c0
The global .nav-link rule colored links with --nav-link-color (the header
navbar's white), making sidebar/footer/bottom menu links invisible (white on
light background) in the light theme. Point the global rule at --link-color
(theme-aware). The header keeps white via its own .container-header .nav-link
rule (higher specificity); drawer (.offcanvas .mod-menu .nav-link) and topbar
have their own rules, so they're unaffected.
jmiller force-pushed fix/nav-link-color-leak from c38d41a8f0 to 7870d1a5c0 2026-07-19 09:29:04 +00:00 Compare
jmiller merged commit fe0c95afd3 into main 2026-07-19 09:29:18 +00:00
jmiller deleted branch fix/nav-link-color-leak 2026-07-19 09:29:19 +00:00
Sign in to join this conversation.
No Reviewers
No labels
Priority -
Type -
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoOnyx#181