import type { AppProps } from 'next/app'; import Head from 'next/head'; import { Navbar } from '../components/navbar'; import { t, ThemeContext, useThemeSwitcher } from '@vegaprotocol/react-helpers'; import { VegaConnectDialog, VegaManageDialog, VegaWalletProvider, } from '@vegaprotocol/wallet'; import { NetworkSwitcherDialog } from '@vegaprotocol/network-switcher'; import { Connectors } from '../lib/vega-connectors'; import { useMemo } from 'react'; import { createClient } from '../lib/apollo-client'; import { ThemeSwitcher } from '@vegaprotocol/ui-toolkit'; import { ApolloProvider } from '@apollo/client'; import { AppLoader } from '../components/app-loader'; import { VegaWalletConnectButton } from '../components/vega-wallet-connect-button'; import './styles.css'; import { useGlobalStore } from '../stores'; import { ENV } from '../lib/config/env'; import { EnvironmentProvider } from '@vegaprotocol/network-switcher'; import { useEnvironment } from '@vegaprotocol/network-switcher'; function AppBody({ Component, pageProps }: AppProps) { const store = useGlobalStore(); const { VEGA_NETWORKS } = useEnvironment(); // eslint-disable-next-line @typescript-eslint/no-unused-vars const [theme, toggleTheme] = useThemeSwitcher(); return ( { store.setVegaWalletConnectDialog(open); }} setManageDialog={(open) => { store.setVegaWalletManageDialog(open); }} /> {/* @ts-ignore conflict between @types/react and nextjs internal types */} store.setVegaWalletConnectDialog(open)} /> store.setVegaWalletManageDialog(open)} /> store.setVegaNetworkSwitcherDialog(open)} onConnect={({ network }) => { if (VEGA_NETWORKS[network]) { window.location.href = VEGA_NETWORKS[network]; } }} /> ); } function VegaTradingApp(props: AppProps) { const [theme] = useThemeSwitcher(); const client = useMemo(() => createClient(ENV.vegaUrl), []); return ( {t('Welcome to Vega trading!')} {['1', 'true'].includes( process.env['NX_USE_ENV_OVERRIDES'] || '' ) ? ( /* eslint-disable-next-line @next/next/no-sync-scripts */ ) : null} ); } export default VegaTradingApp;