Skip to content

Commit 3b46afa

Browse files
committed
Validate tab names on load.
1 parent a5009a6 commit 3b46afa

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

web-ui/src/pages/KudosPage.jsx

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,18 @@ const Root = styled("div")({
4141
},
4242
});
4343

44+
const validTabName = (name) => {
45+
switch (name) {
46+
case "received":
47+
case "sent":
48+
break;
49+
default:
50+
name && console.warn(`Invalid tab: ${name}`);
51+
name = "received";
52+
}
53+
return name;
54+
};
55+
4456
const KudosPage = () => {
4557
const { initialTab } = useParams();
4658
const { state, dispatch } = useContext(AppContext);
@@ -49,7 +61,7 @@ const KudosPage = () => {
4961
const currentUser = selectCurrentUser(state);
5062

5163
const [kudosDialogOpen, setKudosDialogOpen] = useState(false);
52-
const [kudosTab, setKudosTab] = useState(initialTab ?? "received");
64+
const [kudosTab, setKudosTab] = useState(validTabName(initialTab));
5365
const [receivedKudos, setReceivedKudos] = useState([]);
5466
const [receivedKudosLoading, setReceivedKudosLoading] = useState(true);
5567
const [sentKudos, setSentKudos] = useState([]);
@@ -102,18 +114,7 @@ const KudosPage = () => {
102114

103115
const handleTabChange = useCallback(
104116
(event, newTab) => {
105-
switch (newTab) {
106-
case "received":
107-
setKudosTab("received");
108-
break;
109-
case "sent":
110-
setKudosTab("sent");
111-
break;
112-
default:
113-
console.warn(`Invalid tab: ${newTab}`);
114-
}
115-
116-
setKudosTab(newTab);
117+
setKudosTab(validTabName(newTab));
117118
},
118119
// eslint-disable-next-line react-hooks/exhaustive-deps
119120
[loadReceivedKudos, loadSentKudos]

0 commit comments

Comments
 (0)