@@ -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+
4456const 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