Skip to content

Hacklytics: countdown time, nav links on 404, mobile menu a11y - #431

Open
github-actions[bot] wants to merge 1 commit into
devfrom
fix/hacklytics-site
Open

github-actions[bot] wants to merge 1 commit into
devfrom
fix/hacklytics-site

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor
  • Countdown targeted new Date("2027-02-26T23:59:59") — no offset, so midnight in each visitor's own timezone. Check-in opens 5pm ET (the JSON-LD startDate): ET visitors saw it run ~7h past doors; PT visitors' target was ~3am ET Saturday. Now 2027-02-26T17:00:00-05:00.
  • Navbar: links always preventDefault'd, then bailed if the section wasn't on the page — on the 404 page About/FAQ did nothing, and cmd/ctrl-click never opened a new tab. Both now fall through to normal navigation.
  • Mobile menu: hidden only by opacity, so its links stayed in the tab order / accessibility tree. Now inert when closed; toggle has aria-expanded/aria-controls.
  • MLH badge: add rel="noopener noreferrer".
  • Remove public/index.html (Firebase "Hosting Setup Complete" boilerplate at the same path as /).

Typecheck, lint, next build pass; exported out/index.html is the app page.

Not fixed (needs an asset)

/og-image.jpg is referenced 3× in app/layout.tsx (OG, Twitter, JSON-LD) but doesn't exist, so link previews have no image. Add a 1200×630 image to public/.


Note

Low Risk
Small UI, navigation, and accessibility fixes on the marketing site; no auth, data, or backend changes.

Overview
Fixes several Hacklytics 2027 landing-page UX and accessibility issues and removes stale Firebase hosting boilerplate.

The hero countdown now targets 5pm ET (2027-02-26T17:00:00-05:00) so it matches JSON-LD startDate instead of interpreting a timezone-less string as each visitor’s local midnight.

Navbar in-page anchor handling only runs for plain left-clicks when the section exists on the current page; modifier-key / new-tab clicks and links from the 404 page fall through to normal /#… navigation. The mobile menu gets inert when closed (so hidden links leave tab order / the a11y tree), plus aria-expanded / aria-controls on the toggle and id="mobile-menu". The MLH trust badge adds rel="noopener noreferrer".

Deletes public/index.html, the default Firebase “Hosting Setup Complete” page that could compete with the Next export at /.

Reviewed by Cursor Bugbot for commit 385a79a. Bugbot is set up for automated code reviews on this repo. Configure here.

- The countdown targeted new Date("2027-02-26T23:59:59") with no offset,
  which means midnight in each visitor's own timezone. Check-in opens at
  5pm ET (the JSON-LD startDate), so ET visitors saw it keep running ~7h
  after doors and PT visitors' target was ~3am ET Saturday.
- Navbar links always preventDefault'd, then bailed when the section was
  not on the page: on the 404 page About/FAQ did nothing, and cmd/ctrl-
  click could never open a new tab. They now fall through to normal
  navigation in both cases.
- The closed mobile menu is hidden only by opacity, so its links sat in
  the tab order and accessibility tree. It is now inert when closed, and
  the toggle reports aria-expanded / aria-controls.
- MLH badge link: add rel="noopener noreferrer" like every other
  external link.
- Remove public/index.html, Firebase's "Hosting Setup Complete"
  boilerplate, which sits at the same path as the app's / page (next dev
  reports the conflict; a copy-order change would ship it).
@github-actions
github-actions Bot requested a review from aamoghS as a code owner September 25, 2026 03:34
@aamoghS aamoghS changed the title Feature: fix/hacklytics-site to dev Hacklytics: countdown time, nav links on 404, mobile menu a11y Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant