// Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 import '../styles/globals.css'; import { QueryClient, QueryClientProvider } from 'react-query'; import App, { AppContext, AppProps } from 'next/app'; import { getCookie } from 'cookies-next'; import CurrencyProvider from '../providers/Currency.provider'; import CartProvider from '../providers/Cart.provider'; import { ThemeProvider } from 'styled-components'; import Theme from '../styles/Theme'; import FrontendTracer from '../utils/telemetry/FrontendTracer'; declare global { interface Window { ENV: { NEXT_PUBLIC_PLATFORM?: string; NEXT_PUBLIC_OTEL_SERVICE_NAME?: string; NEXT_PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT?: string; }; } } if (typeof window !== 'undefined') { const collector = getCookie('otelCollectorUrl')?.toString() || ''; FrontendTracer(collector); } const queryClient = new QueryClient(); function MyApp({ Component, pageProps }: AppProps) { return ( ); } MyApp.getInitialProps = async (appContext: AppContext) => { const appProps = await App.getInitialProps(appContext); return { ...appProps }; }; export default MyApp;