Skip to content

WEB-UX-001 — Keep fixed navigation from covering page content #170

Closed

Description

@daliu

Outcome

Keep the persistent site navigation from covering the first heading or content on pages without a hero image. Fix the shared layout boundary; do not add decorative placeholder banners.

Report and evidence

At 2026-07-13T04:20Z, live /events at 1280px measured the fixed navigation from y=0 through y=88 while #main-content began at y=0 and its heading at y=16. The heading was inside the navigation overlay.

Source at e1f887203e4ba75d22908f3ef51259a339aaaa08 confirms:

  • src/components/navbar.css fixes a 5.5rem navigation at the viewport top.
  • #main-content reserves no navigation clearance.
  • Hero pages compensate inconsistently with 5rem or 3rem top margins.
  • Account, Shop, Events, login, legal, loading, and similar routes have no offset.

Invariant

First visible page content must begin at or below the persistent navigation at desktop, phone width, and zoomed layouts. Hero and non-hero routes must share one navigation-height contract without a second gap.

Atomic scope

Owned only after a timestamped claim:

  • src/index.css
  • src/components/navbar.css
  • src/pages/home/home.css
  • one new focused CSS layout regression test

Expected implementation: define one shared navigation-height custom property, use it for the fixed navigation and #main-content top clearance, then remove legacy hero offsets that would double the gap.

Explicit exclusions

  • No page component, route, heading, link, content, image, or placeholder-banner changes
  • No src/App.jsx, Auth, Login, Account, service, Firebase, Functions, Rules, provider, workflow, security, commerce, or payment changes
  • No announcement-banner redesign
  • No root security/operations documentation changes
  • No officer procedure change unless implementation changes an officer task
  • Never touch public/sitemap.xml

This stays clear of active parent #120 and its Auth/account/email recovery scope.

Acceptance

  • Add a regression test that fails on the current no-clearance layout and passes only when the shared height contract clears #main-content and legacy hero offsets are gone.
  • Verify desktop and phone browser geometry for /events, /shop, a hero route, and Home: first visible content top is at or below navigation bottom, without a doubled gap.
  • Verify Skip to content and the phone navigation menu.
  • Run the focused test, frontend suite, strict changed-file lint, SPA safety test, and diagnostic production build.
  • Review for unintended content, auth, accessibility, or route changes.

Failure cases and compatibility

Stop if the fix depends on route-specific page edits, placeholder assets, dynamic member data, or changed navigation behavior. This is a CSS-only backward-compatible correction with no migration.

Officer handoff

  • Officer impact: page titles and controls remain visible below navigation, including on phones.
  • Officer documentation: None expected — no officer procedure, destination, permission, public wording, or deployment duty changes.
  • Deployment evidence: record source, tests, merge, website publication, runmprc.com, Firebase, and providers separately.

Coordination

Creating this issue does not claim it. Before editing, re-read state/comments, assign one agent, add status:in-progress, post an exact UTC claim with branch and owned paths, and re-check for overlap.

Activity

  1. added
    bugSomething isn't working
    priority:P1High-priority follow-up
    area:webWeb application and hosting
    size:SSmall focused issue
    status:proposedDesigned but dependencies or decisions remain
    status:in-progressClaimed and actively being implemented
    and removed
    status:proposedDesigned but dependencies or decisions remain
    on Jul 13, 2026
  2. self-assigned this
    on Jul 13, 2026
  3. daliu commented on Jul 13, 2026

    @daliu
    ContributorAuthor

    CLAIMED by @daliu at 2026-07-13T17:32:45.274Z

    Branch: codex/issue-170-header-content-offset
    Base: e1f887203e4ba75d22908f3ef51259a339aaaa08

    Exclusive paths for this atomic outcome:

    • src/index.css
    • src/components/navbar.css
    • src/pages/home/home.css
    • new src/headerClearance.test.js

    Explicitly excluded: all route/page components, src/App.jsx, Auth/Login/Account/service paths, images and placeholder banners, AnnouncementBanner, Firebase/Functions/Rules, workflows/providers, root security/operations docs, officer guides, and public/sitemap.xml.

    Stop and coordinate if another active claim touches an owned path.

  4. daliu commented on Jul 13, 2026

    @daliu
    ContributorAuthor

    IMPLEMENTATION READY FOR REVIEW at be08855f53c6d82522d99023fc93902b767825e0

    Draft PR: #171

    Claimed-path diff only. Local evidence:

    • focused regression 2/2
    • full frontend 134/134
    • SPA safety 10/10
    • strict changed-file lint and diff check
    • Node 20 production build
    • desktop, phone, zoom-equivalent, skip-target, and mobile-menu browser geometry

    This is source only: not merged, not published, and not live on runmprc.com. Firebase and outside providers are not affected. Independent exact-head reviews are in progress.

  5. daliu commented on Jul 13, 2026

    @daliu
    ContributorAuthor

    COMPLETED and CLAIM RELEASED at 2026-07-13T17:47:43.058Z

    Outcome:

    • PR WEB-UX-001 — Keep fixed navigation from covering page content #171 merged to main as 5732e5a7403cf3fb174f43202aa19369446836cf.
    • Post-merge CI run 29271677441 passed Frontend, Functions, Firestore Rules, and commerce-journal jobs.
    • The exact Netlify PR preview passed desktop and phone geometry: nav bottom 88px, route root 88px, heading 104px.
    • Two independent exact-head reviews approved with no findings.
    • Remote branch is deleted. The four claimed paths are released.

    Deployment truth:

    • Source changed: yes.
    • Tests passed: yes.
    • Merged: yes.
    • Netlify preview published and verified: yes.
    • Production website published: no.
    • runmprc.com verified with this change: no. Post-merge readback still shows the old layout (#main-content padding 0px; Events heading y=16 under the 88px nav).
    • GitHub release workflow: not run; merge triggered CI only.
    • Firebase deployed: no / not relevant to this CSS-only change.
    • Outside provider configured: no.

    Do not describe the fix as live yet. Production publication remains behind the existing protected hosting/release work tracked by #133 and #136; no duplicate deploy ticket was created.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:webWeb application and hostingbugSomething isn't workingpriority:P1High-priority follow-upsize:SSmall focused issuetype:reliabilityReliability and recovery

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions