From e8914d4bcbc230a266f1350a3b91c290499a2892 Mon Sep 17 00:00:00 2001 From: balint Date: Sat, 4 Apr 2026 18:04:08 +0200 Subject: [PATCH] optimize react state handling --- .github/workflows/ci.yml | 2 +- frontend/src/App.tsx | 150 ++++++++++-------- .../first-edition/pages/CreateCharacter.tsx | 46 ++++-- frontend/src/shared/Header.tsx | 26 +-- frontend/src/shared/pages/CharacterList.tsx | 6 +- 5 files changed, 144 insertions(+), 86 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e628808..dcde421 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: - name: Yarn Install run: | cd ./frontend - yarn install + yarn install --frozen-lockfile - name: Yarn Test run: | cd ./frontend diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index f56e067..572bd6a 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import "./App.css"; import {Faro} from "@grafana/faro-web-sdk"; -import {createBrowserRouter, redirect, RouterProvider} from "react-router-dom"; +import {createBrowserRouter, Outlet, redirect, RouterProvider} from "react-router-dom"; import CreateCharacter from "./first-edition/pages/CreateCharacter"; import CharacterList from "./shared/pages/CharacterList"; import ErrorBoundary from "./shared/ErrorBoundary"; @@ -14,11 +14,28 @@ import { useSelector, useDispatch } from 'react-redux' import {load, setUser, unsetUser, userSelector} from './shared/domain-models/userSlice' import {setCharacter} from "./second-edition/domain-models/characterSlice"; +function RootLayout() { + return ( + <> +
+
+ +
+