@@ -2,7 +2,6 @@ import React, { useEffect, useState } from 'react'
2
2
import Head from 'next/head'
3
3
import { CloudProvider , CloudRegion , getAllCloudRegions , getAllProviders } from '../../data'
4
4
import { GetStaticPropsResult } from 'next'
5
- import { Checkbox , Heading , Image , Stack , Text } from '@chakra-ui/core'
6
5
7
6
interface CloudPingProps {
8
7
providers : CloudProvider [ ]
@@ -187,46 +186,43 @@ export default function CloudPing(props: CloudPingProps): JSX.Element {
187
186
188
187
< img src = "" id = "url-ping" alt = "Ping" style = { { display : 'none' } } />
189
188
190
- < Stack isInline spacing = { 12 } >
191
- < Stack marginBottom = { 6 } >
192
- < Heading as = "h4" size = "md" >
193
- Providers
194
- </ Heading >
189
+ < div className = "flex" >
190
+ < div className = "mr-4" >
191
+ < h4 > Providers</ h4 >
195
192
{ props . providers . map ( ( provider ) => (
196
- < Checkbox key = { provider . key } isChecked = { selectedProviders . includes ( provider . key ) } onChange = { toggleProviderFilter ( provider . key ) } >
193
+ < div key = { provider . key } >
194
+ < input type = "checkbox" defaultChecked = { selectedProviders . includes ( provider . key ) } onChange = { toggleProviderFilter ( provider . key ) } />
197
195
{ provider . display_name }
198
- </ Checkbox >
196
+ </ div >
199
197
) ) }
200
- </ Stack >
198
+ </ div >
201
199
202
- < Stack >
203
- < Heading as = "h4" size = "md" >
204
- Locations
205
- </ Heading >
200
+ < div >
201
+ < h4 > Locations</ h4 >
206
202
207
- < Stack isInline spacing = { 12 } >
203
+ < div className = "flex" >
208
204
{ Object . keys ( props . continents ) . map ( ( continent ) => {
209
205
const allSelected = props . continents [ continent ] . some ( ( x ) => selectedCountries . includes ( x ) )
210
206
return (
211
- < Stack key = { continent } >
212
- < Checkbox isChecked = { allSelected } onChange = { toggleContinentFilter ( continent ) } >
213
- < Heading as = "h6" size = "sm" >
214
- { continent }
215
- </ Heading >
216
- </ Checkbox >
217
- < Stack key = { continent } >
207
+ < div key = { continent } className = "mr-4" >
208
+ < div >
209
+ < input type = "checkbox" defaultChecked = { allSelected } onChange = { toggleContinentFilter ( continent ) } />
210
+ < h6 className = "inline" > { continent } </ h6 >
211
+ </ div >
212
+ < div key = { continent } >
218
213
{ props . continents [ continent ] . map ( ( country ) => (
219
- < Checkbox key = { country } isChecked = { selectedCountries . includes ( country ) } onChange = { toggleCountryFilter ( country ) } >
220
- < Image htmlWidth = "20px" src = { `/images/country/${ country . toLowerCase ( ) } .svg` } title = { country } alt = { country } />
221
- </ Checkbox >
214
+ < div key = { country } >
215
+ < input type = "checkbox" defaultChecked = { selectedCountries . includes ( country ) } onChange = { toggleCountryFilter ( country ) } />
216
+ < img className = "w-5 inline" src = { `/images/country/${ country . toLowerCase ( ) } .svg` } title = { country } alt = { country } />
217
+ </ div >
222
218
) ) }
223
- </ Stack >
224
- </ Stack >
219
+ </ div >
220
+ </ div >
225
221
)
226
222
} ) }
227
- </ Stack >
228
- </ Stack >
229
- </ Stack >
223
+ </ div >
224
+ </ div >
225
+ </ div >
230
226
231
227
< table style = { { width : '100%' , borderSpacing : '5px' , borderCollapse : 'separate' } } >
232
228
< tbody >
@@ -241,21 +237,26 @@ export default function CloudPing(props: CloudPingProps): JSX.Element {
241
237
} }
242
238
>
243
239
< td >
244
- < Stack margin = { 2 } isInline spacing = { 4 } >
245
- < Image htmlWidth = "30px" src = { `/images/provider/${ x . provider . key } .svg` } title = { x . provider . display_name } alt = { x . provider . display_name } />
246
- < Stack >
247
- < Text > { x . region . key } </ Text >
248
- < Stack isInline >
249
- < Image htmlWidth = "20px" src = { `/images/country/${ x . region . country . toLowerCase ( ) } .svg` } title = { x . region . country } alt = { x . region . country } />
250
- < Text > ·</ Text >
251
- < Text >
240
+ < div className = "flex" >
241
+ < img className = "w-8 inline" src = { `/images/provider/${ x . provider . key } .svg` } title = { x . provider . display_name } alt = { x . provider . display_name } />
242
+ < div className = "ml-4" >
243
+ < span > { x . region . key } </ span >
244
+ < div className = "flex mt-1" >
245
+ < img
246
+ className = "w-5 inline"
247
+ src = { `/images/country/${ x . region . country . toLowerCase ( ) } .svg` }
248
+ title = { x . region . country }
249
+ alt = { x . region . country }
250
+ />
251
+ < span className = "ml-1" > ·</ span >
252
+ < span className = "ml-1" >
252
253
{ x . region . location } , { x . region . country }
253
- </ Text >
254
- < Text > ·</ Text >
255
- < Text > { x . medianLatency } ms</ Text >
256
- </ Stack >
257
- </ Stack >
258
- </ Stack >
254
+ </ span >
255
+ < span className = "ml-1" > ·</ span >
256
+ < span className = "ml-1" > { x . medianLatency } ms</ span >
257
+ </ div >
258
+ </ div >
259
+ </ div >
259
260
</ td >
260
261
</ tr >
261
262
)
0 commit comments