Skip to content

Commit

Permalink
fix: add edit menu support for Electron. (#5483)
Browse files Browse the repository at this point in the history
  • Loading branch information
huhuanming authored Aug 12, 2024
1 parent de8492d commit 1343974
Show file tree
Hide file tree
Showing 22 changed files with 313 additions and 19 deletions.
11 changes: 11 additions & 0 deletions apps/desktop/src-electron/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,17 @@ const initMenu = () => {
},
]
: []),
{
label: i18nText(ETranslations.global_edit),
submenu: [
{ role: 'undo', label: i18nText(ETranslations.menu_undo) },
{ role: 'redo', label: i18nText(ETranslations.menu_redo) },
{ type: 'separator' },
{ role: 'cut', label: i18nText(ETranslations.menu_cut) },
{ role: 'copy', label: i18nText(ETranslations.global_copy) },
{ role: 'paste', label: i18nText(ETranslations.menu_paste) },
],
},
{
label: i18nText(ETranslations.menu_view),
submenu: [
Expand Down
31 changes: 27 additions & 4 deletions packages/kit/src/provider/Bootstrap.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import { useEffect, useRef } from 'react';

import { CommonActions } from '@react-navigation/routers';
import { useIntl } from 'react-intl';

import { Dialog } from '@onekeyhq/components';
import { Dialog, rootNavigationRef } from '@onekeyhq/components';
import { ETranslations } from '@onekeyhq/shared/src/locale';
import { defaultLogger } from '@onekeyhq/shared/src/logger/logger';
import platformEnv from '@onekeyhq/shared/src/platformEnv';
import { EModalRoutes, EModalSettingRoutes } from '@onekeyhq/shared/src/routes';
import { ERootRoutes } from '@onekeyhq/shared/src/routes/root';

import backgroundApiProxy from '../background/instance/backgroundApiProxy';
import { useAppUpdateInfo } from '../components/UpdateReminder/hooks';
Expand Down Expand Up @@ -58,9 +60,30 @@ const useDesktopEvents = platformEnv.isDesktop
});

window.desktopApi.on('app/openSettings', () => {
navigation.pushModal(EModalRoutes.SettingModal, {
screen: EModalSettingRoutes.SettingListModal,
});
const openSettingPage = () => {
navigation.pushModal(EModalRoutes.SettingModal, {
screen: EModalSettingRoutes.SettingListModal,
});
};
const routeState = rootNavigationRef.current?.getRootState();
if (routeState) {
const route = routeState.routes[routeState.routes.length - 1];
if (
route &&
(route.params as { screen: string })?.screen ===
EModalRoutes.SettingModal
) {
if (route.name === ERootRoutes.Modal) {
const routeLength = route.state?.routes?.[0]?.state?.routes.length || 1;
for (let i = 0; i < routeLength; i += 1)
setTimeout(() => {
rootNavigationRef.current?.goBack();
}, 10);
return;
}
}
}
openSettingPage();
});

