diff --git a/package.json b/package.json
index 0039167..0e19439 100755
--- a/package.json
+++ b/package.json
@@ -36,7 +36,8 @@
"react-treeview": "^0.4.7",
"source-map-support": "^0.4.15",
"style-loader": "^0.23.1",
- "webext-domain-permission-toggle": "^0.1.0",
+ "webext-domain-permission-toggle": "^1.0.0",
+ "webext-dynamic-content-scripts": "^6.0.3",
"webpack": "^4.28.1",
"webpack-dev-server": "^3.1.14",
"write-file-webpack-plugin": "^4.5.0"
@@ -48,13 +49,14 @@
"sanitize-html": "^1.20.0",
"snazzy": "^7.0.0",
"standard": "^12.0.1",
- "webext-dynamic-content-scripts": "^6.0.3",
"webstore-upload": "^0.0.8"
},
"standard": {
"env": [
"jest"
],
- "globals": [ "browser" ]
+ "globals": [
+ "browser"
+ ]
}
}
diff --git a/src/js/background.js b/src/js/background.js
index baec6f6..7db20ae 100644
--- a/src/js/background.js
+++ b/src/js/background.js
@@ -1,4 +1,4 @@
import 'webext-dynamic-content-scripts'
-import { addContextMenu } from 'webext-domain-permission-toggle'
+import addDomainPermissionToggle from 'webext-domain-permission-toggle'
-addContextMenu()
+addDomainPermissionToggle()
diff --git a/src/js/components/options/index.jsx b/src/js/components/options/index.jsx
index 680410c..3cffb56 100644
--- a/src/js/components/options/index.jsx
+++ b/src/js/components/options/index.jsx
@@ -2,7 +2,8 @@ import React from 'react'
import { StorageSync } from '../../lib'
import BodyColor from '../bodyColor'
-const url = 'https://chrome.google.com/webstore/detail/github-pull-request-tree/nfhdjopbhlggibjlimhdbogflgmbiahc'
+const chromeStoreUrl = 'https://chrome.google.com/webstore/detail/github-pull-request-tree/nfhdjopbhlggibjlimhdbogflgmbiahc'
+const firefoxStoreUrl = 'https://addons.mozilla.org/en-US/firefox/addon/better-pull-request-for-github/'
class Options extends React.Component {
constructor (props) {
@@ -20,6 +21,10 @@ class Options extends React.Component {
this.setState(await StorageSync.get())
}
+ isChrome() {
+ return typeof browser === "undefined"
+ }
+
render () {
return (
@@ -27,10 +32,11 @@ class Options extends React.Component {
diff --git a/src/js/components/tree/index.jsx b/src/js/components/tree/index.jsx
index 826632f..d35d78f 100644
--- a/src/js/components/tree/index.jsx
+++ b/src/js/components/tree/index.jsx
@@ -127,12 +127,11 @@ class Tree extends React.Component {
}
onOptions () {
- const { runtime } = (window.chrome || browser)
- if (runtime.openOptionsPage) {
- runtime.openOptionsPage()
- } else {
- window.open(runtime.getURL('options.html'))
+ let browserApi = window.chrome
+ if (typeof browser !== "undefined") {
+ browserApi = browser
}
+ window.open(browserApi.runtime.getURL('options.html'))
}
onClose () {
diff --git a/src/manifest.chrome.json b/src/manifest.chrome.json
index 8b57e82..b85cbb9 100644
--- a/src/manifest.chrome.json
+++ b/src/manifest.chrome.json
@@ -28,6 +28,9 @@
"css": []
}
],
+ "browser_action": {
+ "default_popup": "options.html"
+ },
"options_page": "options.html",
"web_accessible_resources": ["options.html"],
"icons": {
diff --git a/src/manifest.firefox.json b/src/manifest.firefox.json
index 5e8b603..d3d9eee 100644
--- a/src/manifest.firefox.json
+++ b/src/manifest.firefox.json
@@ -4,6 +4,7 @@
"permissions": [
"contextMenus",
"storage",
+ "activeTab",
"*://*.github.com/*"
],
"optional_permissions": [
@@ -13,8 +14,7 @@
"background": {
"scripts": [
"background.js"
- ],
- "persistent": false
+ ]
},
"content_scripts": [
{
@@ -28,7 +28,16 @@
"css": []
}
],
+ "browser_action": {
+ "default_icon": {
+ "16": "16x16.png",
+ "48": "48x48.png",
+ "128": "128x128.png"
+ },
+ "default_popup": "options.html"
+ },
"options_ui": {
+ "chrome_style": true,
"page": "options.html"
},
"web_accessible_resources": ["options.html"],
diff --git a/src/pages/options.css b/src/pages/options.css
index 2605011..b11b725 100644
--- a/src/pages/options.css
+++ b/src/pages/options.css
@@ -4,7 +4,8 @@ body {
.container {
margin-top: 50px;
- width: 500px;
+ padding: 0 30px 20px 30px;
+ width: 550px;
}
.text-center {
diff --git a/yarn.lock b/yarn.lock
index d4cea15..bd78a41 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8265,10 +8265,12 @@ webext-additional-permissions@^0.1.0:
dependencies:
"@types/chrome" "0.0.86"
-webext-domain-permission-toggle@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/webext-domain-permission-toggle/-/webext-domain-permission-toggle-0.1.0.tgz#82c0f611a075958e5b879fd77f69908236615607"
- integrity sha512-zPwVKYa5EiH0htXedmoAWUaMqU7pOr+4dlzFyGVM64Q0jLVo3V8AVcYOVDKtY+c9qOkhtoSUCGcXCnbs5u8eNg==
+webext-domain-permission-toggle@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/webext-domain-permission-toggle/-/webext-domain-permission-toggle-1.0.0.tgz#6f9a6d3234ffe596921d1be5ae8823ef5b02ebd2"
+ integrity sha512-K6RAOYtVCMAmqjQPopMbGOIoxpFU05ERGgaLkUNvFCdpPsXLB5y4m1+Cq1dezyfx6FU0lLEqxoL/5/49+EY5zA==
+ dependencies:
+ webext-additional-permissions "^0.1.0"
webext-dynamic-content-scripts@^6.0.3:
version "6.0.3"