fixed errors in branding and invite page, added an error route for better react error display

This commit is contained in:
Codex Agent
2025-11-25 20:15:17 +01:00
parent 9bde8f3f32
commit ff168834b4
6 changed files with 94 additions and 32 deletions

View File

@@ -14,6 +14,7 @@ import { useTranslation, type TranslateFn } from './i18n/useTranslation';
import type { EventBranding } from './types/event-branding';
import type { EventBrandingPayload, FetchEventErrorCode } from './services/eventApi';
import { NotificationCenterProvider } from './context/NotificationCenterContext';
import RouteErrorElement from '@/components/RouteErrorElement';
const LandingPage = React.lazy(() => import('./pages/LandingPage'));
const ProfileSetupPage = React.lazy(() => import('./pages/ProfileSetupPage'));
@@ -57,19 +58,21 @@ function HomeLayout() {
}
export const router = createBrowserRouter([
{ path: '/event', element: <SimpleLayout title="Event"><LandingPage /></SimpleLayout> },
{ path: '/share/:slug', element: <SharedPhotoPage /> },
{ path: '/event', element: <SimpleLayout title="Event"><LandingPage /></SimpleLayout>, errorElement: <RouteErrorElement /> },
{ path: '/share/:slug', element: <SharedPhotoPage />, errorElement: <RouteErrorElement /> },
{
path: '/setup/:token',
element: <SetupLayout />,
element: <SetupLayout />,
errorElement: <RouteErrorElement />,
children: [
{ index: true, element: <ProfileSetupPage /> },
],
},
{ path: '/g/:token', element: <PublicGalleryPage /> },
{ path: '/g/:token', element: <PublicGalleryPage />, errorElement: <RouteErrorElement /> },
{
path: '/e/:token',
element: <HomeLayout />,
errorElement: <RouteErrorElement />,
children: [
{ index: true, element: <HomePage /> },
{ path: 'tasks', element: <TaskPickerPage /> },
@@ -84,11 +87,11 @@ export const router = createBrowserRouter([
{ path: 'help/:slug', element: <HelpArticlePage /> },
],
},
{ path: '/settings', element: <SimpleLayout title="Einstellungen"><SettingsPage /></SimpleLayout> },
{ path: '/legal/:page', element: <SimpleLayout title="Rechtliches"><LegalPage /></SimpleLayout> },
{ path: '/help', element: <HelpStandalone /> },
{ path: '/help/:slug', element: <HelpArticleStandalone /> },
{ path: '*', element: <NotFoundPage /> },
{ path: '/settings', element: <SimpleLayout title="Einstellungen"><SettingsPage /></SimpleLayout>, errorElement: <RouteErrorElement /> },
{ path: '/legal/:page', element: <SimpleLayout title="Rechtliches"><LegalPage /></SimpleLayout>, errorElement: <RouteErrorElement /> },
{ path: '/help', element: <HelpStandalone />, errorElement: <RouteErrorElement /> },
{ path: '/help/:slug', element: <HelpArticleStandalone />, errorElement: <RouteErrorElement /> },
{ path: '*', element: <NotFoundPage />, errorElement: <RouteErrorElement /> },
]);
function EventBoundary({ token }: { token: string }) {