Skip to content

feat: redesigned home page with esp and updated downloads page #7875

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

ovflowd
Copy link
Member

@ovflowd ovflowd commented Jun 17, 2025

This PR updates the Home Page with redesigned/simplified CTAs and updated the Download Page (and Release Modal) with unified EOL and LTS CTAs.

Closes #7773 (comment)

@Copilot Copilot AI review requested due to automatic review settings June 17, 2025 23:24
@ovflowd ovflowd requested a review from a team as a code owner June 17, 2025 23:24
Copy link

vercel bot commented Jun 17, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
nodejs-org ✅ Ready (Inspect) Visit Preview Jun 19, 2025 0:04am

Copy link
Contributor

Note

Your Pull Request seems to be updating Translations of the Node.js Website.

Whilst we appreciate your intent; Any Translation update should be done through our Crowdin Project.
We recommend giving a read on our Translation Guidelines.

Thank you!

@github-actions github-actions bot removed the github_actions:pull-request Trigger Pull Request Checks label Jun 17, 2025
Copy link
Contributor

github-actions bot commented Jun 17, 2025

Lighthouse Results

URL Performance Accessibility Best Practices SEO Report
/en 🟢 100 🟢 100 🟢 100 🟢 91 🔗
/en/about 🟢 100 🟢 96 🟢 100 🟠 82 🔗
/en/about/previous-releases 🟢 98 🟢 96 🟢 100 🟠 83 🔗
/en/download 🟢 98 🟢 100 🟢 100 🟢 91 🔗
/en/blog 🟢 100 🟢 100 🟢 96 🟢 92 🔗

Copilot

This comment was marked as outdated.

Copy link

codecov bot commented Jun 17, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 75.45%. Comparing base (f137f85) to head (9698046).
Report is 4 commits behind head on main.

✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7875      +/-   ##
==========================================
- Coverage   75.46%   75.45%   -0.02%     
==========================================
  Files         101      101              
  Lines        8306     8306              
  Branches      218      218              
==========================================
- Hits         6268     6267       -1     
- Misses       2036     2037       +1     
  Partials        2        2              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

MattIPv4

This comment was marked as resolved.

@ovflowd

This comment was marked as resolved.

@ovflowd

This comment was marked as resolved.

@MattIPv4

This comment was marked as resolved.

@ovflowd

This comment was marked as resolved.

@MattIPv4

This comment was marked as resolved.

@MattIPv4
Copy link
Member

You might want a leading-tight (I think that's the right Tailwind class) on the support button as a whole, otherwise the xs line is still using the regular line height? And I'm still not sure about small text being bold :P

Hover state for the support button in dark mode might need looking at now that it has the transparent bg?

Copilot

This comment was marked as outdated.

@MattIPv4
Copy link
Member

And then less of a design nit, but a general UX question, should this support button have an external link indicator? The links in the nav have it when they're external, so I could see it being a point of confusion that this then doesn't but is external? (It also doesn't open in a new tab like the nav external links)


<Button kind="primary" className="!block dark:!hidden w-100" href="/download">Install Node.js</Button>

<Button kind="secondary" className="!hidden dark:!block w-100" href="https://www.herodevs.com/support/node-nes">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will need UTM params I imagine?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IDK what the campaign link should be 🤷

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joeeames what UTM params would you like for the homepage?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bump, @joeeames

<small className="text-xs!">for Node.js 18 and below</small>
</Button>

<Button kind="neutral" className="!block dark:!hidden w-100" href="https://www.herodevs.com/support/node-nes">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto, UTM params?

@MattIPv4

This comment was marked as resolved.

@ovflowd

This comment was marked as resolved.

Copy link
Member

@MattIPv4 MattIPv4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise, this LGTM once we know what UTMs are needed

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR redesigns the home page and updates the download page (including the release modal) by simplifying CTAs and unifying messaging for EOL and LTS Node.js releases. Key changes include updates to UI component styles (e.g., BaseButton), modifications to localized error and alert messages, and adjustments in navigation logic for Node.js version selection.

Reviewed Changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/ui-components/Common/BaseButton/index.module.css Updated styling for secondary buttons with added border properties and color adjustments.
packages/i18n/locales/en.json Revised warning text and added a notice for LTS version features.
apps/site/pages/*/index.mdx (multiple locales) Removed legacy home pages for various locales while updating the English version with a new button group.
apps/site/layouts/layouts.module.css Adjusted max-width and text color styles to support the new design.
apps/site/layouts/GlowingBackdrop.tsx Minor update: added a line break for clarity.
apps/site/components/Downloads/ReleaseModal/index.tsx Converted plain translations to rich translations to embed links in alert messages.
apps/site/components/Downloads/Release/VersionDropdown.tsx Updated version selection logic to redirect depending on the release status and route.
apps/site/components/Downloads/Release/ReleaseCodeBox.tsx Added an extra LTS alert box with a rich translation for better user guidance.
Comments suppressed due to low confidence (1)

apps/site/components/Downloads/Release/VersionDropdown.tsx:38

  • The variable 'release' declared here shadows the outer 'release' from context, which could lead to confusion. Consider renaming it to something like 'selectedRelease' to improve clarity.
    );


<Button kind="primary" className="!block dark:!hidden" href="/download">Install Node.js</Button>

<Button kind="secondary" className="!block" href="https://www.herodevs.com/support/node-nes">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<Button kind="secondary" className="!block" href="https://www.herodevs.com/support/node-nes">
<Button kind="secondary" className="!block" href="https://www.herodevs.com/support/node-nes?utm_source=NodeJS+&utm_medium=Link&utm_campaign=Homepage_button">

Unless we hear otherwise from @joeeames, let's roll with these UTMs?

Copy link
Member

@avivkeller avivkeller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comment, then LGTM

@@ -168,7 +168,8 @@
"overview": "Overview",
"minorVersions": "Minor versions",
"releaseAnnouncement": "Release Announcement",
"unsupportedVersionWarning": "This version is out of maintenance. Please use a currently supported version."
"unsupportedVersionWarning": "This version is out of maintenance. Please use a currently supported version. <link>Understand EOL support.</link>",
"ltsVersionFeaturesNotice": "Want new features sooner? Get the <link>latest Node.js version</link> instead and try the latest improvements on Node!"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC "Node" shouldn't be used to describe the project.

Suggested change
"ltsVersionFeaturesNotice": "Want new features sooner? Get the <link>latest Node.js version</link> instead and try the latest improvements on Node!"
"ltsVersionFeaturesNotice": "Want new features sooner? Get the <link>latest Node.js version</link> instead and try the latest improvements!"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a forbidden term (lint-wise) in core

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HeroDevs ESP Visibility Improvements
7 participants