From 86d8b7a889fa86cc3e6dbac8dd57d5973484dd94 Mon Sep 17 00:00:00 2001 From: Linda Baker Date: Wed, 29 May 2024 10:57:41 -0600 Subject: [PATCH] Added throbber to display while message-count-week-charts load --- .../message-count-week-chart.tsx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gui/src/components/message-counts/message-count-week-chart.tsx b/gui/src/components/message-counts/message-count-week-chart.tsx index 2f2b1a1..e8dec97 100644 --- a/gui/src/components/message-counts/message-count-week-chart.tsx +++ b/gui/src/components/message-counts/message-count-week-chart.tsx @@ -3,6 +3,7 @@ import { Typography, CardHeader, CardContent, + Box, } from "@mui/material"; import React, { useEffect, useState} from "react"; import MessageMonitorApi from '../../apis/mm-api'; @@ -10,6 +11,7 @@ import {LocalizationProvider } from '@mui/x-date-pickers'; import AdapterDateFns from '@date-io/date-fns'; import { LineChart, Line, XAxis, YAxis, ResponsiveContainer, Tooltip, TooltipProps } from 'recharts'; import { NameType, ValueType } from "recharts/types/component/DefaultTooltipContent"; +import CircularProgress from '@mui/material/CircularProgress'; export const MessageCountWeekChart = (props: { accessToken: string | undefined; @@ -24,10 +26,12 @@ export const MessageCountWeekChart = (props: { type ChartData = { date: string; count: number; dayOfWeek: string }; const [messageCounts, setMessageCounts] = useState([]); + const [loading, setLoading] = useState(true); let promises: Promise<{ date: string; count: number; dayOfWeek: string; }>[] = []; useEffect(() => { if (accessToken) { + setLoading(true); const weekCounts: ChartData[] = []; for (let i = 0; i < 7; i++) { @@ -60,6 +64,7 @@ useEffect(() => { Promise.all(promises) .then((weekCounts) => { setMessageCounts(weekCounts); + setLoading(false); }) .catch((error) => console.error(error)); @@ -113,8 +118,17 @@ return ( sx={{ pb: 0 }} /> - - {hasData ? ( + + {loading ? ( + + + + ) : hasData ? (