Skip to content

Commit 30d142e

Browse files
committed
Link to Alpha in LTS alert box when no Current
1 parent b86c448 commit 30d142e

3 files changed

Lines changed: 36 additions & 14 deletions

File tree

‎apps/site/components/Releases/PreviousReleasesTable/index.tsx‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { getTranslations } from 'next-intl/server';
22

33
import provideReleaseData from '#site/next-data/providers/releaseData';
4+
import { ReleasesProvider } from '#site/providers/releaseProvider';
45

56
import type { FC } from 'react';
67

@@ -24,7 +25,9 @@ const PreviousReleasesTable: FC = async () => {
2425
</tr>
2526
</thead>
2627

27-
<PreviousReleasesTableBody releaseData={releaseData} />
28+
<ReleasesProvider releases={releaseData} snippets={[]}>
29+
<PreviousReleasesTableBody releaseData={releaseData} />
30+
</ReleasesProvider>
2831
</table>
2932
);
3033
};

‎apps/site/components/withDownloadArchive.tsx‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { notFound } from 'next/navigation';
22

33
import { getClientContext } from '#site/client-context';
44
import provideReleaseData from '#site/next-data/providers/releaseData';
5+
import { ReleasesProvider } from '#site/providers/releaseProvider';
56
import {
67
buildReleaseArtifacts,
78
extractVersionFromPath,
@@ -40,7 +41,11 @@ const WithDownloadArchive: FC<WithDownloadArchiveProps> = async ({
4041

4142
const releaseArtifacts = buildReleaseArtifacts(release, version);
4243

43-
return <Component {...releaseArtifacts} />;
44+
return (
45+
<ReleasesProvider releases={releaseData} snippets={[]}>
46+
<Component {...releaseArtifacts} />
47+
</ReleasesProvider>
48+
);
4449
};
4550

4651
export default WithDownloadArchive;

‎apps/site/components/withReleaseAlertBox.tsx‎

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
1+
'use client';
2+
13
import AlertBox from '@node-core/ui-components/Common/AlertBox';
24
import { useTranslations } from 'next-intl';
5+
import { use, type FC } from 'react';
36

47
import Link from '#site/components/Link';
8+
import { ReleasesContext } from '#site/providers/releaseProvider';
59

610
import type { NodeReleaseStatus } from '#site/types';
7-
import type { FC } from 'react';
811

912
type WithReleaseAlertBoxProps = {
1013
status: NodeReleaseStatus;
1114
};
1215

1316
const WithReleaseAlertBox: FC<WithReleaseAlertBoxProps> = ({ status }) => {
17+
const { releases } = use(ReleasesContext);
1418
const t = useTranslations();
1519

20+
const hasCurrent = releases.some(({ status }) => status === 'Current');
21+
const hasAlpha = releases.some(({ status }) => status === 'Alpha');
22+
1623
switch (status) {
1724
case 'EOL':
1825
return (
@@ -43,17 +50,24 @@ const WithReleaseAlertBox: FC<WithReleaseAlertBoxProps> = ({ status }) => {
4350
</AlertBox>
4451
);
4552
case 'LTS':
46-
return (
47-
<AlertBox
48-
title={t('components.common.alertBox.info')}
49-
level="success"
50-
size="small"
51-
>
52-
{t.rich('components.releaseModal.ltsVersionFeaturesNotice', {
53-
link: text => <Link href="/download/current">{text}</Link>,
54-
})}
55-
</AlertBox>
56-
);
53+
if (hasCurrent || hasAlpha) {
54+
return (
55+
<AlertBox
56+
title={t('components.common.alertBox.info')}
57+
level="success"
58+
size="small"
59+
>
60+
{t.rich('components.releaseModal.ltsVersionFeaturesNotice', {
61+
link: text => (
62+
<Link href={`/download/${hasCurrent ? 'current' : 'alpha'}`}>
63+
{text}
64+
</Link>
65+
),
66+
})}
67+
</AlertBox>
68+
);
69+
}
70+
return null;
5771
default:
5872
return null;
5973
}

0 commit comments

Comments
 (0)