window.desktopApi.on('app/lockNow', () => {
Expand Down
13 changes: 13 additions & 0 deletions packages/shared/src/locale/enum/translations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1048,15 +1048,19 @@ export enum ETranslations {
menu_actual_size = 'menu.actual_size',
menu_bring_all_to_front = 'menu.bring_all_to_front',
menu_check_for_updates = 'menu.check_for_updates',
menu_cut = 'menu.cut',
menu_help = 'menu.help',
menu_hide_onekey_wallet = 'menu.hide_onekey_wallet',
menu_lock_now = 'menu.lock_now',
menu_minimize = 'menu.minimize',
menu_official_website = 'menu.official_website',
menu_paste = 'menu.paste',
menu_preferences = 'menu.preferences',
menu_quit_onekey_wallet = 'menu.quit_onekey_wallet',
menu_redo = 'menu.redo',
menu_show_all = 'menu.show_all',
menu_toggle_full_screen = 'menu.toggle_full_screen',
menu_undo = 'menu.undo',
menu_view = 'menu.view',
menu_visit_help_center = 'menu.visit_help_center',
menu_window = 'menu.window',
Expand Down Expand Up @@ -1573,13 +1577,22 @@ export enum ETranslations {
transaction__contract_interaction = 'transaction__contract_interaction',
transaction__transaction_confirm = 'transaction__transaction_confirm',
troubleshooting_change_usb_port = 'troubleshooting.change_usb_port',
troubleshooting_check_bluetooth = 'troubleshooting.check_bluetooth',
troubleshooting_check_bridge = 'troubleshooting.check_bridge',
troubleshooting_close_other_onekey_app = 'troubleshooting.close_other_onekey_app',
troubleshooting_connect_and_unlock = 'troubleshooting.connect_and_unlock',
troubleshooting_fallback_solution_label = 'troubleshooting.fallback_solution_label',
troubleshooting_help_center = 'troubleshooting.help_center',
troubleshooting_reconnect_and_pair = 'troubleshooting.reconnect_and_pair',
troubleshooting_remove_device_from_bluetooth_list = 'troubleshooting.remove_device_from_bluetooth_list',
troubleshooting_remove_usb_dongles = 'troubleshooting.remove_usb_dongles',
troubleshooting_replug_usb_cable = 'troubleshooting.replug_usb_cable',
troubleshooting_request = 'troubleshooting.request',
troubleshooting_restart_app = 'troubleshooting.restart_app',
troubleshooting_show_helper_cta_label = 'troubleshooting.show_helper_cta_label',
troubleshooting_solution_x = 'troubleshooting.solution_x',
troubleshooting_try_different_usb_cable = 'troubleshooting.try_different_usb_cable',
troubleshooting_unlock_device = 'troubleshooting.unlock_device',
troubleshooting_use_original_usb_cable = 'troubleshooting.use_original_usb_cable',
trx_consumed = 'trx_consumed',
update_all_other_apps_closed = 'update.all_other_apps_closed',
Expand Down
15 changes: 14 additions & 1 deletion packages/shared/src/locale/json/bn.json
Original file line number Diff line number Diff line change
Expand Up @@ -1047,15 +1047,19 @@
"menu.actual_size": "প্রকৃত আকার",
"menu.bring_all_to_front": "সকলকে সামনে আনুন",
"menu.check_for_updates": "আপডেটের জন্য চেক করুন",
"menu.cut": "কাটা",
"menu.help": "সাহায্য",
"menu.hide_onekey_wallet": "OneKey ওয়ালেট লুকান",
"menu.lock_now": "এখন লক করুন",
"menu.minimize": "ছোট করুন",
"menu.official_website": "অফিসিয়াল ওয়েবসাইট",
"menu.paste": "পেস্ট করুন",
"menu.preferences": "পছন্দ..",
"menu.quit_onekey_wallet": "OneKey ওয়ালেট থেকে প্রস্থান করুন",
"menu.redo": "আবার করুন",
"menu.show_all": "সব দেখান",
"menu.toggle_full_screen": "পূর্ণ স্ক্রীন টগল করুন",
"menu.undo": "পূর্বাবস্থায় ফেরান",
"menu.view": "দেখুন",
"menu.visit_help_center": "সহায়তা কেন্দ্রে যান",
"menu.window": "জানালা",
Expand Down Expand Up @@ -1572,13 +1576,22 @@
"transaction__contract_interaction": "চুক্তি ইন্টারঅ্যাকশন",
"transaction__transaction_confirm": "লেনদেন নিশ্চিত করুন",
"troubleshooting.change_usb_port": "আপনার কম্পিউটারে ব্যবহৃত USB পোর্ট পরিবর্তন করুন।",
"troubleshooting.check_bluetooth": "আপনার OneKey ডিভাইসে ব্লুটুথ সক্রিয় করা নিশ্চিত করুন (যদি OneKey Pro ব্যবহার করেন তবে AirGap অক্ষম করুন)।",
"troubleshooting.check_bridge": "যাচাই করুন যে ব্রিজ সঠিকভাবে ইনস্টল করা হয়েছে। <tag>এখানে বিস্তারিত দেখুন</tag>।",
"troubleshooting.close_other_onekey_app": "অন্য কোনো OneKey অ্যাপ, এক্সটেনশন, বা ওয়েব পেজ বন্ধ করুন।",
"troubleshooting.connect_and_unlock": "আপনার ডিভাইস সংযুক্ত করুন এবং আনলক করুন যেন দেখা যায় এটি চিহ্নিত হয়েছে কিনা।",
"troubleshooting.fallback_solution_label": "এখনো সংযোগ করতে পারছেন না?",
"troubleshooting.help_center": "আমাদের <tag>সাহায্য কেন্দ্র</tag> পরিদর্শন করুন যেখানে আমরা আপনার সাহায্যের জন্য নির্দিষ্ট কীওয়ার্ড প্রবেশ করেছি যা আপনাকে প্রয়োজনীয় তথ্য খুঁজে পেতে সহায়তা করবে।",
"troubleshooting.reconnect_and_pair": "আপনার OneKey ডিভাইসটি পুনরায় সংযোগ করুন এবং জোড়া বাঁধুন।",
"troubleshooting.remove_device_from_bluetooth_list": "আপনার ফোন বা ট্যাবলেটের ব্লুটুথ সেটিংসে যান এবং পেয়ার করা ডিভাইসের তালিকা থেকে OneKey ডিভাইসটি সরান।",
"troubleshooting.remove_usb_dongles": "যে কোন ইউএসবি ডঙ্গল সরান।",
"troubleshooting.replug_usb_cable": "USB কেবলটি পুনরায় সংযোগ করুন।",
"troubleshooting.request": "যদি আপনি এখনো কোন সমাধান খুঁজে পান না, <tag>এখানে ক্লিক করুন</tag> আমাদের সাপোর্ট টিমের সাথে যোগাযোগ করার জন্য অতিরিক্ত সাহায্যের জন্য।",
"troubleshooting.restart_app": "OneKey অ্যাপটি পুনরায় চালু করুন।",
"troubleshooting.show_helper_cta_label": "আপনার ডিভাইস সংযোগ করতে সমস্যা হচ্ছে?",
"troubleshooting.solution_x": "সমাধান {number}",
"troubleshooting.try_different_usb_cable": "একটি ভিন্ন USB কেবল চেষ্টা করুন, নিশ্চিত হোন যে এটি ডাটা স্থানান্তর সমর্থন করে।",
"troubleshooting.unlock_device": "আপনার ডিভাইস আনলক করুন যেন তা চিহ্নিত হয়।",
"troubleshooting.use_original_usb_cable": "সম্ভবতঃ মূল USB কেবলটি ব্যবহার করুন।",
"trx_consumed": "TRX ব্যয় হয়েছে",
"update.all_other_apps_closed": "অন্য সমস্ত OneKey অ্যাপ এবং ওয়েব আপগ্রেড সরঞ্জামগুলি বন্ধ আছে।",
Expand Down Expand Up @@ -1667,7 +1680,7 @@
"update.server_not_responding_try_later": "সার্ভার প্রতিক্রিয়া দিচ্ছে না, দয়া করে পরে আবার চেষ্টা করুন।",
"update.transferring_data": "ডাটা স্থানান্তর করা হচ্ছে...",
"update.troubleshoot_connection_issues": "সংযোগ সমস্যাগুলি সমাধান করার জন্য:\n\n1. নিশ্চিত করুন যে OneKey Bridge ইনস্টল এবং চালু আছে।\n2. আপনার ব্রাউজারটি রিফ্রেশ করুন অথবা অন্য একটি ব্রাউজার ব্যবহার করুন।\n3. অন্য একটি কেবল এবং পোর্ট ব্যবহার করুন।\n\nযদি এটি সাহায্য না করে, তবে <url>OneKey সমর্থন</url> এর সাথে যোগাযোগ করুন।",
"update.troubleshoot_connection_issues_desktop": "সংযোগ সমস্যা সমাধানের জন্য, এই পদক্ষেপগুলি অনুসরণ করুন: \n\n 1. আপনার ডিভাইস পুনরায় সংযোগ করুন এবং আবার চেষ্টা করুন.\n 2. অ্যাপ এবং আপনার ডিভাইস রিস্টার্ট করুন, তারপর আবার চেষ্টা করুন।\n 3. একটি ভিন্ন কেবল এবং পোর্ট ব্যবহার করুন, তারপর আবার চেষ্টা করুন৷ \n\n যদি এটি সাহায্য না করে, <url> OneKey সমর্থন </url> এর সাথে যোগাযোগ করুন।",
"update.troubleshoot_connection_issues_desktop": "সংযোগ সমস্যা সমাধানের জন্য, এই পদক্ষেপগুলি অনুসরণ করুন: \n\n 1. আপনার ডিভাইস পুনরায় সংযোগ করুন এবং আবার চেষ্টা করুন.\n 2. অ্যাপ এবং আপনার ডিভাইস রিস্টার্ট করুন, তারপর আবার চেষ্টা করুন।\n 3. একটি ভিন্ন কেবল এবং পোর্ট ব্যবহার করুন, তারপর আবার চেষ্টা করুন৷\n\n যদি এটি সাহায্য না করে, <url> OneKey সমর্থন </url> এর সাথে যোগাযোগ করুন।",
"update.troubleshoot_connection_issues_mobile": "সংযোগ সমস্যা সমাধানের জন্য: \n\n 1. নিশ্চিত করুন যে ব্লুটুথ সক্রিয় আছে৷\n 2. আপনার ডিভাইস পুনরায় সংযোগ করুন এবং আবার চেষ্টা করুন.\n 3. অ্যাপ এবং আপনার ডিভাইস রিস্টার্ট করুন, তারপর আবার চেষ্টা করুন। \n\n যদি এটি সাহায্য না করে, <url> OneKey সমর্থন </url> এর সাথে যোগাযোগ করুন।",
"update.unable_to_connect_to_bridge": "ব্রিজে সংযোগ করতে অক্ষম। দয়া করে আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন এবং আবার চেষ্টা করুন।",
"update.update_app_available": "{version} সংস্করণে অ্যাপ আপডেট উপলব্ধ",
Expand Down
15 changes: 14 additions & 1 deletion packages/shared/src/locale/json/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -1047,15 +1047,19 @@
"menu.actual_size": "Tatsächliche Größe",
"menu.bring_all_to_front": "Alles nach vorne bringen",
"menu.check_for_updates": "Nach Updates suchen",
"menu.cut": "Schneiden",
"menu.help": "Helfen",
"menu.hide_onekey_wallet": "OneKey Wallet ausblenden",
"menu.lock_now": "Jetzt sperren",
"menu.minimize": "Minimieren",
"menu.official_website": "Offizielle Website",
"menu.paste": "Paste",
"menu.preferences": "Einstellungen...",
"menu.quit_onekey_wallet": "OneKey Wallet beenden",
"menu.redo": "Wiederholen",
"menu.show_all": "Alles zeigen",
"menu.toggle_full_screen": "Vollbild ein-/ausblenden",
"menu.undo": "Rückgängig machen",
"menu.view": "Sicht",
"menu.visit_help_center": "Zum Hilfe-Center",
"menu.window": "Fenster",
Expand Down Expand Up @@ -1572,13 +1576,22 @@
"transaction__contract_interaction": "Vertragsinteraktion",
"transaction__transaction_confirm": "Transaktionsbestätigung",
"troubleshooting.change_usb_port": "Ändern Sie den USB-Anschluss, den Sie an Ihrem Computer verwenden.",
"troubleshooting.check_bluetooth": "Stellen Sie sicher, dass Bluetooth auf Ihrem OneKey-Gerät aktiviert ist (deaktivieren Sie AirGap, wenn Sie OneKey Pro verwenden).",
"troubleshooting.check_bridge": "Überprüfen Sie, ob die Brücke korrekt installiert ist. <tag>Hier finden Sie Details</tag>.",
"troubleshooting.close_other_onekey_app": "Schließen Sie alle anderen OneKey Apps, Erweiterungen oder Webseiten.",
"troubleshooting.connect_and_unlock": "Verbinden und entsperren Sie Ihr Gerät, um zu sehen, ob es erkannt wird.",
"troubleshooting.fallback_solution_label": "Immer noch keine Verbindung?",
"troubleshooting.help_center": "Besuchen Sie unser <tag>Hilfezentrum</tag>, wo wir das spezifische Schlüsselwort bereits für Sie eingegeben haben, um Ihnen bei der Suche nach den benötigten Informationen zu helfen.",
"troubleshooting.reconnect_and_pair": "Stellen Sie die Verbindung wieder her und koppeln Sie Ihr OneKey-Gerät.",
"troubleshooting.remove_device_from_bluetooth_list": "Gehen Sie zu den Bluetooth-Einstellungen Ihres Telefons oder Tablets und entfernen Sie das OneKey-Gerät aus der Liste der gekoppelten Geräte.",
"troubleshooting.remove_usb_dongles": "Entfernen Sie alle USB-Dongles.",
"troubleshooting.replug_usb_cable": "Stecken Sie das USB-Kabel wieder ein.",
"troubleshooting.request": "Wenn Sie immer noch keine Lösung finden können, <tag>klicken Sie hier</tag> um unser Support-Team für weitere Unterstützung zu kontaktieren.",
"troubleshooting.restart_app": "Starten Sie die OneKey App neu.",
"troubleshooting.show_helper_cta_label": "Haben Sie Probleme, Ihr Gerät zu verbinden?",
"troubleshooting.solution_x": "Lösung {number}",
"troubleshooting.try_different_usb_cable": "Versuchen Sie es mit einem anderen USB-Kabel, und stellen Sie sicher, dass es die Datenübertragung unterstützt.",
"troubleshooting.unlock_device": "Entsperren Sie Ihr Gerät, um zu sehen, ob es erkannt wird.",
"troubleshooting.use_original_usb_cable": "Verwenden Sie nach Möglichkeit das originale USB-Kabel.",
"trx_consumed": "Verbrauchtes TRX",
"update.all_other_apps_closed": "Alle anderen OneKey Apps und Web-Upgrade-Tools sind geschlossen.",
Expand Down Expand Up @@ -1667,7 +1680,7 @@
"update.server_not_responding_try_later": "Server antwortet nicht, bitte versuchen Sie es später erneut.",
"update.transferring_data": "Datenübertragung läuft...",
"update.troubleshoot_connection_issues": "Um Verbindungsprobleme zu beheben:\n\n1. Stellen Sie sicher, dass OneKey Bridge installiert und in Betrieb ist.\n2. Aktualisieren Sie Ihren Browser oder probieren Sie einen anderen aus.\n3. Verwenden Sie ein anderes Kabel und einen anderen Anschluss.\n\nWenn dies nicht hilft, kontaktieren Sie den <url>OneKey-Support</url>.",
"update.troubleshoot_connection_issues_desktop": "Um Verbindungsprobleme zu beheben, führen Sie diese Schritte aus: \n\n 1. Verbinden Sie Ihr Gerät erneut und versuchen Sie es erneut.\n 2. Starten Sie die App und Ihr Gerät neu und versuchen Sie es dann erneut.\n 3. Verwenden Sie ein anderes Kabel und einen anderen Anschluss und versuchen Sie es erneut. \n\n Wenn dies nicht hilft, wenden Sie sich an den <url> OneKey-Support </url> .",
"update.troubleshoot_connection_issues_desktop": "Um Verbindungsprobleme zu beheben, führen Sie diese Schritte aus: \n\n 1. Verbinden Sie Ihr Gerät erneut und versuchen Sie es erneut.\n 2. Starten Sie die App und Ihr Gerät neu und versuchen Sie es dann erneut.\n 3. Verwenden Sie ein anderes Kabel und einen anderen Anschluss und versuchen Sie es erneut.\n\n Wenn dies nicht hilft, wenden Sie sich an den <url> OneKey-Support </url> .",
"update.troubleshoot_connection_issues_mobile": "So beheben Sie Verbindungsprobleme: \n\n 1. Stellen Sie sicher, dass Bluetooth aktiviert ist.\n 2. Verbinden Sie Ihr Gerät erneut und versuchen Sie es erneut.\n 3. Starten Sie die App und Ihr Gerät neu und versuchen Sie es dann erneut. \n\n Wenn dies nicht hilft, wenden Sie sich an den <url> OneKey-Support </url> .",
"update.unable_to_connect_to_bridge": "Verbindung zur Brücke konnte nicht hergestellt werden. Bitte überprüfen Sie Ihre Internetverbindung und versuchen Sie es erneut.",
"update.update_app_available": "Update der App auf {version} ist verfügbar",
Expand Down
Loading

0 comments on commit 1343974

Please sign in to comment.