diff --git a/web-ui/src/components/routes/Routes.jsx b/web-ui/src/components/routes/Routes.jsx index 7c238fa72..66d1800f7 100644 --- a/web-ui/src/components/routes/Routes.jsx +++ b/web-ui/src/components/routes/Routes.jsx @@ -106,7 +106,7 @@ export default function Routes() { - +
diff --git a/web-ui/src/pages/KudosPage.jsx b/web-ui/src/pages/KudosPage.jsx index 287963147..2a3e76c8a 100644 --- a/web-ui/src/pages/KudosPage.jsx +++ b/web-ui/src/pages/KudosPage.jsx @@ -1,4 +1,5 @@ import React, { useCallback, useContext, useEffect, useState } from "react"; +import { useParams } from 'react-router-dom'; import { styled } from "@mui/material/styles"; import { Button, Tab, Typography } from "@mui/material"; import MenuItem from '@mui/material/MenuItem'; @@ -43,6 +44,18 @@ const Root = styled("div")({ }, }); +const validTabName = (name) => { + switch (name) { + case "received": + case "sent": + break; + default: + name && console.warn(`Invalid tab: ${name}`); + name = "received"; + } + return name; +} + const DateRange = { THREE_MONTHS: '3mo', SIX_MONTHS: '6mo', @@ -51,13 +64,14 @@ const DateRange = { }; const KudosPage = () => { + const { initialTab } = useParams(); const { state, dispatch } = useContext(AppContext); const csrf = selectCsrfToken(state); const currentUser = selectCurrentUser(state); const [kudosDialogOpen, setKudosDialogOpen] = useState(false); - const [kudosTab, setKudosTab] = useState("RECEIVED"); + const [kudosTab, setKudosTab] = useState(validTabName(initialTab)); const [receivedKudos, setReceivedKudos] = useState([]); const [receivedKudosLoading, setReceivedKudosLoading] = useState(true); const [sentKudos, setSentKudos] = useState([]); @@ -134,18 +148,7 @@ const KudosPage = () => { const handleTabChange = useCallback( (event, newTab) => { - switch (newTab) { - case "RECEIVED": - setKudosTab("RECEIVED"); - break; - case "SENT": - setKudosTab("SENT"); - break; - default: - console.warn(`Invalid tab: ${newTab}`); - } - - setKudosTab(newTab); + setKudosTab(validTabName(newTab)); }, // eslint-disable-next-line react-hooks/exhaustive-deps [loadReceivedKudos, loadSentKudos] @@ -189,19 +192,19 @@ const KudosPage = () => { } iconPosition="start" /> } iconPosition="start" /> - + {receivedKudosLoading ? ( Array.from({ length: 5 }).map((_, index) => ( @@ -228,7 +231,7 @@ const KudosPage = () => { )} - + {sentKudosLoading ? ( Array.from({ length: 5 }).map((_, index) => (