summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/bg/js/popup.js4
-rw-r--r--ext/bg/js/yomichan.js27
2 files changed, 24 insertions, 7 deletions
diff --git a/ext/bg/js/popup.js b/ext/bg/js/popup.js
index 5bc7def4..8577dd96 100644
--- a/ext/bg/js/popup.js
+++ b/ext/bg/js/popup.js
@@ -19,8 +19,8 @@
$(document).ready(() => {
$('#open-search').click(() => commandExec('search'));
- $('#open-options').click(() => chrome.runtime.openOptionsPage());
- $('#open-help').click(() => window.open('http://foosoft.net/projects/yomichan'));
+ $('#open-options').click(() => commandExec('options'));
+ $('#open-help').click(() => commandExec('help'));
optionsLoad().then(options => {
const toggle = $('#enable-search');
diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js
index e2deb2cd..1a34aba4 100644
--- a/ext/bg/js/yomichan.js
+++ b/ext/bg/js/yomichan.js
@@ -165,11 +165,28 @@ window.yomichan = new class {
}
onCommand(command) {
- if (command === 'search') {
- window.open(chrome.extension.getURL('/bg/search.html'));
- } else if (command === 'toggle') {
- this.options.general.enable = !this.options.general.enable;
- optionsSave(this.options).then(() => this.optionsSet(this.options));
+ const handlers = {
+ search: () => {
+ chrome.tabs.create({url: chrome.extension.getURL('/bg/search.html')});
+ },
+
+ help: () => {
+ chrome.tabs.create({url: 'https://foosoft.net/projects/yomichan/'});
+ },
+
+ options: () => {
+ chrome.runtime.openOptionsPage();
+ },
+
+ toggle: () => {
+ this.options.general.enable = !this.options.general.enable;
+ optionsSave(this.options).then(() => this.optionsSet(this.options));
+ }
+ };
+
+ const handler = handlers[command];
+ if (handler) {
+ handler();
}
}