From 73dd69a4c22f93b2050a3894feabedd3509ee543 Mon Sep 17 00:00:00 2001 From: joshuakrueger-dfx Date: Mon, 11 May 2026 11:49:17 +0200 Subject: [PATCH] feat: redirect / to login or account based on session --- src/App.tsx | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 01e9f06d..d02e68a4 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,8 +1,8 @@ -import { DfxContextProvider, PaymentRoutesContextProvider, SupportChatContextProvider } from '@dfx.swiss/react'; +import { DfxContextProvider, PaymentRoutesContextProvider, SupportChatContextProvider, useSessionContext } from '@dfx.swiss/react'; import { SpinnerSize, StyledLoadingSpinner } from '@dfx.swiss/react-components'; import { Router } from '@remix-run/router'; import { Suspense, lazy } from 'react'; -import { LoaderFunctionArgs, Outlet, RouteObject, RouterProvider, redirect } from 'react-router-dom'; +import { LoaderFunctionArgs, Navigate, Outlet, RouteObject, RouterProvider, redirect, useLocation } from 'react-router-dom'; import { LayoutWrapper } from './components/layout-wrapper'; import { AppHandlingContextProvider, AppParams, CloseMessageData } from './contexts/app-handling.context'; import { BalanceContextProvider } from './contexts/balance.context'; @@ -96,6 +96,21 @@ const SitemapScreen = lazy(() => import('./screens/sitemap.screen')); setupLanguages(); +function IndexRoute(): JSX.Element { + const { isInitialized, isLoggedIn } = useSessionContext(); + const { search } = useLocation(); + + if (!isInitialized) { + return ( +
+ +
+ ); + } + + return ; +} + export const Routes = [ { path: '/', @@ -112,7 +127,7 @@ export const Routes = [ children: [ { index: true, - element: , + element: , }, { path: 'account',