1+ 'use client' ;
2+
13import Badge from '@node-core/ui-components/Common/Badge' ;
24import { useTranslations } from 'next-intl' ;
35import type { FC } from 'react' ;
46
57import FormattedTime from '#site/components/Common/FormattedTime' ;
68import DetailsButton from '#site/components/Downloads/DownloadReleasesTable/DetailsButton' ;
79import provideReleaseData from '#site/next-data/providers/releaseData' ;
10+ import { ModalProvider } from '#site/providers/modalProvider' ;
11+
12+ import ReleaseModal from '../ReleaseModal' ;
813
914const BADGE_KIND_MAP = {
1015 'End-of-life' : 'warning' ,
@@ -19,41 +24,43 @@ const DownloadReleasesTable: FC = () => {
1924 const t = useTranslations ( ) ;
2025
2126 return (
22- < table id = "tbVersions" >
23- < thead >
24- < tr >
25- < th > { t ( 'components.downloadReleasesTable.version' ) } </ th >
26- < th > { t ( 'components.downloadReleasesTable.codename' ) } </ th >
27- < th > { t ( 'components.downloadReleasesTable.firstReleased' ) } </ th >
28- < th > { t ( 'components.downloadReleasesTable.lastUpdated' ) } </ th >
29- < th > { t ( 'components.downloadReleasesTable.status' ) } </ th >
30- < th > </ th >
31- </ tr >
32- </ thead >
33- < tbody >
34- { releaseData . map ( release => (
35- < tr key = { release . major } >
36- < td data-label = "Version" > v{ release . major } </ td >
37- < td data-label = "LTS" > { release . codename || '-' } </ td >
38- < td data-label = "Date" >
39- < FormattedTime date = { release . currentStart } />
40- </ td >
41- < td data-label = "Date" >
42- < FormattedTime date = { release . releaseDate } />
43- </ td >
44- < td data-label = "Status" >
45- < Badge kind = { BADGE_KIND_MAP [ release . status ] } size = "small" >
46- { release . status }
47- { release . status === 'End-of-life' ? ' (EoL)' : '' }
48- </ Badge >
49- </ td >
50- < td >
51- < DetailsButton data = { release } />
52- </ td >
27+ < ModalProvider Component = { ReleaseModal } >
28+ < table id = "tbVersions" >
29+ < thead >
30+ < tr >
31+ < th > { t ( 'components.downloadReleasesTable.version' ) } </ th >
32+ < th > { t ( 'components.downloadReleasesTable.codename' ) } </ th >
33+ < th > { t ( 'components.downloadReleasesTable.firstReleased' ) } </ th >
34+ < th > { t ( 'components.downloadReleasesTable.lastUpdated' ) } </ th >
35+ < th > { t ( 'components.downloadReleasesTable.status' ) } </ th >
36+ < th > </ th >
5337 </ tr >
54- ) ) }
55- </ tbody >
56- </ table >
38+ </ thead >
39+ < tbody >
40+ { releaseData . map ( release => (
41+ < tr key = { release . major } >
42+ < td data-label = "Version" > v{ release . major } </ td >
43+ < td data-label = "LTS" > { release . codename || '-' } </ td >
44+ < td data-label = "Date" >
45+ < FormattedTime date = { release . currentStart } />
46+ </ td >
47+ < td data-label = "Date" >
48+ < FormattedTime date = { release . releaseDate } />
49+ </ td >
50+ < td data-label = "Status" >
51+ < Badge kind = { BADGE_KIND_MAP [ release . status ] } size = "small" >
52+ { release . status }
53+ { release . status === 'End-of-life' ? ' (EoL)' : '' }
54+ </ Badge >
55+ </ td >
56+ < td >
57+ < DetailsButton data = { release } />
58+ </ td >
59+ </ tr >
60+ ) ) }
61+ </ tbody >
62+ </ table >
63+ </ ModalProvider >
5764 ) ;
5865} ;
5966
0 commit comments