asi-calculator/features/strategies/components/Swap/Swap.tsx

39 lines
1.1 KiB
TypeScript
Raw Normal View History

2024-03-31 16:48:31 +02:00
'use client'
import { useState } from 'react'
import { useDebounce } from 'use-debounce'
import { SwapResults } from './Results'
import { TokenSymbol } from '@/types'
2024-04-01 14:42:08 +02:00
import { FormAmount, FormMarket } from '@/features/strategies/components'
import stylesShared from '@/features/strategies/styles/shared.module.css'
import { type Market } from '@/features/strategies'
2024-03-31 16:48:31 +02:00
export function Swap() {
const [amount, setAmount] = useState(100)
const [debouncedAmount] = useDebounce(amount, 500)
2024-03-31 23:50:43 +02:00
const [tokenSymbol, setTokenSymbol] = useState<TokenSymbol>('OCEAN')
2024-04-01 14:42:08 +02:00
const [market, setMarket] = useState<Market>('all')
2024-03-31 16:48:31 +02:00
return (
<div className={stylesShared.results}>
<h3 className={stylesShared.title}>
Holding or swapping{' '}
<FormAmount
amount={amount}
2024-03-31 23:50:43 +02:00
token={tokenSymbol}
2024-03-31 16:48:31 +02:00
setAmount={setAmount}
2024-03-31 23:50:43 +02:00
setToken={setTokenSymbol}
2024-03-31 16:48:31 +02:00
/>{' '}
2024-04-01 14:42:08 +02:00
on <FormMarket market={market} setMarket={setMarket} /> right now gets
you:
2024-03-31 16:48:31 +02:00
</h3>
2024-04-01 14:42:08 +02:00
<SwapResults
tokenSymbol={tokenSymbol}
amount={debouncedAmount}
market={market}
/>
2024-03-31 16:48:31 +02:00
</div>
)
}