import { ApolloProvider } from '@apollo/client'; import { AppProps } from 'next/app'; import Head from 'next/head'; import { useCallback, useMemo } from 'react'; import { Navbar } from '../components/navbar'; import { createClient } from '../lib/apollo-client'; import { ThemeSwitcher } from '@vegaprotocol/ui-toolkit'; import { useVegaWallet } from '@vegaprotocol/react-helpers'; import './styles.css'; function VegaTradingApp({ Component, pageProps }: AppProps) { const client = useMemo(() => createClient(process.env['NX_VEGA_URL']), []); useCallback(() => { if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } }, []); const setTheme = () => { localStorage.theme = document.documentElement.classList.toggle('dark') ? 'dark' : undefined; }; return ( Welcome to trading!
); } interface VegaWalletButtonProps { setConnectDialog: (isOpen: boolean) => void; } const VegaWalletButton = ({ setConnectDialog }: VegaWalletButtonProps) => { const { disconnect, publicKeys } = useVegaWallet(); const isConnected = publicKeys !== null; const handleClick = () => { if (isConnected) { disconnect(); } else { setConnectDialog(true); } }; return ( ); }; export default VegaTradingApp;