performance optimierungen, lazy loads etc. - plus requesttimingmiddleware, die lokal die performance trackt und loggt.
This commit is contained in:
@@ -308,7 +308,7 @@ export const messages: Record<LocaleCode, NestedMessages> = {
|
||||
limitWarning: 'Nur noch {remaining} von {max} Fotos möglich. Bitte kontaktiere die Veranstalter für ein Upgrade.',
|
||||
galleryWarningDay: 'Galerie läuft in {days} Tag ab. Teile deine Fotos rechtzeitig!',
|
||||
galleryWarningDays: 'Galerie läuft in {days} Tagen ab. Teile deine Fotos rechtzeitig!',
|
||||
status: {
|
||||
packageStatus: {
|
||||
title: 'Dein Paketstatus',
|
||||
subtitle: 'Behalte deine Kontingente im Blick, bevor es eng wird.',
|
||||
badges: {
|
||||
@@ -736,7 +736,7 @@ export const messages: Record<LocaleCode, NestedMessages> = {
|
||||
limitWarning: 'Only {remaining} of {max} photos left. Please contact the organizers for an upgrade.',
|
||||
galleryWarningDay: 'Gallery expires in {days} day. Upload your photos soon!',
|
||||
galleryWarningDays: 'Gallery expires in {days} days. Upload your photos soon!',
|
||||
status: {
|
||||
packageStatus: {
|
||||
title: 'Your package status',
|
||||
subtitle: 'Keep an eye on your remaining allowances.',
|
||||
badges: {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import React from 'react';
|
||||
import React, { Suspense } from 'react';
|
||||
import { createRoot } from 'react-dom/client';
|
||||
import { RouterProvider } from 'react-router-dom';
|
||||
import { router } from './router';
|
||||
@@ -28,7 +28,15 @@ createRoot(rootEl).render(
|
||||
<React.StrictMode>
|
||||
<LocaleProvider>
|
||||
<ToastProvider>
|
||||
<RouterProvider router={router} />
|
||||
<Suspense
|
||||
fallback={(
|
||||
<div className="flex min-h-screen items-center justify-center text-sm text-muted-foreground">
|
||||
Erlebnisse werden geladen …
|
||||
</div>
|
||||
)}
|
||||
>
|
||||
<RouterProvider router={router} />
|
||||
</Suspense>
|
||||
</ToastProvider>
|
||||
</LocaleProvider>
|
||||
</React.StrictMode>
|
||||
|
||||
@@ -8,27 +8,28 @@ import { AlertTriangle, Loader2 } from 'lucide-react';
|
||||
import { EventStatsProvider } from './context/EventStatsContext';
|
||||
import { GuestIdentityProvider } from './context/GuestIdentityContext';
|
||||
import { EventBrandingProvider } from './context/EventBrandingContext';
|
||||
import LandingPage from './pages/LandingPage';
|
||||
import ProfileSetupPage from './pages/ProfileSetupPage';
|
||||
import HomePage from './pages/HomePage';
|
||||
import TaskPickerPage from './pages/TaskPickerPage';
|
||||
import TaskDetailPage from './pages/TaskDetailPage';
|
||||
import UploadPage from './pages/UploadPage';
|
||||
import UploadQueuePage from './pages/UploadQueuePage';
|
||||
import GalleryPage from './pages/GalleryPage';
|
||||
import PhotoLightbox from './pages/PhotoLightbox';
|
||||
import AchievementsPage from './pages/AchievementsPage';
|
||||
import SlideshowPage from './pages/SlideshowPage';
|
||||
import SettingsPage from './pages/SettingsPage';
|
||||
import LegalPage from './pages/LegalPage';
|
||||
import PublicGalleryPage from './pages/PublicGalleryPage';
|
||||
import NotFoundPage from './pages/NotFoundPage';
|
||||
import { LocaleProvider } from './i18n/LocaleContext';
|
||||
import { DEFAULT_LOCALE, isLocaleCode } from './i18n/messages';
|
||||
import { useTranslation, type TranslateFn } from './i18n/useTranslation';
|
||||
import type { EventBranding } from './types/event-branding';
|
||||
import type { EventBrandingPayload, FetchEventErrorCode } from './services/eventApi';
|
||||
|
||||
const LandingPage = React.lazy(() => import('./pages/LandingPage'));
|
||||
const ProfileSetupPage = React.lazy(() => import('./pages/ProfileSetupPage'));
|
||||
const HomePage = React.lazy(() => import('./pages/HomePage'));
|
||||
const TaskPickerPage = React.lazy(() => import('./pages/TaskPickerPage'));
|
||||
const TaskDetailPage = React.lazy(() => import('./pages/TaskDetailPage'));
|
||||
const UploadPage = React.lazy(() => import('./pages/UploadPage'));
|
||||
const UploadQueuePage = React.lazy(() => import('./pages/UploadQueuePage'));
|
||||
const GalleryPage = React.lazy(() => import('./pages/GalleryPage'));
|
||||
const PhotoLightbox = React.lazy(() => import('./pages/PhotoLightbox'));
|
||||
const AchievementsPage = React.lazy(() => import('./pages/AchievementsPage'));
|
||||
const SlideshowPage = React.lazy(() => import('./pages/SlideshowPage'));
|
||||
const SettingsPage = React.lazy(() => import('./pages/SettingsPage'));
|
||||
const LegalPage = React.lazy(() => import('./pages/LegalPage'));
|
||||
const PublicGalleryPage = React.lazy(() => import('./pages/PublicGalleryPage'));
|
||||
const NotFoundPage = React.lazy(() => import('./pages/NotFoundPage'));
|
||||
|
||||
function HomeLayout() {
|
||||
const { token } = useParams();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user