import { Bank } from '@blockworks-foundation/mango-v4' import TabButtons from '@components/shared/TabButtons' import mangoStore from '@store/mangoStore' import { useTranslation } from 'next-i18next' import { useEffect, useMemo, useState } from 'react' import { TokenStatsItem } from 'types' import { formatYAxis } from 'utils/formatting' import DetailedAreaOrBarChart from '@components/shared/DetailedAreaOrBarChart' import TokenRatesChart from './TokenRatesChart' const ChartTabs = ({ bank }: { bank: Bank }) => { const { t } = useTranslation('token') const [activeDepositsTab, setActiveDepositsTab] = useState('token:deposits') const [activeBorrowsTab, setActiveBorrowsTab] = useState('token:borrows') const [depositDaysToShow, setDepositDaysToShow] = useState('30') const [borrowDaysToShow, setBorrowDaysToShow] = useState('30') const [depositRateDaysToShow, setDepositRateDaysToShow] = useState('30') const [borrowRateDaysToShow, setBorrowRateDaysToShow] = useState('30') const tokenStats = mangoStore((s) => s.tokenStats.data) const loadingTokenStats = mangoStore((s) => s.tokenStats.loading) const tokenStatsInitialLoad = mangoStore((s) => s.tokenStats.initialLoad) useEffect(() => { if (!tokenStatsInitialLoad) { const actions = mangoStore.getState().actions actions.fetchTokenStats() } }, [tokenStatsInitialLoad]) const statsHistory = useMemo(() => { if (!tokenStats?.length) return [] return tokenStats.reduce((a: TokenStatsItem[], c: TokenStatsItem) => { if (c.token_index === bank.tokenIndex) { const copy = { ...c } a.push(copy) } return a.sort( (a, b) => new Date(a.date_hour).getTime() - new Date(b.date_hour).getTime(), ) }, []) }, [tokenStats, bank]) return (
setActiveDepositsTab(v)} showBorders values={[ ['token:deposits', 0], ['token:deposit-rates', 0], ]} />
{activeDepositsTab === 'token:deposits' ? ( formatYAxis(x)} title={`${t('token:deposits')}`} xKey="date_hour" yKey={'total_deposits'} /> ) : ( )}
setActiveBorrowsTab(v)} showBorders values={[ ['token:borrows', 0], ['token:borrow-rates', 0], ]} />
{activeBorrowsTab === 'token:borrows' ? ( formatYAxis(x)} title={`${t('token:borrows')}`} xKey="date_hour" yKey={'total_borrows'} /> ) : ( )}
) } export default ChartTabs