@@ -4,13 +4,12 @@ import React, { useEffect, useState } from "react";
4
4
import styles from "./styles.module.css" ;
5
5
6
6
export default function VersionUpdates ( { onLoad } ) {
7
- const [ { collapsed, errored , expanded, errors, queued } , setState ] =
7
+ const [ { collapsed, expanded, errors, queued } , setState ] =
8
8
useState ( {
9
- collapsed : { queued : true , errored : true } ,
9
+ collapsed : { queued : false , errored : true } ,
10
10
expanded : { } ,
11
- errored : [ ] ,
12
11
errors : { } ,
13
- queued : [ ]
12
+ queued : { }
14
13
} ) ;
15
14
const toggleItem = item => ( ) => setState ( prev => (
16
15
{ ...prev , expanded : { ...prev . expanded , [ item ] : ! prev . expanded [ item ] } }
@@ -35,9 +34,9 @@ export default function VersionUpdates({ onLoad }) {
35
34
< h3 >
36
35
Version Updates
37
36
{ " " }
38
- < span className = "badge badge--secondary" > { queued . length } </ span >
37
+ < span className = "badge badge--secondary" > { Object . keys ( queued ) . length } </ span >
39
38
{ " " }
40
- < span className = "badge badge--warning" > { errored . length } </ span >
39
+ < span className = "badge badge--warning" > { Object . keys ( errors ) . length } </ span >
41
40
</ h3 >
42
41
</ div >
43
42
< div className = "card__body" >
@@ -47,19 +46,19 @@ export default function VersionUpdates({ onLoad }) {
47
46
( collapsed . queued ? styles . collapsed : styles . expanded )
48
47
} >
49
48
Queued Version Updates{ " " }
50
- < span className = "badge badge--secondary" > { queued . length } </ span >
49
+ < span className = "badge badge--secondary" > { Object . keys ( queued ) . length } </ span >
51
50
</ div >
52
51
< div className = { styles . version_updates_content }
53
52
style = { collapsed . queued ?
54
53
{ display : "none" } :
55
54
{ display : "flex" , flexDirection : "row" }
56
55
} >
57
- { queued . map ( ( item , index ) => (
56
+ { Object . entries ( queued ) . map ( ( [ name , version ] , index ) => (
58
57
< div key = { index }
59
58
style = { { margin : 2 } }
60
59
className = { `${ styles . badge } badge badge--secondary` } >
61
- < Link href = { urls . versions . pr . replace ( "<NAME>" , item ) } >
62
- { item }
60
+ < Link href = { urls . versions . pr . replace ( "<NAME>" , name ) } >
61
+ { ` ${ name } ${ version } ` }
63
62
</ Link >
64
63
</ div >
65
64
) ) }
@@ -70,29 +69,29 @@ export default function VersionUpdates({ onLoad }) {
70
69
( collapsed . errored ? styles . collapsed : styles . expanded )
71
70
} >
72
71
Errored Version Updates{ " " }
73
- < span className = "badge badge--warning" > { errored . length } </ span >
72
+ < span className = "badge badge--warning" > { Object . keys ( errors ) . length } </ span >
74
73
</ div >
75
74
< div className = { styles . version_updates_content }
76
75
style = { collapsed . errored ?
77
76
{ display : "none" } :
78
77
{ display : "flex" , flexDirection : "column" } } >
79
- { errored . map ( ( item , index ) => (
78
+ { Object . entries ( errors ) . map ( ( [ name , message ] , index ) => (
80
79
< React . Fragment key = { index } >
81
80
< div className = {
82
81
styles . errored_item + " " +
83
- ( expanded [ item ] ? styles . expanded : styles . collapsed ) }
84
- onClick = { toggleItem ( item ) } >
82
+ ( expanded [ name ] ? styles . expanded : styles . collapsed ) }
83
+ onClick = { toggleItem ( name ) } >
85
84
< HoverEllipsis />
86
85
< div className = { `${ styles . badge } badge badge--secondary` } >
87
86
{ /* Prevent link clicks from expanding/collapsing. */ }
88
87
< Link onClick = { event => event . stopPropagation ( ) }
89
- href = { urls . versions . pr . replace ( "<NAME>" , item ) } > { item }
88
+ href = { urls . versions . pr . replace ( "<NAME>" , name ) } > { name }
90
89
</ Link >
91
90
</ div >
92
91
</ div >
93
92
< div className = { styles . errored_item_content }
94
- style = { { display : ! expanded [ item ] && "none" } } >
95
- < pre dangerouslySetInnerHTML = { { __html : errors [ item ] } } />
93
+ style = { { display : ! expanded [ name ] && "none" } } >
94
+ < pre dangerouslySetInnerHTML = { { __html : message } } />
96
95
</ div >
97
96
</ React . Fragment >
98
97
) ) }
0 commit comments