diff --git a/src/frontend/src/components/forms/AuthenticationForm.tsx b/src/frontend/src/components/forms/AuthenticationForm.tsx index d8eea8d392..982b386265 100644 --- a/src/frontend/src/components/forms/AuthenticationForm.tsx +++ b/src/frontend/src/components/forms/AuthenticationForm.tsx @@ -332,10 +332,10 @@ export function RegistrationForm() { export function ModeSelector({ loginMode, - setMode + changePage }: Readonly<{ loginMode: boolean; - setMode: any; + changePage: (state: string) => void; }>) { const [sso_registration, registration_enabled] = useServerApiState( (state) => [state.sso_registration_enabled, state.registration_enabled] @@ -354,7 +354,7 @@ export function ModeSelector({ type='button' c='dimmed' size='xs' - onClick={() => setMode.close()} + onClick={() => changePage('register')} > Register @@ -365,7 +365,7 @@ export function ModeSelector({ type='button' c='dimmed' size='xs' - onClick={() => setMode.open()} + onClick={() => changePage('login')} > Go back to login diff --git a/src/frontend/src/pages/Auth/Login.tsx b/src/frontend/src/pages/Auth/Login.tsx index 139a4fdf65..91e3fcabe4 100644 --- a/src/frontend/src/pages/Auth/Login.tsx +++ b/src/frontend/src/pages/Auth/Login.tsx @@ -39,6 +39,14 @@ export default function Login() { const location = useLocation(); const [searchParams] = useSearchParams(); + useEffect(() => { + if (location.pathname === '/register') { + setMode.close(); + } else { + setMode.open(); + } + }, [location]); + // Data manipulation functions function ChangeHost(newHost: string | null): void { if (newHost === null) return; @@ -95,7 +103,10 @@ export default function Login() { )} {loginMode ? : } - + navigate(`/${newPage}`)} + /> diff --git a/src/frontend/src/router.tsx b/src/frontend/src/router.tsx index 297660ba3d..ad4a1b7fea 100644 --- a/src/frontend/src/router.tsx +++ b/src/frontend/src/router.tsx @@ -171,6 +171,7 @@ export const routes = ( }> } />, + } />, } />, } />, } />