Use Hilla router config

This commit is contained in:
grimsi
2025-06-03 17:50:34 +02:00
parent 7fa2c029af
commit 0fc6c128f4
2 changed files with 82 additions and 84 deletions
+2 -4
View File
@@ -2,7 +2,6 @@ import {Outlet, useHref, useNavigate} from 'react-router';
import "./main.css";
import "Frontend/util/custom-validators";
import {HeroUIProvider} from "@heroui/react";
import {ToastProvider} from "@heroui/toast";
import {ThemeProvider as NextThemesProvider} from "next-themes";
import {themeNames} from "Frontend/theming/themes";
import {AuthProvider} from "Frontend/util/auth";
@@ -12,10 +11,9 @@ import {ErrorHandlingMiddleware} from "Frontend/util/middleware";
import {initializeLibraryState} from "Frontend/state/LibraryState";
import {initializeGameState} from "Frontend/state/GameState";
import {initializeScanState} from "Frontend/state/ScanState";
import {ToastProvider} from "@heroui/toast";
export default function App() {
const navigate = useNavigate();
client.middlewares = [ErrorHandlingMiddleware];
initializeLibraryState();
@@ -23,7 +21,7 @@ export default function App() {
initializeScanState();
return (
<HeroUIProvider className="size-full" navigate={navigate} useHref={useHref}>
<HeroUIProvider className="size-full" navigate={useNavigate} useHref={useHref}>
<NextThemesProvider attribute="class" themes={themeNames()} defaultTheme="gameyfin-violet-dark">
<AuthProvider>
<IconContext.Provider value={{size: 20}}>
+13 -13
View File
@@ -1,5 +1,3 @@
import {protectRoutes} from '@vaadin/hilla-react-auth';
import {createBrowserRouter, RouteObject} from 'react-router';
import LoginView from "Frontend/views/LoginView";
import MainLayout from "Frontend/views/MainLayout";
import HomeView from "Frontend/views/HomeView";
@@ -24,8 +22,10 @@ import LibraryManagementView from "Frontend/views/LibraryManagementView";
import SearchView from "Frontend/views/SearchView";
import RecentlyAddedView from "Frontend/views/RecentlyAddedView";
import LibraryView from "Frontend/views/LibraryView";
import {RouterConfigurationBuilder} from "@vaadin/hilla-file-router/runtime.js";
export const routes = protectRoutes([
export const {router, routes} = new RouterConfigurationBuilder()
.withReactRoutes([
{
element: <App/>,
handle: {requiresLogin: false},
@@ -38,7 +38,7 @@ export const routes = protectRoutes([
index: true, element: <HomeView/>
},
{
path: '/search',
path: 'search',
element: <SearchView/>
},
{
@@ -84,22 +84,22 @@ export const routes = protectRoutes([
]
},
{
path: '/login', element: <LoginView/>, handle: {requiresLogin: false}
path: 'login', element: <LoginView/>, handle: {requiresLogin: false}
},
{
path: '/setup', element: <SetupView/>, handle: {requiresLogin: false}
path: 'setup', element: <SetupView/>, handle: {requiresLogin: false}
},
{
path: '/accept-invitation', element: <InvitationRegistrationView/>, handle: {requiresLogin: false}
path: 'accept-invitation', element: <InvitationRegistrationView/>, handle: {requiresLogin: false}
},
{
path: '/reset-password', element: <PasswordResetView/>, handle: {requiresLogin: false}
path: 'reset-password', element: <PasswordResetView/>, handle: {requiresLogin: false}
},
{
path: '/confirm-email', element: <EmailConfirmationView/>, handle: {requiresLogin: true}
path: 'confirm-email', element: <EmailConfirmationView/>, handle: {requiresLogin: true}
},
],
]
}
]) as RouteObject[];
export default createBrowserRouter(routes);
])
.protect("/login")
.build();