ghost-extension-wallet/src/containers/WalletPopup.tsx
Uncle Fatso d3274222f9
rewrite extension around new UX
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
2026-10-08 18:25:56 +03:00

50 lines
3.1 KiB
TypeScript

import { HashRouter, Routes, Route } from "react-router-dom"
import { lazy, Suspense } from "react"
import { ChainProvider, AccountsProvider } from "./WalletPopup/hooks"
import { EmptyPage } from "./EmptyPage"
// Dynamic Imports for code splitting
const SignRequest = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.SignRequest })))
const Settings = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.Settings })))
const Welcome = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.Welcome })))
const AddAccount = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.AddAccount })))
const DeriveAccount = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.DeriveAccount })))
const DeleteAccount = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.DeleteAccount })))
const SwitchAccount = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.SwitchAccount })))
const SwitchNetwork = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.SwitchNetwork })))
const ImportAccounts = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.ImportAccounts })))
const ExportAccounts = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.ExportAccounts })))
const AccountDetails = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.AccountDetails })))
const Accounts = lazy(() => import("./WalletPopup/pages").then(module => ({ default: module.Accounts })))
const Options = lazy(() => import("./Options").then(module => ({ default: module.Options })))
export const WalletPopup = () => (
<HashRouter>
<ChainProvider>
<AccountsProvider>
<Suspense fallback={<EmptyPage />}>
<Routes>
<Route path="/" element={<Accounts />} />
<Route path="/welcome" element={<Welcome />} />
<Route path="/settings" element={<Settings />} />
<Route path="/options" element={<Options />} />
<Route path="/accounts" element={<Accounts />} />
<Route path="/add-account" element={<AddAccount />} />
<Route path="/derive-account" element={<DeriveAccount />} />
<Route path="/switch-account" element={<SwitchAccount />} />
<Route path="/import-account" element={<ImportAccounts />} />
<Route path="/export-accounts" element={<ExportAccounts />} />
<Route path="/switch-network" element={<SwitchNetwork />} />
<Route path="/account-details/:derivation?" element={<AccountDetails />} />
<Route path="/delete-account/:derivation?" element={<DeleteAccount />} />
<Route path="/sign-request/:signRequestId" element={<SignRequest />} />
</Routes>
</Suspense>
</AccountsProvider>
</ChainProvider>
</HashRouter>
)