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) => (