diff --git a/src/AppRouter.tsx b/src/AppRouter.tsx index 404d9ee6..6ad53ba8 100644 --- a/src/AppRouter.tsx +++ b/src/AppRouter.tsx @@ -150,8 +150,12 @@ export function AppRouter() { } /> } /> } /> - } /> - } /> + } /> + } /> + {/* Old nested paths kept as redirects so any existing links / muscle + memory still land on the right page. */} + } /> + } /> } /> } /> } /> diff --git a/src/pages/BitcoinWalletSettingsPage.tsx b/src/pages/BitcoinWalletSettingsPage.tsx index 1eb634ce..1af4f72d 100644 --- a/src/pages/BitcoinWalletSettingsPage.tsx +++ b/src/pages/BitcoinWalletSettingsPage.tsx @@ -39,7 +39,7 @@ export function BitcoinWalletSettingsPage() { const rows: SettingsRow[] = [ { id: 'backup', - to: '/wallet/settings/backup', + to: '/wallet/backup', icon: , iconWrapClass: 'bg-blue-500', labelKey: 'walletSettings.backup.label', @@ -47,7 +47,7 @@ export function BitcoinWalletSettingsPage() { }, { id: 'legacy', - to: '/wallet/settings/legacy', + to: '/wallet/legacy', icon: , iconWrapClass: 'bg-amber-500', labelKey: 'walletSettings.legacy.label', @@ -56,7 +56,7 @@ export function BitcoinWalletSettingsPage() { ]; return ( -
+
-
+
{/* Apple-style grouped list: rounded card, hairline dividers, chevrons. */}
    {rows.map((row) => ( diff --git a/src/pages/LegacyWalletRecoveryPage.tsx b/src/pages/LegacyWalletRecoveryPage.tsx index 13acec17..afd49dc1 100644 --- a/src/pages/LegacyWalletRecoveryPage.tsx +++ b/src/pages/LegacyWalletRecoveryPage.tsx @@ -24,7 +24,7 @@ interface LegacyOption { } /** - * Legacy wallet recovery hub at `/wallet/settings/legacy`. + * Legacy wallet recovery hub at `/wallet/legacy`. * * Surfaces two opt-in recovery flows for funds that may still be sitting in * Agora's previous wallet generations: @@ -58,7 +58,7 @@ export function LegacyWalletRecoveryPage() { if (!user) { return ( -
    +
    0; return ( -
    +
    -
    +
    {/* V2 beta detection result — only when funds were actually found, so the user gets a clear "you have something here" prompt instead of a noisy "no funds detected" empty state for the common case. */} diff --git a/src/pages/WalletBackupPage.tsx b/src/pages/WalletBackupPage.tsx index 6240bd16..4f88c4ac 100644 --- a/src/pages/WalletBackupPage.tsx +++ b/src/pages/WalletBackupPage.tsx @@ -10,7 +10,7 @@ import { useCurrentUser } from '@/hooks/useCurrentUser'; import { useHdWalletAccess } from '@/hooks/useHdWalletAccess'; /** - * Seed-phrase backup page for `/wallet/settings/backup`. + * Seed-phrase backup page for `/wallet/backup`. * * Wraps the existing `WalletBackupMnemonic` component (previously rendered as * a dialog from `/wallet`) in a full-page layout. The component itself hides @@ -31,7 +31,7 @@ export function WalletBackupPage() { // Not logged in — show the login prompt rather than redirecting away. if (!user) { return ( -
    +
    +
    } /> -
    +

    {t('walletBackupPage.unsupported')}

    @@ -79,7 +79,7 @@ export function WalletBackupPage() { } return ( -
    +
    -
    +
    diff --git a/src/pages/WalletPage.tsx b/src/pages/WalletPage.tsx index 9af949a8..bb964646 100644 --- a/src/pages/WalletPage.tsx +++ b/src/pages/WalletPage.tsx @@ -17,7 +17,6 @@ import { } from 'lucide-react'; import { Button } from '@/components/ui/button'; -import { Skeleton } from '@/components/ui/skeleton'; import { LoginArea } from '@/components/auth/LoginArea'; import { QRCodeCanvas } from '@/components/ui/qrcode'; import { @@ -152,10 +151,13 @@ export function WalletPage() { // ── Available — full HD wallet UI ──────────────────────────── return ( -
    +
    {/* Top bar: settings cog only. We deliberately keep this minimal — the wallet home doubles as a phone-style "home screen" with the - balance as the hero, so any chrome here pushes that down. */} + balance as the hero, so any chrome here pushes that down. The cog + shares the `max-w-sm` container with the rest of the wallet UI so + it sits flush with the balance + send/receive controls instead of + floating off in the far corner of a wide layout. */}
    -
    +
    {/* Balance */} {isLoading ? ( -
    - - +
    +
    ) : error ? (