@@ -69,8 +69,9 @@ export function useTenantPage() {
6969 const handleTenantPageChange = React . useCallback (
7070 ( value ?: TenantPage ) => {
7171 setQueryParams ( { tenantPage : value } ) ;
72+ setInitialTenantPage ( value ) ;
7273 } ,
73- [ setQueryParams ] ,
74+ [ setQueryParams , setInitialTenantPage ] ,
7475 ) ;
7576
7677 const parsedInitialPage = React . useMemo (
@@ -88,19 +89,12 @@ export function useTenantPage() {
8889
8990 React . useEffect ( ( ) => {
9091 try {
91- // Check whether query has valid tenantPage param
92- const parsedQueryPage = tenantPageSchema . parse ( tenantPageFromQuery ) ;
93-
94- // Save query page as initial if they differ
95- if ( parsedQueryPage !== parsedInitialPage ) {
96- setInitialTenantPage ( parsedQueryPage ) ;
97- }
92+ tenantPageSchema . parse ( tenantPageFromQuery ) ;
9893 } catch {
99- // If query page is not valid, set saved page to query
100- // `replaceIn` to not create new history entry when applying previously saved tab
94+ // Invalid value in URL - replace with valid fallback
10195 setQueryParams ( { tenantPage : parsedInitialPage } , 'replaceIn' ) ;
10296 }
103- } , [ tenantPageFromQuery , parsedInitialPage , setQueryParams , setInitialTenantPage ] ) ;
97+ } , [ parsedInitialPage , setQueryParams , tenantPageFromQuery ] ) ;
10498
10599 return { tenantPage, handleTenantPageChange} as const ;
106100}
0 commit comments