added glitchtip using sentry sdk

This commit is contained in:
Codex Agent
2025-12-19 10:13:30 +01:00
parent 53ec427e6e
commit 778ffc8bb9
13 changed files with 1574 additions and 58 deletions

View File

@@ -3,8 +3,16 @@ import { createRoot } from 'react-dom/client';
import '../../css/app.css';
import { AppearanceProvider, initializeTheme } from '@/hooks/use-appearance';
import { enableGuestDemoMode, shouldEnableGuestDemoMode } from './demo/demoMode';
import { Sentry, initSentry } from '@/lib/sentry';
const GuestFallback: React.FC<{ message: string }> = ({ message }) => (
<div className="flex min-h-screen items-center justify-center text-sm text-muted-foreground">
{message}
</div>
);
initializeTheme();
initSentry('guest');
if (shouldEnableGuestDemoMode()) {
enableGuestDemoMode();
}
@@ -14,11 +22,13 @@ const isShareRoute = typeof window !== 'undefined' && window.location.pathname.s
const shareRoot = async () => {
const { SharedPhotoStandalone } = await import('./pages/SharedPhotoPage');
createRoot(rootEl).render(
<React.StrictMode>
<AppearanceProvider>
<SharedPhotoStandalone />
</AppearanceProvider>
</React.StrictMode>
<Sentry.ErrorBoundary fallback={<GuestFallback message="Dieses Foto kann gerade nicht geladen werden." />}>
<React.StrictMode>
<AppearanceProvider>
<SharedPhotoStandalone />
</AppearanceProvider>
</React.StrictMode>
</Sentry.ErrorBoundary>
);
};
@@ -53,41 +63,29 @@ const appRoot = async () => {
}
createRoot(rootEl).render(
<React.StrictMode>
<AppearanceProvider>
<LocaleProvider>
<ToastProvider>
<MatomoTracker config={matomoConfig} />
<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>
</AppearanceProvider>
</React.StrictMode>
<Sentry.ErrorBoundary fallback={<GuestFallback message="Erlebnisse können nicht geladen werden." />}>
<React.StrictMode>
<AppearanceProvider>
<LocaleProvider>
<ToastProvider>
<MatomoTracker config={matomoConfig} />
<Suspense fallback={<GuestFallback message="Erlebnisse werden geladen …" />}>
<RouterProvider router={router} />
</Suspense>
</ToastProvider>
</LocaleProvider>
</AppearanceProvider>
</React.StrictMode>
</Sentry.ErrorBoundary>
);
};
if (isShareRoute) {
shareRoot().catch(() => {
createRoot(rootEl).render(
<div className="flex min-h-screen items-center justify-center text-sm text-muted-foreground">
Dieses Foto kann gerade nicht geladen werden.
</div>
);
createRoot(rootEl).render(<GuestFallback message="Dieses Foto kann gerade nicht geladen werden." />);
});
} else {
appRoot().catch(() => {
createRoot(rootEl).render(
<div className="flex min-h-screen items-center justify-center text-sm text-muted-foreground">
Erlebnisse können nicht geladen werden.
</div>
);
createRoot(rootEl).render(<GuestFallback message="Erlebnisse können nicht geladen werden." />);
});
}