import { Navigate, RouteObject } from "react-router"; import AppLayout from "src/components/layouts/AppLayout"; import SettingsLayout from "src/components/layouts/SettingsLayout"; import WalletLayout from "src/components/layouts/WalletLayout"; import TwoColumnFullScreenLayout from "src/components/layouts/TwoColumnFullScreenLayout"; import { DefaultRedirect } from "src/components/redirects/DefaultRedirect"; import { HomeRedirect } from "src/components/redirects/HomeRedirect"; import { SetupRedirect } from "src/components/redirects/SetupRedirect"; import { StartRedirect } from "src/components/redirects/StartRedirect"; import { ConnectAlbyAccount } from "src/screens/ConnectAlbyAccount"; import { CreateNodeMigrationFileSuccess } from "src/screens/CreateNodeMigrationFileSuccess"; import Home from "src/screens/Home"; import { Intro } from "src/screens/Intro"; import { MigrateNode } from "src/screens/MigrateNode"; import NotFound from "src/screens/NotFound"; import Start from "src/screens/Start"; import Unlock from "src/screens/Unlock"; import { Welcome } from "src/screens/Welcome"; import AlbyAuthRedirect from "src/screens/alby/AlbyAuthRedirect"; import { AI } from "src/screens/ai/AI"; import { Cards } from "src/screens/cards/Cards"; import { AlbyEarn } from "src/screens/alby/AlbyEarn"; import SupportAlby from "src/screens/alby/SupportAlby"; import AppDetails from "src/screens/apps/AppDetails"; import { AppsCleanup } from "src/screens/apps/AppsCleanup"; import { Connections } from "src/screens/apps/Connections"; import NewApp from "src/screens/apps/NewApp"; import { AppStoreDetail } from "src/screens/appstore/AppStoreDetail"; import Channels from "src/screens/channels/Channels"; import { CurrentChannelOrder } from "src/screens/channels/CurrentChannelOrder"; import IncreaseIncomingCapacity from "src/screens/channels/IncreaseIncomingCapacity"; import IncreaseOutgoingCapacity from "src/screens/channels/IncreaseOutgoingCapacity"; import { AutoChannel } from "src/screens/channels/auto/AutoChannel"; import { OpenedAutoChannel } from "src/screens/channels/auto/OpenedAutoChannel"; import { OpeningAutoChannel } from "src/screens/channels/auto/OpeningAutoChannel"; import { FirstChannel } from "src/screens/channels/first/FirstChannel"; import { OpenedFirstChannel } from "src/screens/channels/first/OpenedFirstChannel"; import { OpeningFirstChannel } from "src/screens/channels/first/OpeningFirstChannel"; import { AlbyCliSkill } from "src/screens/internal-apps/AlbyCliSkill"; import { BuzzPay } from "src/screens/internal-apps/BuzzPay"; import { LightningMessageboard } from "src/screens/internal-apps/LightningMessageboard"; import { SimpleBoost } from "src/screens/internal-apps/SimpleBoost"; import { Tictactoe } from "src/screens/internal-apps/Tictactoe"; import { ZapPlanner } from "src/screens/internal-apps/ZapPlanner"; import BuyBitcoin from "src/screens/onchain/BuyBitcoin"; import DepositBitcoin from "src/screens/onchain/DepositBitcoin"; import ConnectPeer from "src/screens/peers/ConnectPeer"; import Peers from "src/screens/peers/Peers"; import { About } from "src/screens/settings/About"; import { AlbyAccount } from "src/screens/settings/AlbyAccount"; import { AutoUnlock } from "src/screens/settings/AutoUnlock"; import { NodeSettings } from "src/screens/settings/NodeSettings"; import Backup from "src/screens/settings/Backup"; import { ChangeUnlockPassword } from "src/screens/settings/ChangeUnlockPassword"; import DebugTools from "src/screens/settings/DebugTools"; import DeveloperSettings from "src/screens/settings/DeveloperSettings"; import Settings from "src/screens/settings/Settings"; import { ImportMnemonic } from "src/screens/setup/ImportMnemonic"; import { RestoreNode } from "src/screens/setup/RestoreNode"; import { SetupAdvanced } from "src/screens/setup/SetupAdvanced"; import { SetupFinish } from "src/screens/setup/SetupFinish"; import { SetupNode } from "src/screens/setup/SetupNode"; import { SetupPassword } from "src/screens/setup/SetupPassword"; import { SetupSecurity } from "src/screens/setup/SetupSecurity"; import { BarkForm } from "src/screens/setup/node/BarkForm"; import { CLNForm } from "src/screens/setup/node/CLNForm"; import { CashuForm } from "src/screens/setup/node/CashuForm"; import { LDKForm } from "src/screens/setup/node/LDKForm"; import { LNDForm } from "src/screens/setup/node/LNDForm"; import { PhoenixdForm } from "src/screens/setup/node/PhoenixdForm"; import { PresetNodeForm } from "src/screens/setup/node/PresetNodeForm"; import { NewSubwallet } from "src/screens/subwallets/NewSubwallet"; import { SubwalletCreated } from "src/screens/subwallets/SubwalletCreated"; import { SubwalletList } from "src/screens/subwallets/SubwalletList"; import Lightning from "src/screens/wallet/Lightning"; import Onchain from "src/screens/wallet/Onchain"; import NodeAlias from "src/screens/wallet/NodeAlias"; import Receive from "src/screens/wallet/Receive"; import Send from "src/screens/wallet/Send"; import SignMessage from "src/screens/wallet/SignMessage"; import WithdrawOnchainFunds from "src/screens/wallet/WithdrawOnchainFunds"; import ReceiveInvoice from "src/screens/wallet/receive/ReceiveInvoice"; import ReceiveOffer from "src/screens/wallet/receive/ReceiveOffer"; import ReceiveOnchain from "src/screens/wallet/receive/ReceiveOnchain"; import ConfirmPayment from "src/screens/wallet/send/ConfirmPayment"; import LnurlPay from "src/screens/wallet/send/LnurlPay"; import OnchainSend from "src/screens/wallet/send/Onchain"; import OnchainSuccess from "src/screens/wallet/send/OnchainSuccess"; import PaymentSuccess from "src/screens/wallet/send/PaymentSuccess"; import ZeroAmount from "src/screens/wallet/send/ZeroAmount"; import Swap from "src/screens/wallet/swap"; import AutoSwap from "src/screens/wallet/swap/AutoSwap"; import SwapInStatus from "src/screens/wallet/swap/SwapInStatus"; import SwapOutStatus from "src/screens/wallet/swap/SwapOutStatus"; const routes: RouteObject[] = [ { path: "/", element: , handle: { crumb: () => "Home" }, children: [ { index: true, element: , }, { path: "home", element: , handle: { crumb: () => "Dashboard" }, children: [ { index: true, element: , }, ], }, { path: "wallet", element: , handle: { crumb: () => "Wallet" }, children: [ { element: , children: [ { index: true, element: , }, { path: "onchain", element: , }, ], }, { path: "swap", handle: { crumb: () => "Swap" }, children: [ { index: true, element: , }, { path: "out/status/:swapId", element: , }, { path: "in/status/:swapId", element: , }, { path: "auto", element: , }, ], }, { path: "receive", handle: { crumb: () => "Receive" }, children: [ { index: true, element: , }, { handle: { crumb: () => "Receive On-chain" }, path: "onchain", element: , }, { handle: { crumb: () => "Invoice" }, path: "invoice", element: , }, { handle: { crumb: () => "BOLT-12 Offer" }, path: "offer", element: , }, ], }, { path: "send", handle: { crumb: () => "Send" }, children: [ { index: true, element: , }, { path: "onchain", element: , }, { path: "lnurl-pay", element: , }, { path: "0-amount", element: , }, { path: "confirm-payment", element: , }, { path: "onchain-success", element: , }, { path: "success", element: , }, ], }, { path: "sign-message", element: , handle: { crumb: () => "Sign Message" }, }, { path: "node-alias", element: , handle: { crumb: () => "Node Alias" }, }, { path: "withdraw", element: , handle: { crumb: () => "Withdraw On-Chain Balance" }, }, ], }, { path: "settings", element: , handle: { crumb: () => "Settings" }, children: [ { path: "", element: , children: [ { index: true, element: , }, { path: "about", element: , handle: { crumb: () => "About" }, }, { path: "auto-unlock", element: , handle: { crumb: () => "Auto Unlock" }, }, { path: "node", element: , handle: { crumb: () => "Node" }, }, { path: "change-unlock-password", element: , handle: { crumb: () => "Unlock Password" }, }, { path: "backup", element: , handle: { crumb: () => "Backup" }, }, { path: "node-migrate", element: , }, { path: "alby-account", element: , }, { path: "developer", element: , }, { path: "debug-tools", element: , }, ], }, ], }, { path: "apps", element: , handle: { crumb: () => "Connections" }, children: [ { index: true, element: , }, { path: ":id", element: , }, { path: "new", element: , handle: { crumb: () => "New App" }, }, { path: "cleanup", element: , }, ], }, { path: "sub-wallets", element: , handle: { crumb: () => "Sub-wallets" }, children: [ { index: true, element: , }, { path: "new", element: , }, { path: "created", element: , }, ], }, { path: "internal-apps", element: , handle: { crumb: () => "Connections" }, children: [ { path: "buzzpay", element: , }, { path: "simpleboost", element: , }, { path: "lightning-messageboard", element: , }, { path: "zapplanner", element: , }, { path: "alby-cli-skill", element: , }, { path: "tictactoe", element: , }, ], }, { path: "appstore", element: , handle: { crumb: () => "App Store" }, children: [ { path: ":appStoreId", element: , }, ], }, { path: "channels", element: , handle: { crumb: () => "Node" }, children: [ { index: true, element: , }, { path: "first", handle: { crumb: () => "Your First Channel" }, children: [ { index: true, element: , }, { path: "opening", element: , }, { path: "opened", element: , }, ], }, { path: "auto", handle: { crumb: () => "New Channel" }, children: [ { index: true, element: , }, { path: "opening", element: , }, { path: "opened", element: , }, ], }, { path: "outgoing", element: , handle: { crumb: () => "Open Channel with On-Chain" }, }, { path: "incoming", element: , handle: { crumb: () => "Open Channel with Lightning" }, }, { path: "order", element: , handle: { crumb: () => "Current Order" }, }, { path: "onchain/buy-bitcoin", element: , handle: { crumb: () => "Buy Bitcoin" }, }, { path: "onchain/deposit-bitcoin", element: , handle: { crumb: () => "Deposit Bitcoin" }, }, ], }, { path: "peers", element: , handle: { crumb: () => "Peers" }, children: [ { index: true, element: , }, { path: "new", element: , handle: { crumb: () => "Connect Peer" }, }, ], }, { path: "support-alby", element: , }, { path: "earn", element: , handle: { crumb: () => "Earn" }, }, { path: "ai", element: , handle: { crumb: () => "AI & Agents" }, }, { path: "cards", element: , handle: { crumb: () => "Cards" }, children: [{ index: true, element: }], }, ], }, { element: , children: [ { path: "start", element: ( ), }, { path: "alby/account", element: , }, { path: "alby/auth", element: , }, { path: "unlock", element: , }, { path: "welcome", element: , }, { path: "setup", element: , children: [ { element: , }, { path: "alby", element: , }, { path: "auth", element: , }, { path: "password", element: , }, { path: "security", element: , }, { path: "node", children: [ { index: true, element: , }, { path: "cashu", element: , }, { path: "phoenix", element: , }, { path: "lnd", element: , }, { path: "ldk", element: , }, { path: "cln", element: , }, { path: "bark", element: , }, { path: "preset", element: , }, ], }, { path: "advanced", element: , }, { path: "import-mnemonic", element: , }, { path: "node-restore", element: , }, { path: "finish", element: , }, ], }, ], }, { path: "create-node-migration-file-success", element: , }, { path: "intro", element: , }, { path: "/*", element: , }, ]; export default routes;