From b394578a185ffd7ab26dfdde5cb9f974fe3cf281 Mon Sep 17 00:00:00 2001 From: Jannis Mattheis Date: Sat, 13 Sep 2025 10:34:07 +0200 Subject: [PATCH] fix: preserve url path when refreshing the page Don't redirect to /#/login when the tryAuthenticate hasn't completed. This caused the url path to be changed to /#/login regardaless if the user was already logged in. --- ui/src/layout/Layout.tsx | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/ui/src/layout/Layout.tsx b/ui/src/layout/Layout.tsx index 75f6cc1..7840cb4 100644 --- a/ui/src/layout/Layout.tsx +++ b/ui/src/layout/Layout.tsx @@ -55,6 +55,7 @@ const Layout = observer(() => { const { currentUser: { loggedIn, + authenticating, user: {name, admin}, logout, tryReconnect, @@ -79,7 +80,9 @@ const Layout = observer(() => { }; const authed = (children: React.ReactNode) => ( - {children} + + {children} + ); return ( @@ -167,11 +170,16 @@ const Lazy = ({component}: {component: () => Promise<{default: React.ComponentTy ); }; -const RequireAuth: React.FC> = ({ - children, - loggedIn, -}) => { - return loggedIn ? <>{children} : ; +const RequireAuth: React.FC< + React.PropsWithChildren<{loggedIn: boolean; authenticating: boolean}> +> = ({children, authenticating, loggedIn}) => { + if (authenticating) { + return ; + } + if (!loggedIn) { + return ; + } + return <>{children}; }; export default Layout;