feat: redesign wallet login and favorites, fix desktop/mobile bugs

- Remove forced BNB chain switch on injected login (signature is chain-agnostic)
- Refine isMobileDevice so touch Macs stay on desktop flow
- Wire RainbowKit/WalletConnect as a real MetaMask/imToken QR fallback,
  gated on a valid VITE_WALLETCONNECT_PROJECT_ID
- Rebuild login modal: single desktop primary action, collapsible other
  methods, mobile open-app fallback feedback, brand icons
- Add My Favorites entry points (header, mobile menu, wallet dropdown)
- Favorites page: error retry, mobile filter drawer
- Auto sign-out and re-login prompt on favorites 401
- Full native translations for all wallet strings across 7 locales

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
TerryM
2026-06-02 03:43:13 +08:00
parent f935f122f9
commit 7abe4a868c
17 changed files with 715 additions and 155 deletions

View File

@@ -194,6 +194,37 @@ export const jaDict: Dict = {
walletLoginSuccess: "ウォレットを接続しました",
walletLoginFailed: "ウォレットログインに失敗しました",
walletDisconnected: "ウォレットを切断しました",
walletNoBrowserWallet: "ブラウザウォレットが見つかりません",
walletNoBrowserWalletDesc:
"MetaMask などのブラウザウォレット拡張機能をインストールまたは有効にしてください。",
walletOpenWalletApp: "ウォレットアプリで開く",
walletOpenWalletAppDesc:
"このサイトをウォレットアプリで開き、署名してログインしてください。",
walletTokenPocket: "TokenPocket",
walletMetaMask: "MetaMask",
walletImToken: "imToken",
favoritesFilters: "フィルター",
favoriteSessionExpired:
"セッションの有効期限が切れました。もう一度ログインしてください。",
walletChooseDesktop:
"使用するウォレットを選択してください。デスクトップの場合は対応するブラウザ拡張機能をインストールしてください。",
walletChooseMobile: "このサイトを開くウォレットアプリを選択してください。",
walletDesktopHint:
"クリックしてもウォレットが開かない場合は、対応するブラウザ拡張機能がインストールされ有効になっているか確認してください。",
walletInstallSelected:
"{wallet} のブラウザ拡張機能が検出されません。インストールまたは有効にしてから再試行してください。",
walletOpen: "開く",
walletQrLogin: "QR ログイン",
walletMobileQrDesc:
"別のデバイスでこの QR コードをスキャンして、このブラウザにログインしてください。",
walletOtherMethods: "他のログイン方法",
walletUseCurrent: "現在のウォレットを使用",
walletOpening: "{wallet} を起動中…",
walletAppNotInstalled:
"何も起動しない場合は、アプリがインストールされていない可能性があります。",
walletDownloadApp: "{wallet} をダウンロード",
walletRetry: "再試行",
walletConnecting: "接続中…",
featureUnavailable: "未公開",
featureUnavailableDesc: "この機能はまだご利用いただけません。",
confirm: "了解",