@@ -2,46 +2,65 @@ import React from 'react';
2
2
3
3
import useDocusaurusContext from '@docusaurus/useDocusaurusContext' ;
4
4
5
- export function getReleaseInfo ( ) {
5
+ export function getReleaseBranches ( ) {
6
6
const {
7
7
siteConfig : {
8
8
customFields : {
9
- releases : {
10
- rabbitmq : releases
9
+ releaseBranches : {
10
+ rabbitmq : releaseBranches
11
11
} ,
12
12
} ,
13
13
} ,
14
14
} = useDocusaurusContext ( ) ;
15
15
16
- return releases ;
16
+ return releaseBranches ;
17
+ }
18
+
19
+ export function getReleaseBranch ( branch ) {
20
+ const releaseBranches = getReleaseBranches ( ) ;
21
+ const releaseBranch = releaseBranches [ branch ] ;
22
+ return releaseBranch ;
23
+ }
24
+
25
+ export function getLatestRelease ( branch ) {
26
+ const releaseBranch = getReleaseBranch ( branch ) ;
27
+ const release = releaseBranch . releases [ 0 ] ;
28
+ return release ;
29
+ }
30
+
31
+ export function getLatestVersion ( branch ) {
32
+ const release = getLatestRelease ( branch ) ;
33
+ return release . version ;
17
34
}
18
35
19
36
export function RabbitMQServerReleaseInfoTable ( ) {
20
- const releases = getReleaseInfo ( ) ;
37
+ const releaseBranches = getReleaseBranches ( ) ;
21
38
22
39
const now = Date . now ( ) ;
23
40
const dateOptions = { year : 'numeric' , month : 'short' , day : 'numeric' } ;
24
41
25
42
var sawLatestRelease = false ;
26
43
27
44
var rows = [ ] ;
28
- for ( const series in releases ) {
29
- if ( series == 'Next' ) {
45
+ for ( const branch in releaseBranches ) {
46
+ if ( branch == 'Next' ) {
30
47
continue ;
31
48
}
32
49
33
- const release = releases [ series ] ;
50
+ const releaseBranch = releaseBranches [ branch ] ;
51
+ const releases = releaseBranch . releases ;
52
+ const lastRelease = releases [ 0 ] ;
34
53
35
- const isReleased = typeof release . first_release !== 'undefined' ;
54
+ const isReleased = typeof lastRelease . release_date !== 'undefined' ;
36
55
37
56
var links ;
38
57
if ( isReleased ) {
39
58
links = [ {
40
59
label : "Release Notes" ,
41
- url : `https://github.com/rabbitmq/rabbitmq-server/releases/tag/v${ release . version } `
60
+ url : `https://github.com/rabbitmq/rabbitmq-server/releases/tag/v${ lastRelease . version } `
42
61
} ] ;
43
- if ( release . links ) {
44
- links = links . concat ( release . links ) ;
62
+ if ( lastRelease . links ) {
63
+ links = links . concat ( lastRelease . links ) ;
45
64
}
46
65
47
66
links = (
@@ -56,20 +75,21 @@ export function RabbitMQServerReleaseInfoTable() {
56
75
links = < > </ >
57
76
}
58
77
78
+ const initialRelease = releases [ releases . length - 1 ] ;
59
79
var initialReleaseDate ;
60
- if ( release . first_release ) {
61
- const date = new Date ( release . first_release ) ;
80
+ if ( initialRelease . release_date ) {
81
+ const date = new Date ( initialRelease . release_date ) ;
62
82
initialReleaseDate = date . toLocaleDateString ( "en-GB" , dateOptions ) ;
63
83
} else {
64
84
initialReleaseDate = < > </ > ;
65
85
}
66
86
67
87
var endOfSupportDates = [ ] ;
68
- if ( release . end_of_community_support ) {
69
- endOfSupportDates . push ( release . end_of_community_support ) ;
88
+ if ( releaseBranch . end_of_community_support ) {
89
+ endOfSupportDates . push ( releaseBranch . end_of_community_support ) ;
70
90
}
71
- if ( release . end_of_commercial_support ) {
72
- endOfSupportDates . push ( release . end_of_commercial_support ) ;
91
+ if ( releaseBranch . end_of_commercial_support ) {
92
+ endOfSupportDates . push ( releaseBranch . end_of_commercial_support ) ;
73
93
}
74
94
75
95
endOfSupportDates = endOfSupportDates . map ( function ( rawDate ) {
@@ -100,8 +120,8 @@ export function RabbitMQServerReleaseInfoTable() {
100
120
101
121
rows . push (
102
122
< tr className = { latestReleaseClass } >
103
- < td class = "release-series " > { series } </ td >
104
- < td class = "release-patch " > { release . version || "-" } </ td >
123
+ < td class = "release-branch " > { branch } </ td >
124
+ < td class = "release-version " > { lastRelease . version || "-" } </ td >
105
125
< td class = "release-links" > { links } </ td >
106
126
< td class = "release-date" > { initialReleaseDate } </ td >
107
127
{ endOfSupportDates }
@@ -113,27 +133,23 @@ export function RabbitMQServerReleaseInfoTable() {
113
133
< div className = "release-information" >
114
134
< table >
115
135
< tr >
116
- < th rowspan = "2" > Ver.</ th >
117
- < th rowspan = "2" > Latest Rel.</ th >
118
- < th rowspan = "2" > Links</ th >
119
- < th rowspan = "2" > Initial Release</ th >
120
- < th colspan = "2" > End of Support</ th >
121
- </ tr >
122
- < tr >
123
- < th > Community</ th >
124
- < th > Ext. Commercial</ th >
136
+ < th > Release</ th >
137
+ < th colspan = "2" > Latest Patch</ th >
138
+ < th > Date of First Release</ th >
139
+ < th > End of Community Support</ th >
140
+ < th > End of Extended Commercial Support</ th >
125
141
</ tr >
126
- < tr > </ tr >
127
142
128
143
{ rows }
129
144
130
145
</ table >
131
- < p > < strong > Legend:</ strong > </ p >
132
- < ul className = "release-legend" >
133
- < li className = "supported-releaase latest-release" > Latest release, fully supported</ li >
134
- < li className = "supported-release" > Older release, still supported but upgrade is recommended</ li >
135
- < li className = "unsupported-release" > Old release, unsupported</ li >
136
- { /*<li className="unsupported-release future-release">Future version, unsupported</li>*/ }
137
- </ ul >
146
+
147
+ < strong > Legend:</ strong >
148
+ < dl className = "release-legend" >
149
+ < dt className = "supported-releaase latest-release" > </ dt > < dd > Latest release, fully supported</ dd >
150
+ < dt className = "supported-release" > </ dt > < dd > Older release, still supported but upgrade is recommended</ dd >
151
+ < dt className = "unsupported-release" > </ dt > < dd > Old release, unsupported</ dd >
152
+ { /*<dt className="unsupported-release future-release"></dt><dd>Future version, unsupported</dd>*/ }
153
+ </ dl >
138
154
</ div > ) ;
139
155
}
0 commit comments