Repository navigation
feat: updated landing page - #251
Alessandro100 wants to merge 16 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
🟡 Changes recommended
Accessibility, French localization, and globe geometry issues remain unresolved.
6 open findings
Add matching CORS attribute to preconnect · New Localize the Top regions label · New Make country selection keyboard and screen-reader accessible · New Respect reduced-motion preference in globe animations · New Localize country popup counts and pluralization · New Preserve polygon holes during triangulation · New
What changed in this PR
Introduces a redesigned, SEO-friendly landing page with animated transit visuals, global coverage maps, refreshed branding, and updated header/footer styling. Vercel React performance guidance was applied.
Changes:
- Adds the animated journey hero, feature gallery, and interactive coverage globe/map.
- Expands metadata, structured data, crawler documentation, and social previews.
- Renames user-facing “MobilityDatabase” references to “Mobility Database.”
| File | Description |
|---|---|
package.json |
Adds 3D geometry dependencies. |
yarn.lock |
Locks new dependencies. |
eslint.config.mjs |
Excludes preprocessing scripts. |
public/llms.txt |
Documents catalog for automated readers. |
messages/en.json |
Adds English landing-page copy. |
messages/fr.json |
Adds French landing-page copy. |
src/app/Theme.ts |
Exports raw theme palettes. |
src/app/styles/TextShimmer.css |
Removes obsolete shimmer styling. |
src/app/utils/frame-cap.ts |
Caps decorative scene rendering. |
src/app/utils/frame-cap.spec.ts |
Tests frame-rate limiting. |
src/app/components/Header.tsx |
Refreshes branding and scroll border. |
src/app/components/HeaderMobileDrawer.tsx |
Updates mobile branding. |
src/app/components/Footer.tsx |
Reorganizes footer layout and socials. |
src/app/components/FooterElements.tsx |
Adjusts footer link typography. |
src/app/screens/Feed/FeedView.tsx |
Updates admin heading branding. |
src/app/components/WorldGlobe/CountryStatsPopup.tsx |
Adds country statistics popup. |
src/app/components/WorldGlobe/MapToolbar.tsx |
Adds map presentation controls. |
src/app/components/WorldGlobe/feed-stats.ts |
Provides feed statistics helpers. |
src/app/components/WorldGlobe/flat-map-geometry.ts |
Implements map projection and zoom. |
src/app/components/WorldGlobe/flat-map-geometry.spec.ts |
Tests flat-map geometry. |
src/app/components/WorldGlobe/fullscreen.ts |
Adds fullscreen compatibility helpers. |
src/app/components/WorldGlobe/geo-shapes.ts |
Decodes and processes geography. |
src/app/components/WorldGlobe/globe-colors.ts |
Resolves theme-aware globe colors. |
src/app/components/WorldGlobe/globe-countries.ts |
Builds globe country data. |
src/app/components/WorldGlobe/globe-geometry.ts |
Generates 3D globe geometry. |
src/app/components/WorldGlobe/iso-numeric.ts |
Maps numeric country codes. |
src/app/components/WorldGlobe/popup-placement.ts |
Fits popups within map bounds. |
src/app/components/WorldGlobe/popup-placement.spec.ts |
Tests popup placement. |
src/app/components/WorldGlobe/tour.ts |
Implements weighted country tours. |
src/app/components/WorldGlobe/useGlobeColors.ts |
Tracks globe color scheme. |
src/app/components/WorldGlobe/useTourMode.ts |
Manages automatic tour state. |
src/app/[locale]/page.tsx |
Expands home metadata and JSON-LD. |
src/app/[locale]/layout.tsx |
Updates metadata and Firebase hints. |
src/app/[locale]/components/HomePage.tsx |
Rebuilds the landing page. |
src/app/[locale]/components/HomeStructuredData.tsx |
Adds schema.org entities. |
src/app/[locale]/components/SearchBox.tsx |
Redesigns the hero search field. |
src/app/[locale]/components/SearchBorderShine.css |
Adds search-border animation. |
src/app/[locale]/components/SectionHeading.tsx |
Adds reusable section headings. |
src/app/[locale]/components/FeaturePromo.tsx |
Adds feature gallery cards. |
src/app/[locale]/components/FeaturePreviewsLazy.tsx |
Defers decorative previews. |
src/app/[locale]/components/CoverageMap.tsx |
Adds globe/map coverage switcher. |
src/app/[locale]/components/GlobePlaceholder.tsx |
Adds server-rendered globe placeholder. |
src/app/[locale]/components/hero-animation/HeroBackground.tsx |
Lazily loads the WebGL hero. |
src/app/[locale]/components/hero-animation/HeroGridPlaceholder.tsx |
Adds initial hero placeholder. |
src/app/[locale]/components/hero-animation/JourneyStandardChips.tsx |
Adds feed-standard links. |
src/app/[locale]/components/hero-animation/journey-basemap.ts |
Builds the tiled hero basemap. |
src/app/[locale]/components/hero-animation/journey-palette.ts |
Defines journey theme colors. |
src/app/[locale]/components/hero-animation/journey-pins.ts |
Draws journey markers. |
src/app/[locale]/components/hero-animation/journey-style.ts |
Centralizes journey styling. |
src/app/[locale]/components/hero-animation/journey-tiles.ts |
Resolves and preloads tiles. |
src/app/[locale]/components/hero-animation/montreal-journey.spec.ts |
Tests journey projection and timing. |
src/app/[locale]/components/hero-animation/journey-network.spec.ts |
Tests network simplification. |
src/app/[locale]/components/hero-animation/stop-pins.ts |
Implements animated stop pins. |
src/app/[locale]/components/hero-animation/surface-palette.ts |
Defines surface color ramps. |
src/app/[locale]/components/hero-animation/surface-shading.ts |
Implements surface shaders. |
src/app/[locale]/about/page.tsx |
Updates brand metadata. |
src/app/[locale]/contact-us/page.tsx |
Updates brand metadata. |
src/app/[locale]/contribute-faq/page.tsx |
Updates brand metadata. |
src/app/[locale]/email-verification/page.tsx |
Updates brand metadata. |
src/app/[locale]/faq/page.tsx |
Updates brand metadata. |
src/app/[locale]/feeds/page.tsx |
Updates brand metadata. |
src/app/[locale]/gbfs-validator/page.tsx |
Updates brand metadata. |
src/app/[locale]/gtfs-feature-tracker/page.tsx |
Updates brand metadata. |
src/app/[locale]/privacy-policy/page.tsx |
Updates brand metadata. |
src/app/[locale]/seal-of-reliability/page.tsx |
Updates brand metadata. |
src/app/[locale]/seal-of-reliability/how-it-is-calculated/page.tsx |
Updates brand metadata. |
src/app/[locale]/terms-and-conditions/page.tsx |
Updates brand metadata. |
cypress/e2e/home.cy.ts |
Updates branding assertion. |
cypress/e2e/signin.cy.ts |
Updates branding assertion. |
🧠 Review effort: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| const outer = rings[0] ? unwrapRingLongitudes(rings[0]) : null; | ||
| if (!outer || outer.length < 4) return []; |
|
*Lighthouse ran on https://mobilitydatabase-p9ku5qwmv-mobility-data.vercel.app/ * (Desktop)
*Lighthouse ran on https://mobilitydatabase-p9ku5qwmv-mobility-data.vercel.app/feeds * (Desktop)
*Lighthouse ran on https://mobilitydatabase-p9ku5qwmv-mobility-data.vercel.app/feeds/gtfs/mdb-2126 * (Desktop)
*Lighthouse ran on https://mobilitydatabase-p9ku5qwmv-mobility-data.vercel.app/feeds/gtfs_rt/mdb-2585 * (Desktop)
*Lighthouse ran on https://mobilitydatabase-p9ku5qwmv-mobility-data.vercel.app/feeds/gbfs/gbfs-flamingo_porirua * (Desktop)
|

Summary:
Brand new landing page + header and footer styling updates
Expected behavior:
Testing tips:
Go on the landing page and play around with screen sizes, light mode , dark mode, functionality, browsers, etc
(Go on other pages to assure the new header and footer are good)
Follow up tickets
Please make sure these boxes are checked before submitting your pull request - thanks!
yarn testto make sure you didn't break anything