| 'use client' | |
| import { useEffect } from 'react' | |
| import * as Sentry from '@sentry/react' | |
| const isDevelopment = process.env.NODE_ENV === 'development' | |
| const SentryInit = ({ | |
| children, | |
| }: { children: React.ReactElement }) => { | |
| useEffect(() => { | |
| const SENTRY_DSN = document?.body?.getAttribute('data-public-sentry-dsn') | |
| if (!isDevelopment && SENTRY_DSN) { | |
| Sentry.init({ | |
| dsn: SENTRY_DSN, | |
| integrations: [ | |
| new Sentry.BrowserTracing({ | |
| }), | |
| new Sentry.Replay(), | |
| ], | |
| tracesSampleRate: 0.1, | |
| replaysSessionSampleRate: 0.1, | |
| replaysOnErrorSampleRate: 1.0, | |
| }) | |
| } | |
| }, []) | |
| return children | |
| } | |
| export default SentryInit | |