Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m41s
CI/CD Pipeline / Security Scanning (push) Successful in 2m32s
CI/CD Pipeline / Lint and Format (push) Failing after 51s
CI/CD Pipeline / Terraform Validation (push) Failing after 35s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 30s
Validation / validate-genesis (push) Successful in 34s
Validation / validate-terraform (push) Failing after 36s
Validation / validate-kubernetes (push) Failing after 11s
Validation / validate-smart-contracts (push) Failing after 11s
Validation / validate-security (push) Failing after 1m23s
Validation / validate-documentation (push) Failing after 21s
Replace Binance-style dashboard chrome with a shared telemetry UI, SVG icons, and mission headers across Central Bank, Office 24, trade, swap, and admin screens. Co-authored-by: Cursor <cursoragent@cursor.com>
77 lines
3.0 KiB
TypeScript
77 lines
3.0 KiB
TypeScript
import { BrowserRouter, Routes, Route } from 'react-router-dom'
|
|
import { WagmiProvider } from 'wagmi'
|
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
|
import { ThirdwebProvider } from '@thirdweb-dev/react'
|
|
import { config } from './config/wagmi'
|
|
import { AdminProvider } from './contexts/AdminContext'
|
|
import { ErrorBoundary } from './components/ErrorBoundary'
|
|
import BridgePage from './pages/BridgePage'
|
|
import SwapPage from './pages/SwapPage'
|
|
import TradePage from './pages/TradePage'
|
|
import CentralBankPage from './pages/CentralBankPage'
|
|
import Office24Page from './pages/Office24Page'
|
|
import ReservePage from './pages/ReservePage'
|
|
import HistoryPage from './pages/HistoryPage'
|
|
import AdminPanel from './pages/AdminPanel'
|
|
import DocsPage from './pages/DocsPage'
|
|
import WalletsDemoPage from './pages/WalletsDemoPage'
|
|
import Layout from './components/layout/Layout'
|
|
import OmnlProductLayout from './components/layout/OmnlProductLayout'
|
|
import ToastProvider from './components/ui/ToastProvider'
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
retry: (failureCount, error: unknown) => {
|
|
const err = error as { code?: string; message?: string }
|
|
if (err?.code === 'CALL_EXCEPTION' || err?.message?.includes('call revert exception')) {
|
|
return false
|
|
}
|
|
return failureCount < 2
|
|
},
|
|
},
|
|
},
|
|
})
|
|
const THIRDWEB_CLIENT_ID = import.meta.env.VITE_THIRDWEB_CLIENT_ID || '542981292d51ec610388ba8985f027d7'
|
|
|
|
function App() {
|
|
return (
|
|
<ErrorBoundary>
|
|
<ThirdwebProvider clientId={THIRDWEB_CLIENT_ID}>
|
|
<WagmiProvider config={config}>
|
|
<QueryClientProvider client={queryClient}>
|
|
<BrowserRouter
|
|
future={{
|
|
v7_startTransition: true,
|
|
v7_relativeSplatPath: true,
|
|
}}
|
|
>
|
|
<ToastProvider />
|
|
<AdminProvider>
|
|
<Routes>
|
|
<Route element={<OmnlProductLayout />}>
|
|
<Route path="/central-bank" element={<CentralBankPage />} />
|
|
<Route path="/office-24" element={<Office24Page />} />
|
|
<Route path="/trade" element={<TradePage />} />
|
|
<Route path="/swap" element={<SwapPage />} />
|
|
</Route>
|
|
<Route element={<Layout />}>
|
|
<Route path="/" element={<BridgePage />} />
|
|
<Route path="/reserve" element={<ReservePage />} />
|
|
<Route path="/history" element={<HistoryPage />} />
|
|
<Route path="/admin" element={<AdminPanel />} />
|
|
<Route path="/docs" element={<DocsPage />} />
|
|
<Route path="/wallets" element={<WalletsDemoPage />} />
|
|
</Route>
|
|
</Routes>
|
|
</AdminProvider>
|
|
</BrowserRouter>
|
|
</QueryClientProvider>
|
|
</WagmiProvider>
|
|
</ThirdwebProvider>
|
|
</ErrorBoundary>
|
|
)
|
|
}
|
|
|
|
export default App
|