feat(school-detail): highlight active section in sticky nav on scroll
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 13s
Build and Push Docker Images / Build Frontend (Next.js) (push) Failing after 43s
Build and Push Docker Images / Build Pipeline (Meltano + dbt + Airflow) (push) Successful in 12s
Build and Push Docker Images / Trigger Portainer Update (push) Has been skipped
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 13s
Build and Push Docker Images / Build Frontend (Next.js) (push) Failing after 43s
Build and Push Docker Images / Build Pipeline (Meltano + dbt + Airflow) (push) Successful in 12s
Build and Push Docker Images / Trigger Portainer Update (push) Has been skipped
Uses IntersectionObserver on each section element. Multiple thresholds (0, 0.1, 0.25, 0.5, 0.75, 1.0) track the intersection ratio of every section simultaneously; whichever has the highest visible ratio at any moment becomes the active item. rootMargin offsets for the sticky nav height so a section is only considered active once it's genuinely in view beneath the bar. Active link gets .sectionNavLinkActive — coral background + white text, matching the phase tab active style used elsewhere in the product. Observer is cleaned up on unmount. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -196,6 +196,17 @@
|
||||
color: var(--text-primary, #1a1612);
|
||||
}
|
||||
|
||||
.sectionNavLinkActive {
|
||||
background: var(--accent-coral, #e07256);
|
||||
color: white;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.sectionNavLinkActive:hover {
|
||||
background: var(--accent-coral-dark, #c45a3f);
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Unified card for all content sections */
|
||||
.card {
|
||||
background: var(--bg-card, white);
|
||||
|
||||
Reference in New Issue
Block a user