import { TamaguiProvider, Theme } from 'tamagui' import { createBrowserRouter, RouterProvider } from 'react-router-dom' import { Provider as StatusProvider } from '@status-im/components' import { Web3OnboardProvider, init } from '@web3-onboard/react' import injectedModule from '@web3-onboard/injected-wallets' import walletConnectModule from '@web3-onboard/walletconnect' import { useSelector } from 'react-redux' import config from '../tamagui.config' import LandingPage from './pages/LandingPage/LandingPage' import DeviceHealthCheck from './pages/DeviceHealthCheck/DeviceHealthCheck' import { RootState } from './redux/store' import DeviceSyncStatus from './pages/DeviceSyncStatus/DeviceSyncStatus' import PairDevice from './pages/PairDevice/PairDevice' import PinnedNotification from './components/General/PinnedNottification' import CreateLocalNode from './pages/CreateLocalNode/CreateLocalNode' import ValidatorOnboarding from './pages/ValidatorOnboarding/ValidatorOnboarding' import Dashboard from './pages/Dashboard/Dashboard' import ValidatorManagement from './pages/ValidatorManagement/ValidatorManagement' import LogsPage from './pages/LogsPage/LogsPage' import { ethereumRopsten, wcV2InitOptions, apiKey } from './constants' import './App.css' //ValidatorOnboarding sub-routes import Overview from './pages/ValidatorOnboarding/Overview/Overview' import Advisories from './pages/ValidatorOnboarding/Advisories/Advisories' import ValidatorSetup from './pages/ValidatorOnboarding/ValidatorSetup/ValidatorSetup/ValidatorSetup' import ValidatorSetupInstall from './pages/ValidatorOnboarding/ValidatorSetup/ValidatorInstalling/ValidatorInstall' import ConsensusSelection from './pages/ValidatorOnboarding/ValidatorSetup/ConsensusClient/ConsensusSelection' import ActivationValidatorSetup from './pages/ValidatorOnboarding/ValidatorSetup/ValidatorActivation/ActivationValidatorSetup' import ClientSetup from './pages/ValidatorOnboarding/ClientSetup/ClientSetup' import KeyGeneration from './pages/ValidatorOnboarding/KeyGeneration/KeyGeneration' import Deposit from './pages/ValidatorOnboarding/Deposit/Deposit' import Activation from './pages/ValidatorOnboarding/Activation/Activation' const injected = injectedModule() const walletConnect = walletConnectModule(wcV2InitOptions) const chains = [ethereumRopsten] const wallets = [injected, walletConnect] const web3Onboard = init({ apiKey, wallets, chains, appMetadata: { name: 'Web3-Onboard Demo', icon: 'App Icon', description: 'A demo of Web3-Onboard.', }, }) const router = createBrowserRouter([ { path: '/', element: , }, { path: '/device-health-check', element: , }, { path: '/device-sync-status', element: , }, { path: '/pair-device', element: , }, { path: '/create-local-node', element: }, { path: '/validator-onboarding', children: [ { path: '', element: }, { path: 'advisories', element: }, { path: 'validator-setup', element: }, { path: 'validator-setup-install', element: }, { path: 'consensus-selection', element: }, { path: 'activation-validator-setup', element: , }, { path: 'client-setup', element: }, { path: 'key-generation', element: }, { path: 'deposit', element: }, { path: 'activation', element: , }, ], element: , }, { path: '/dashboard', element: }, { path: '/logs', element: }, { path: '/validator-management', element: , }, ]) function App() { const theme = useSelector((state: RootState) => state.theme) return ( ) } export default App