Runs Copay as native desktop app
This commit is contained in:
parent
4953d86d8c
commit
f14aeaef0c
4 changed files with 36 additions and 8 deletions
13
package.json
13
package.json
|
|
@ -10,7 +10,18 @@
|
||||||
"bitcoin",
|
"bitcoin",
|
||||||
"bitcore"
|
"bitcore"
|
||||||
],
|
],
|
||||||
"main": "app.js",
|
"main": "public/index.html",
|
||||||
|
"window": {
|
||||||
|
"toolbar": false,
|
||||||
|
"resizable": false,
|
||||||
|
"width": 400,
|
||||||
|
"height": 600,
|
||||||
|
"min_width": 400,
|
||||||
|
"min_height": 600,
|
||||||
|
"max_width": 400,
|
||||||
|
"max_height": 600,
|
||||||
|
"position": "center"
|
||||||
|
},
|
||||||
"id": "jid1-x7bV5evAaI1P9Q",
|
"id": "jid1-x7bV5evAaI1P9Q",
|
||||||
"homepage": "https://github.com/bitpay/copay",
|
"homepage": "https://github.com/bitpay/copay",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|
|
||||||
17
src/js/services/isNodeWebkit.js
Normal file
17
src/js/services/isNodeWebkit.js
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// Detect node-webkit
|
||||||
|
var isNode = (typeof process !== "undefined" && typeof require !== "undefined");
|
||||||
|
var isNodeWebkit = false;
|
||||||
|
|
||||||
|
//Is this Node.js?
|
||||||
|
if(isNode) {
|
||||||
|
//If so, test for Node-Webkit
|
||||||
|
try {
|
||||||
|
isNodeWebkit = (typeof require('nw.gui') !== "undefined");
|
||||||
|
} catch(e) {
|
||||||
|
isNodeWebkit = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
angular.module('copayApp.services').value('isNodeWebkit', isNodeWebkit);
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.services')
|
angular.module('copayApp.services')
|
||||||
.factory('localStorageService', function(isChromeApp, $timeout) {
|
.factory('localStorageService', function(isChromeApp, isNodeWebkit, $timeout) {
|
||||||
var root = {};
|
var root = {};
|
||||||
var ls = ((typeof window.localStorage !== "undefined") ? window.localStorage : null);
|
var ls = ((typeof window.localStorage !== "undefined") ? window.localStorage : null);
|
||||||
|
|
||||||
if (isChromeApp && !ls) {
|
if (isChromeApp && !isNodeWebkit && !ls) {
|
||||||
ls = localStorage = chrome.storage.local;
|
ls = localStorage = chrome.storage.local;
|
||||||
window.localStorage = chrome.storage.local;
|
window.localStorage = chrome.storage.local;
|
||||||
}
|
}
|
||||||
|
|
@ -14,7 +14,7 @@ angular.module('copayApp.services')
|
||||||
throw new Error('localstorage not available');
|
throw new Error('localstorage not available');
|
||||||
|
|
||||||
root.get = function(k, cb) {
|
root.get = function(k, cb) {
|
||||||
if (isChromeApp) {
|
if (isChromeApp && !isNodeWebkit) {
|
||||||
chrome.storage.local.get(k,
|
chrome.storage.local.get(k,
|
||||||
function(data) {
|
function(data) {
|
||||||
//TODO check for errors
|
//TODO check for errors
|
||||||
|
|
@ -40,7 +40,7 @@ angular.module('copayApp.services')
|
||||||
};
|
};
|
||||||
|
|
||||||
root.set = function(k, v, cb) {
|
root.set = function(k, v, cb) {
|
||||||
if (isChromeApp) {
|
if (isChromeApp && !isNodeWebkit) {
|
||||||
var obj = {};
|
var obj = {};
|
||||||
obj[k] = v;
|
obj[k] = v;
|
||||||
|
|
||||||
|
|
@ -53,7 +53,7 @@ angular.module('copayApp.services')
|
||||||
};
|
};
|
||||||
|
|
||||||
root.remove = function(k, cb) {
|
root.remove = function(k, cb) {
|
||||||
if (isChromeApp) {
|
if (isChromeApp && !isNodeWebkit) {
|
||||||
chrome.storage.local.remove(k, cb);
|
chrome.storage.local.remove(k, cb);
|
||||||
} else {
|
} else {
|
||||||
ls.removeItem(k);
|
ls.removeItem(k);
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
angular.module('copayApp.services')
|
angular.module('copayApp.services')
|
||||||
.factory('logHeader', function($log, isChromeApp, isCordova) {
|
.factory('logHeader', function($log, isChromeApp, isCordova, isNodeWebkit) {
|
||||||
$log.info('Starting Copay v' + window.version + ' #' + window.commitHash);
|
$log.info('Starting Copay v' + window.version + ' #' + window.commitHash);
|
||||||
$log.info('Client: isCordova:', isCordova, 'isChromeApp:', isChromeApp);
|
$log.info('Client: isCordova:', isCordova, 'isChromeApp:', isChromeApp, 'isNodeWebkit:', isNodeWebkit);
|
||||||
$log.info('Navigator:', navigator.userAgent);
|
$log.info('Navigator:', navigator.userAgent);
|
||||||
return {};
|
return {};
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue