import TabButtons from '@components/shared/TabButtons' import TokenPage from '@components/token/TokenPage' import mangoStore from '@store/mangoStore' import useMangoGroup from 'hooks/useMangoGroup' import { useViewport } from 'hooks/useViewport' import { useRouter } from 'next/router' import { useEffect, useMemo, useState } from 'react' import { breakpoints } from 'utils/theme' import MangoStats from './MangoStats' import PerpStats from './PerpStats' import PerpStatsPage from './PerpStatsPage' import SpotMarketsTable from './SpotMarketsTable' import TokenStats from './TokenStats' const TABS = ['tokens', 'perp-markets', 'spot-markets', 'mango-stats'] const StatsPage = () => { const [activeTab, setActiveTab] = useState('tokens') const actions = mangoStore.getState().actions const perpStats = mangoStore((s) => s.perpStats.data) const { group } = useMangoGroup() const { width } = useViewport() const fullWidthTabs = width ? width < breakpoints.lg : false const router = useRouter() const { market } = router.query const { token } = router.query useEffect(() => { if (group && (!perpStats || !perpStats.length)) { actions.fetchPerpStats() } }, [group, perpStats]) const tabsWithCount: [string, number][] = useMemo(() => { return TABS.map((t) => [t, 0]) }, []) return (
{market ? ( ) : token ? ( ) : ( <>
setActiveTab(v)} showBorders values={tabsWithCount} />
)}
) } export default StatsPage const TabContent = ({ activeTab }: { activeTab: string }) => { switch (activeTab) { case 'tokens': return case 'perp-markets': return case 'spot-markets': return case 'mango-stats': return default: return } }