@@ -28,25 +28,27 @@ const AdminPortalPage = () => {
28
28
MultiValue < SelectOptionType >
29
29
> ( [ ] ) ;
30
30
31
+ const fetchAndSetAllUsers = ( ) => {
32
+ fetchAllUsers ( ) . then ( ( allUsers ) => {
33
+ setAdminOptions (
34
+ allUsers . payload
35
+ . filter ( ( user : User ) => user . role === "user" )
36
+ . map ( ( user : User ) => ( { label : user . name , value : user . uid } ) ) ,
37
+ ) ;
38
+ } ) ;
39
+ } ;
40
+
31
41
useEffect ( ( ) => {
32
- if ( isAdmin ) {
33
- fetchAllUsers ( ) . then ( ( allUsers ) => {
34
- setAdminOptions (
35
- allUsers . payload
36
- . filter ( ( user : User ) => user . role === "user" )
37
- . map ( ( user : User ) => ( { label : user . name , value : user . uid } ) ) ,
38
- ) ;
39
- } ) ;
40
- }
41
- } , [ api , contextHolder ] ) ;
42
+ fetchAndSetAllUsers ( ) ;
43
+ } , [ ] ) ;
42
44
43
45
const handleSelectChange = (
44
46
selectedOptions : MultiValue < SelectOptionType > ,
45
47
) => {
46
- setSelectedQnType ( selectedOptions ) ;
48
+ setSelectedAdmins ( selectedOptions ) ;
47
49
} ;
48
50
49
- const [ selectedQnType , setSelectedQnType ] = useState <
51
+ const [ selectedAdmins , setSelectedAdmins ] = useState <
50
52
MultiValue < SelectOptionType >
51
53
> ( [ ] ) ;
52
54
@@ -84,7 +86,7 @@ const AdminPortalPage = () => {
84
86
instanceId = "admin-portal"
85
87
isMulti
86
88
required
87
- value = { selectedQnType }
89
+ value = { selectedAdmins }
88
90
onChange = { handleSelectChange }
89
91
name = "question type"
90
92
options = { adminOptions }
@@ -95,7 +97,7 @@ const AdminPortalPage = () => {
95
97
< Button
96
98
className = "btn-accent"
97
99
onClick = { ( ) => {
98
- promoteToAdmin ( selectedQnType . map ( ( option ) => option . value ) )
100
+ promoteToAdmin ( selectedAdmins . map ( ( option ) => option . value ) )
99
101
. then ( ( res ) => {
100
102
if ( res . statusMessage . type . toLowerCase ( ) === "success" ) {
101
103
api . success ( {
@@ -110,7 +112,8 @@ const AdminPortalPage = () => {
110
112
}
111
113
} )
112
114
. then ( ( ) => {
113
- setSelectedQnType ( [ ] ) ;
115
+ fetchAndSetAllUsers ( ) ;
116
+ setSelectedAdmins ( [ ] ) ;
114
117
} ) ;
115
118
} }
116
119
>
0 commit comments