2021-04-29 15:56:28 +00:00
|
|
|
import { useState } from 'react'
|
|
|
|
import { Button } from 'react-bootstrap'
|
2021-04-12 18:05:09 +00:00
|
|
|
import useSWR from 'swr'
|
|
|
|
|
|
|
|
const fetcher = url => fetch(url).then(res => res.json())
|
|
|
|
|
|
|
|
export default function Price () {
|
2021-04-29 15:56:28 +00:00
|
|
|
const [asSats, setAsSats] = useState(false)
|
|
|
|
|
2021-04-28 19:30:14 +00:00
|
|
|
const { data } = useSWR(
|
|
|
|
'https://api.coinbase.com/v2/prices/BTC-USD/spot',
|
|
|
|
fetcher,
|
|
|
|
{
|
|
|
|
refreshInterval: 30000
|
|
|
|
})
|
2021-04-12 18:05:09 +00:00
|
|
|
|
|
|
|
if (!data) return null
|
|
|
|
|
2021-04-29 15:56:28 +00:00
|
|
|
const fixed = n => Number.parseFloat(n).toFixed(2)
|
|
|
|
const handleClick = () => setAsSats(!asSats)
|
|
|
|
if (asSats) {
|
|
|
|
return (
|
|
|
|
<Button className='text-reset' onClick={handleClick} variant='link'>
|
|
|
|
{fixed(100000000 / data.data.amount) + ' sats/$'}
|
|
|
|
</Button>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
return (
|
|
|
|
<Button className='text-reset' onClick={handleClick} variant='link'>
|
|
|
|
{'$' + fixed(data.data.amount)}
|
|
|
|
</Button>
|
|
|
|
)
|
2021-04-12 18:05:09 +00:00
|
|
|
}
|