Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions apps/site/components/Downloads/Release/ReleaseCodeBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ const usePlatformInfo = (installMethod: string) => {
* ReleaseCodeBox component displays installation instructions based on platform and context
*/
const ReleaseCodeBox: FC = () => {
const { snippets } = use(ReleasesContext);
const { snippets, releases } = use(ReleasesContext);
const context = use(ReleaseContext);
const t = useTranslations();

Expand Down Expand Up @@ -149,7 +149,7 @@ const ReleaseCodeBox: FC = () => {
</noscript>

{/* Release status alert */}
<WithReleaseAlertBox status={context.release.status} />
<WithReleaseAlertBox release={context.release} releases={releases} />

{/* Community platform notice */}
{platformInfo.exists && !platformInfo.recommended && (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ const PreviousReleasesTableBody: FC<PreviousReleasesTableBodyProps> = ({

<ReleaseModal
release={release}
releases={releaseData}
open={currentModal === release.version}
onOpenChange={open => open || setCurrentModal(undefined)}
/>
Expand Down
9 changes: 7 additions & 2 deletions apps/site/components/Releases/ReleaseModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,14 @@ import type { ComponentProps, FC } from 'react';

type ReleaseModalProps = ComponentProps<typeof Modal> & {
release: NodeRelease;
releases: Array<NodeRelease>;
};

const ReleaseModal: FC<ReleaseModalProps> = ({ release, ...props }) => {
const ReleaseModal: FC<ReleaseModalProps> = ({
release,
releases,
...props
}) => {
const t = useTranslations();

const modalHeadingKey = release.codename
Expand All @@ -26,7 +31,7 @@ const ReleaseModal: FC<ReleaseModalProps> = ({ release, ...props }) => {

return (
<Modal {...props}>
<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<Title>{modalHeading}</Title>

Expand Down
5 changes: 3 additions & 2 deletions apps/site/components/withDownloadArchive.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ import {
extractVersionFromPath,
} from '#site/util/download/archive';

import type { NodeRelease } from '#site/types';
import type { FC } from 'react';

type DownloadArchive = ReturnType<typeof buildReleaseArtifacts>;

type WithDownloadArchiveProps = {
children: FC<DownloadArchive>;
children: FC<DownloadArchive & { releases: Array<NodeRelease> }>;
};

/**
Expand Down Expand Up @@ -40,7 +41,7 @@ const WithDownloadArchive: FC<WithDownloadArchiveProps> = async ({

const releaseArtifacts = buildReleaseArtifacts(release, version);

return <Component {...releaseArtifacts} />;
return <Component {...releaseArtifacts} releases={releaseData} />;
};

export default WithDownloadArchive;
48 changes: 32 additions & 16 deletions apps/site/components/withReleaseAlertBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,21 @@ import { useTranslations } from 'next-intl';

import Link from '#site/components/Link';

import type { NodeReleaseStatus } from '#site/types';
import type { NodeRelease } from '#site/types';
import type { FC } from 'react';

type WithReleaseAlertBoxProps = {
status: NodeReleaseStatus;
release: NodeRelease;
releases: Array<NodeRelease>;
};

const WithReleaseAlertBox: FC<WithReleaseAlertBoxProps> = ({ status }) => {
const WithReleaseAlertBox: FC<WithReleaseAlertBoxProps> = ({
release,
releases,
}) => {
const t = useTranslations();

switch (status) {
switch (release.status) {
case 'EOL':
return (
<AlertBox
Expand Down Expand Up @@ -42,18 +46,30 @@ const WithReleaseAlertBox: FC<WithReleaseAlertBoxProps> = ({ status }) => {
})}
</AlertBox>
);
case 'LTS':
return (
<AlertBox
title={t('components.common.alertBox.info')}
level="success"
size="small"
>
{t.rich('components.releaseModal.ltsVersionFeaturesNotice', {
link: text => <Link href="/download/current">{text}</Link>,
})}
</AlertBox>
);
case 'LTS': {
const hasCurrent = releases.some(({ status }) => status === 'Current');
Comment thread
ovflowd marked this conversation as resolved.
const hasAlpha = releases.some(({ status }) => status === 'Alpha');

if (hasCurrent || hasAlpha) {
Comment thread
MattIPv4 marked this conversation as resolved.
return (
<AlertBox
title={t('components.common.alertBox.info')}
level="success"
size="small"
>
{t.rich('components.releaseModal.ltsVersionFeaturesNotice', {
link: text => (
<Link href={`/download/${hasCurrent ? 'current' : 'alpha'}`}>
{text}
</Link>
),
})}
</AlertBox>
);
}

return null;
}
default:
return null;
}
Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/ar/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>أرشيف تحميلات Node.js®</h1>

Expand All @@ -19,7 +19,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<ReleaseOverview release={release} />

Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/en/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>Node.js® Download Archive</h1>

Expand All @@ -19,7 +19,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<ReleaseOverview release={release} />

Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/fr/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>Archive de téléchargement Node.js®</h1>

Expand All @@ -19,7 +19,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<ReleaseOverview release={release} />

Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/id/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>Arsip Unduhan Node.js®</h1>

Expand All @@ -19,7 +19,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<ReleaseOverview release={release} />

Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/ja/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>Node.js®ダウンロードアーカイブ</h1>

Expand All @@ -19,7 +19,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<ReleaseOverview release={release} />

Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/pt-br/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>Arquivo de Download do Node.js®</h1>

Expand All @@ -19,7 +19,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<ReleaseOverview release={release} />

Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/ro/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>Arhiva de descărcări Node.js®</h1>

Expand All @@ -19,7 +19,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<ReleaseOverview release={release} />

Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/ta/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>Node.js® பதிவிறக்கக் காப்பகம்</h1>
<h2 className="flex items-center gap-2">
Expand All @@ -18,7 +18,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />
<ReleaseOverview release={release} />

<ul className='flex list-none flex-col gap-2 p-0 text-sm'>
Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/uk/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>Архів завантажень Node.js®</h1>

Expand All @@ -19,7 +19,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<ReleaseOverview release={release} />

Expand Down
4 changes: 2 additions & 2 deletions apps/site/pages/zh-cn/download/archive/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
{({ binaries, installers, version, release, releases, sources }) => (
<>
<h1>Node.js® 历史版本下载</h1>

Expand All @@ -19,7 +19,7 @@ layout: download-archive
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />
<WithReleaseAlertBox release={release} releases={releases} />

<ReleaseOverview release={release} />

Expand Down
Loading