import { createFileRoute } from "@tanstack/react-router"; import { playerQueries } from "@/features/players/queries"; import PlayerStatsTable from "@/features/players/components/player-stats-table"; import { Suspense, useState, useDeferredValue } from "react"; import PlayerStatsTableSkeleton from "@/features/players/components/player-stats-table-skeleton"; import { prefetchServerQuery } from "@/lib/tanstack-query/utils/prefetch"; import LeagueHeadToHead from "@/features/players/components/league-head-to-head"; import { Box, Loader, Tabs, Button, Group, Container, Stack } from "@mantine/core"; export const Route = createFileRoute("/_authed/stats")({ component: Stats, beforeLoad: ({ context }) => { const queryClient = context.queryClient; prefetchServerQuery(queryClient, playerQueries.allStats('all')); prefetchServerQuery(queryClient, playerQueries.allStats('mainline')); prefetchServerQuery(queryClient, playerQueries.allStats('regional')); }, loader: () => ({ withPadding: false, fullWidth: true, header: { title: "Player Stats" }, refresh: [playerQueries.allStats().queryKey], }), }); function Stats() { const [viewType, setViewType] = useState<'all' | 'mainline' | 'regional'>('all'); const deferredViewType = useDeferredValue(viewType); const isStale = viewType !== deferredViewType; return ( Stats Head to Head }> }> ); }