Keep App component loaded while navigating (#247)

* Make /settings not throw away App component

* Make App not reload for Onboarding

* Close sidebar when navigating to /settings

* Use centralized constants for route pathnames

* Clean up a few stray raw path literals
This commit is contained in:
Frank Noirot
2023-08-10 13:30:32 -04:00
committed by GitHub
parent dbb94d7e95
commit 3a93839a2d
10 changed files with 163 additions and 97 deletions

View File

@ -6,6 +6,7 @@ import { useNavigate } from 'react-router-dom'
import { useEffect } from 'react'
import { isTauri } from './lib/isTauri'
import Loading from './components/Loading'
import { paths } from './Router'
// Wrapper around protected routes, used in src/Router.tsx
export const Auth = ({ children }: React.PropsWithChildren) => {
@ -27,7 +28,7 @@ export const Auth = ({ children }: React.PropsWithChildren) => {
(isTauri() && !token) ||
(!isTauri() && !isLoading && !(user && 'id' in user))
) {
navigate('/signin')
navigate(paths.SIGN_IN)
}
}, [user, token, navigate, isLoading])