1
1
import React , { useEffect , useState } from 'react' ;
2
2
import styled from 'styled-components' ;
3
- import axios from 'axios' ;
4
3
import DataTable , { createTheme } from 'react-data-table-component' ;
5
4
import { FormattedRelativeTime , defineMessages , useIntl , FormattedMessage } from 'react-intl' ;
6
5
import { selectUnit } from '@formatjs/intl-utils' ;
@@ -96,10 +95,16 @@ const messages = defineMessages({
96
95
function RestartInstanceButton ( { team } ) {
97
96
const [ restarting , setRestarting ] = useState ( false ) ;
98
97
99
- const restart = ( event ) => {
98
+ const restart = async ( event ) => {
100
99
event . preventDefault ( ) ;
101
100
setRestarting ( true ) ;
102
- axios . post ( `/balancer/admin/teams/${ team } /restart` ) . finally ( ( ) => setRestarting ( false ) ) ;
101
+ try {
102
+ await fetch ( `/balancer/admin/teams/${ team } /restart` , {
103
+ method : 'POST' ,
104
+ } ) ;
105
+ } finally {
106
+ setRestarting ( false ) ;
107
+ }
103
108
} ;
104
109
return (
105
110
< SmallSecondary onClick = { restart } >
@@ -115,10 +120,16 @@ function RestartInstanceButton({ team }) {
115
120
function RestartDesktopInstanceButton ( { team } ) {
116
121
const [ restarting , setRestarting ] = useState ( false ) ;
117
122
118
- const restart = ( event ) => {
123
+ const restart = async ( event ) => {
119
124
event . preventDefault ( ) ;
120
125
setRestarting ( true ) ;
121
- axios . post ( `/balancer/admin/teams/${ team } /restartdesktop` ) . finally ( ( ) => setRestarting ( false ) ) ;
126
+ try {
127
+ await fetch ( `/balancer/admin/teams/${ team } /restartdesktop` , {
128
+ method : 'POST' ,
129
+ } ) ;
130
+ } finally {
131
+ setRestarting ( false ) ;
132
+ }
122
133
} ;
123
134
return (
124
135
< SmallSecondary onClick = { restart } >
@@ -136,13 +147,20 @@ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
136
147
function DeleteInstanceButton ( { team } ) {
137
148
const [ deleting , setDeleting ] = useState ( false ) ;
138
149
139
- const remove = ( event ) => {
150
+ const remove = async ( event ) => {
140
151
event . preventDefault ( ) ;
141
152
setDeleting ( true ) ;
142
153
143
- Promise . all ( [ sleep ( 3000 ) , axios . delete ( `/balancer/admin/teams/${ team } /delete` ) ] ) . finally ( ( ) =>
144
- setDeleting ( false )
145
- ) ;
154
+ try {
155
+ await Promise . all ( [
156
+ sleep ( 3000 ) ,
157
+ fetch ( `/balancer/admin/teams/${ team } /delete` , {
158
+ method : 'DELETE' ,
159
+ } ) ,
160
+ ] ) ;
161
+ } finally {
162
+ setDeleting ( false ) ;
163
+ }
146
164
} ;
147
165
return (
148
166
< WarnSmallSecondary onClick = { remove } >
@@ -185,17 +203,17 @@ export default function AdminPage() {
185
203
const columns = [
186
204
{
187
205
name : formatMessage ( messages . teamname ) ,
188
- selector : ' team' ,
206
+ selector : row => row . team ,
189
207
sortable : true ,
190
208
} ,
191
209
{
192
210
name : formatMessage ( messages . name ) ,
193
- selector : ' name' ,
211
+ selector : row => row . name ,
194
212
sortable : true ,
195
213
} ,
196
214
{
197
215
name : formatMessage ( messages . ready ) ,
198
- selector : ' ready' ,
216
+ selector : row => row . ready ,
199
217
sortable : true ,
200
218
right : true ,
201
219
// ready is just a emoji, so the colum can shrink
@@ -204,7 +222,7 @@ export default function AdminPage() {
204
222
} ,
205
223
{
206
224
name : formatMessage ( messages . created ) ,
207
- selector : ' createdAt' ,
225
+ selector : row => row . createdAt ,
208
226
sortable : true ,
209
227
format : ( { createdAt } ) => {
210
228
const { value, unit } = selectUnit ( createdAt ) ;
@@ -217,7 +235,7 @@ export default function AdminPage() {
217
235
} ,
218
236
{
219
237
name : formatMessage ( messages . lastUsed ) ,
220
- selector : ' lastConnect' ,
238
+ selector : row => row . lastConnect ,
221
239
sortable : true ,
222
240
format : ( { lastConnect } ) => {
223
241
const { value, unit } = selectUnit ( lastConnect ) ;
@@ -230,7 +248,7 @@ export default function AdminPage() {
230
248
} ,
231
249
{
232
250
name : formatMessage ( messages . actions ) ,
233
- selector : ' actions' ,
251
+ selector : row => row . actions ,
234
252
right : true ,
235
253
cell : ( { team } ) => {
236
254
return (
0 commit comments