import TabButtons from '@components/shared/TabButtons' import mangoStore, { TokenStatsItem } from '@store/mangoStore' import useMangoGroup from 'hooks/useMangoGroup' import { useTranslation } from 'next-i18next' import dynamic from 'next/dynamic' import { useEffect, useMemo, useState } from 'react' const DetailedAreaChart = dynamic( () => import('@components/shared/DetailedAreaChart'), { ssr: false } ) const ChartTabs = ({ token }: { token: string }) => { const { t } = useTranslation('token') const [activeDepositsTab, setActiveDepositsTab] = useState('token:deposits') const [activeBorrowsTab, setActiveBorrowsTab] = useState('token:borrows') const tokenStats = mangoStore((s) => s.tokenStats.data) const initialStatsLoad = mangoStore((s) => s.tokenStats.initialLoad) const loadingTokenStats = mangoStore((s) => s.tokenStats.loading) const actions = mangoStore((s) => s.actions) const { group } = useMangoGroup() useEffect(() => { if (group && !initialStatsLoad) { actions.fetchTokenStats() } }, [group]) const statsHistory = useMemo(() => { if (!tokenStats?.length) return [] return tokenStats.reduce((a: TokenStatsItem[], c: TokenStatsItem) => { if (c.symbol === token) { const copy = { ...c } copy.deposit_apr = copy.deposit_apr * 100 copy.borrow_apr = copy.borrow_apr * 100 a.push(copy) } return a.sort( (a, b) => new Date(a.date_hour).getTime() - new Date(b.date_hour).getTime() ) }, []) }, [tokenStats]) return (
setActiveDepositsTab(v)} showBorders values={[ ['token:deposits', 0], ['token:deposit-rates', 0], ]} />
{activeDepositsTab === 'token:deposits' ? ( x.toFixed(2)} title={`${token} ${t('token:deposits')}`} xKey="date_hour" yKey={'total_deposits'} /> ) : ( `${x.toFixed(2)}%`} title={`${token} ${t('token:deposit-rates')} APR`} xKey="date_hour" yKey={'deposit_apr'} /> )}
setActiveBorrowsTab(v)} showBorders values={[ ['token:borrows', 0], ['token:borrow-rates', 0], ]} />
{activeBorrowsTab === 'token:borrows' ? ( x.toFixed(2)} title={`${token} ${t('token:borrows')}`} xKey="date_hour" yKey={'total_borrows'} /> ) : ( `${x.toFixed(2)}%`} title={`${token} ${t('token:borrow-rates')} APR`} xKey="date_hour" yKey={'borrow_apr'} /> )}
) } export default ChartTabs