import { useQuery } from '@tanstack/react-query'; import { Spinner } from '../../components/spinner/Spinner'; import { DashboardService } from './dashboard-service'; export const Stats = () => { const toGrowth = (last: number, prev: number) => { let icon = ; if (last === prev) { icon = ; } else if (last > prev) { icon = ; } if (last && prev) { return (
{icon} {new Intl.NumberFormat('en-US', { style: 'percent', maximumFractionDigits: 0, }).format(last / prev - 1)}
); } }; const toUSD = (num: number): string => { return new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', }).format(num); }; const { data: dashboard, isLoading, isSuccess, } = useQuery({ queryKey: ['dashboard'], queryFn: DashboardService.dashboard, }); return (
{isLoading && } {isSuccess && ( <>

Today

{toUSD(dashboard.today_totals)}

{toGrowth( dashboard.today_totals, dashboard.yesterday_totals )}

{dashboard.today.toLocaleString()} orders

Yesterday

{toUSD(dashboard.yesterday_totals)}

{dashboard.yesterday.toLocaleString()}{' '} orders

Last 7 days

{toUSD(dashboard.last7_totals)}

{toGrowth( dashboard.last7_totals, dashboard.prev7_totals )}

{dashboard.last7.toLocaleString()} orders

Previous 7 days

{toUSD(dashboard.prev7_totals)}

{dashboard.prev7.toLocaleString()} orders

Last 30 days

{toUSD(dashboard.last30_totals)}

{toGrowth( dashboard.last30_totals, dashboard.prev30_totals )}

{dashboard.last30.toLocaleString()} orders

Previous 30 days

{toUSD(dashboard.prev30_totals)}

{dashboard.prev30.toLocaleString()} orders

)}
); };