fix: TokenPocket mobile deep-link login, desktop empty-state, toast above modal
- Mobile TokenPocket now opens the tpoutside:// sign deep link and returns to the original browser to finish login (no wallet in-app browser); desktop keeps the QR. Fixes mobile login + logout being trapped in TP's browser. - Desktop without an injected wallet shows a clear message instead of a dead button; TokenPocket login card is always available as a working path. - Raise toast z-index above the login modal so feedback is visible. - Add native TokenPocket-login strings across 7 locales. - Document that the live backend lacks favorites + TokenPocket routes (404), the real blocker for those features in production. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -183,8 +183,15 @@ export const enDict: Dict = {
|
||||
walletTokenPocket: "TokenPocket",
|
||||
walletMetaMask: "MetaMask",
|
||||
walletImToken: "imToken",
|
||||
walletTokenPocketLogin: "TokenPocket login",
|
||||
walletTpMobileDesc:
|
||||
"Open TokenPocket to sign, then come back here to finish. You stay in this browser instead of the wallet's in-app browser.",
|
||||
walletTpLoginBtn: "Log in with TokenPocket",
|
||||
walletTpWaiting: "Waiting for your signature in TokenPocket…",
|
||||
walletTpReopen: "Reopen TokenPocket",
|
||||
favoritesFilters: "Filters",
|
||||
favoriteSessionExpired: "Your session expired. Please sign in again.",
|
||||
loadFailed: "Could not load your favorites.",
|
||||
walletChooseDesktop:
|
||||
"Choose the wallet you want to use. On desktop, install the matching browser extension.",
|
||||
walletChooseMobile: "Choose a wallet app to open this site.",
|
||||
|
||||
@@ -183,8 +183,15 @@ export const idDict: Dict = {
|
||||
walletTokenPocket: "TokenPocket",
|
||||
walletMetaMask: "MetaMask",
|
||||
walletImToken: "imToken",
|
||||
walletTokenPocketLogin: "Masuk TokenPocket",
|
||||
walletTpMobileDesc:
|
||||
"Buka TokenPocket untuk menandatangani, lalu kembali ke sini untuk menyelesaikan. Anda tetap di browser ini, bukan browser dalam aplikasi dompet.",
|
||||
walletTpLoginBtn: "Masuk dengan TokenPocket",
|
||||
walletTpWaiting: "Menunggu tanda tangan Anda di TokenPocket…",
|
||||
walletTpReopen: "Buka kembali TokenPocket",
|
||||
favoritesFilters: "Filter",
|
||||
favoriteSessionExpired: "Sesi Anda telah berakhir. Silakan masuk lagi.",
|
||||
loadFailed: "Gagal memuat favorit Anda.",
|
||||
walletChooseDesktop:
|
||||
"Pilih dompet yang ingin digunakan. Di desktop, pasang ekstensi browser yang sesuai.",
|
||||
walletChooseMobile: "Pilih aplikasi dompet untuk membuka situs ini.",
|
||||
|
||||
@@ -203,9 +203,16 @@ export const jaDict: Dict = {
|
||||
walletTokenPocket: "TokenPocket",
|
||||
walletMetaMask: "MetaMask",
|
||||
walletImToken: "imToken",
|
||||
walletTokenPocketLogin: "TokenPocket ログイン",
|
||||
walletTpMobileDesc:
|
||||
"TokenPocket で署名するとこのページに戻ってログインが完了します。ウォレット内ブラウザには移動せず、現在のブラウザのままです。",
|
||||
walletTpLoginBtn: "TokenPocket でログイン",
|
||||
walletTpWaiting: "TokenPocket での署名を待っています…",
|
||||
walletTpReopen: "TokenPocket を再度開く",
|
||||
favoritesFilters: "フィルター",
|
||||
favoriteSessionExpired:
|
||||
"セッションの有効期限が切れました。もう一度ログインしてください。",
|
||||
loadFailed: "お気に入りを読み込めませんでした。",
|
||||
walletChooseDesktop:
|
||||
"使用するウォレットを選択してください。デスクトップの場合は対応するブラウザ拡張機能をインストールしてください。",
|
||||
walletChooseMobile: "このサイトを開くウォレットアプリを選択してください。",
|
||||
|
||||
@@ -181,8 +181,15 @@ export const koDict: Dict = {
|
||||
walletTokenPocket: "TokenPocket",
|
||||
walletMetaMask: "MetaMask",
|
||||
walletImToken: "imToken",
|
||||
walletTokenPocketLogin: "TokenPocket 로그인",
|
||||
walletTpMobileDesc:
|
||||
"TokenPocket에서 서명하면 이 페이지로 돌아와 로그인이 완료됩니다. 지갑 내장 브라우저로 이동하지 않고 현재 브라우저에 머무릅니다.",
|
||||
walletTpLoginBtn: "TokenPocket으로 로그인",
|
||||
walletTpWaiting: "TokenPocket에서 서명을 기다리는 중…",
|
||||
walletTpReopen: "TokenPocket 다시 열기",
|
||||
favoritesFilters: "필터",
|
||||
favoriteSessionExpired: "세션이 만료되었습니다. 다시 로그인해 주세요.",
|
||||
loadFailed: "즐겨찾기를 불러오지 못했습니다.",
|
||||
walletChooseDesktop:
|
||||
"사용할 지갑을 선택하세요. 데스크톱에서는 해당 브라우저 확장 프로그램을 설치하세요.",
|
||||
walletChooseMobile: "이 사이트를 열 지갑 앱을 선택하세요.",
|
||||
|
||||
@@ -183,8 +183,15 @@ export const msDict: Dict = {
|
||||
walletTokenPocket: "TokenPocket",
|
||||
walletMetaMask: "MetaMask",
|
||||
walletImToken: "imToken",
|
||||
walletTokenPocketLogin: "Log masuk TokenPocket",
|
||||
walletTpMobileDesc:
|
||||
"Buka TokenPocket untuk menandatangani, kemudian kembali ke sini untuk selesai. Anda kekal dalam pelayar ini, bukan pelayar dalam aplikasi dompet.",
|
||||
walletTpLoginBtn: "Log masuk dengan TokenPocket",
|
||||
walletTpWaiting: "Menunggu tandatangan anda dalam TokenPocket…",
|
||||
walletTpReopen: "Buka semula TokenPocket",
|
||||
favoritesFilters: "Penapis",
|
||||
favoriteSessionExpired: "Sesi anda telah tamat. Sila log masuk semula.",
|
||||
loadFailed: "Gagal memuatkan kegemaran anda.",
|
||||
walletChooseDesktop:
|
||||
"Pilih dompet yang ingin anda gunakan. Pada desktop, pasang sambungan pelayar yang sepadan.",
|
||||
walletChooseMobile: "Pilih aplikasi dompet untuk membuka laman ini.",
|
||||
|
||||
@@ -181,8 +181,15 @@ export const viDict: Dict = {
|
||||
walletTokenPocket: "TokenPocket",
|
||||
walletMetaMask: "MetaMask",
|
||||
walletImToken: "imToken",
|
||||
walletTokenPocketLogin: "Đăng nhập TokenPocket",
|
||||
walletTpMobileDesc:
|
||||
"Mở TokenPocket để ký, rồi quay lại đây để hoàn tất. Bạn vẫn ở trong trình duyệt này thay vì trình duyệt trong ví.",
|
||||
walletTpLoginBtn: "Đăng nhập bằng TokenPocket",
|
||||
walletTpWaiting: "Đang chờ bạn ký trong TokenPocket…",
|
||||
walletTpReopen: "Mở lại TokenPocket",
|
||||
favoritesFilters: "Bộ lọc",
|
||||
favoriteSessionExpired: "Phiên đăng nhập đã hết hạn. Vui lòng đăng nhập lại.",
|
||||
loadFailed: "Không thể tải mục yêu thích của bạn.",
|
||||
walletChooseDesktop:
|
||||
"Chọn ví bạn muốn dùng. Trên máy tính, hãy cài tiện ích mở rộng trình duyệt tương ứng.",
|
||||
walletChooseMobile: "Chọn ứng dụng ví để mở trang này.",
|
||||
|
||||
@@ -174,8 +174,15 @@ export const zhDict: Dict = {
|
||||
walletTokenPocket: "TokenPocket",
|
||||
walletMetaMask: "MetaMask",
|
||||
walletImToken: "imToken",
|
||||
walletTokenPocketLogin: "TokenPocket 登录",
|
||||
walletTpMobileDesc:
|
||||
"在 TokenPocket 中签名后会自动返回本页面完成登录,留在当前浏览器,不会跳进钱包内置浏览器。",
|
||||
walletTpLoginBtn: "使用 TokenPocket 登录",
|
||||
walletTpWaiting: "等待你在 TokenPocket 中完成签名…",
|
||||
walletTpReopen: "重新打开 TokenPocket",
|
||||
favoritesFilters: "筛选",
|
||||
favoriteSessionExpired: "登录已过期,请重新登录。",
|
||||
loadFailed: "无法加载收藏,请稍后重试。",
|
||||
walletChooseDesktop: "选择你要使用的钱包。电脑端需要先安装对应浏览器插件。",
|
||||
walletChooseMobile: "选择钱包 App 打开本站。",
|
||||
walletDesktopHint:
|
||||
|
||||
Reference in New Issue
Block a user