diff --git a/interface/client/templates/index.js b/interface/client/templates/index.js index 3f7bf6a92..9a033442d 100644 --- a/interface/client/templates/index.js +++ b/interface/client/templates/index.js @@ -34,6 +34,9 @@ Template.body.helpers({ if(~location.hash.indexOf('#importAccount')) { return 'popupWindows_importAccount'; } + if(~location.hash.indexOf('#about')) { + return 'popupWindows_about'; + } if(location.hash === '#requestAccount') { // $('title').text(TAPi18n.__('mist.popupWindows.requestAccount.title') return 'popupWindows_requestAccount'; diff --git a/interface/client/templates/popupWindows/about.html b/interface/client/templates/popupWindows/about.html new file mode 100644 index 000000000..8395493bd --- /dev/null +++ b/interface/client/templates/popupWindows/about.html @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/interface/client/templates/popupWindows/about.js b/interface/client/templates/popupWindows/about.js new file mode 100644 index 000000000..fa2442a8c --- /dev/null +++ b/interface/client/templates/popupWindows/about.js @@ -0,0 +1,45 @@ +/** +Template Controllers + +@module Templates +*/ + +var mode = location.hash.replace('#about_',''); + +/** +The about template + +@class [template] popupWindows_about +@constructor +*/ +Template['popupWindows_about'].onCreated(function(){ + +}); + + +Template['popupWindows_about'].helpers({ + /** + Returns the icon path + + @method iconPath + */ + 'iconPath': function(){ + return 'file://'+ dirname.replace('modules/preloader','') +'icons/'+ mode +'/icon2x.png'; + }, + /** + Returns the application name + + @method name + */ + 'name': function(){ + return (mode === 'mist') ? 'Mist' : 'Ethereum Wallet'; + }, + /** + Returns mist api + + @method mist + */ + 'mist': function(){ + return mist; + } +}); \ No newline at end of file diff --git a/main.js b/main.js index 5b34a1941..1d03baf41 100644 --- a/main.js +++ b/main.js @@ -2,12 +2,12 @@ global._ = require('underscore'); const fs = require('fs'); const electron = require('electron'); const app = require('app'); // Module to control application life. -const appMenu = require('./modules/menuItems'); const BrowserWindow = require('browser-window'); // Module to create native browser window. const i18n = require('./modules/i18n.js'); const Minimongo = require('./modules/minimongoDb.js'); const syncMinimongo = require('./modules/syncMinimongo.js'); const ipc = electron.ipcMain; +const packageJson = require('./package.json'); // GLOBAL Variables @@ -17,7 +17,17 @@ global.path = { USERDATA: app.getPath('userData') // Application Aupport/Mist }; +global.appName = 'Mist'; + +global.production = false; +global.mode = 'wallet'; + +global.version = packageJson.version; +global.license = packageJson.license; + + require('./modules/ipcCommunicator.js'); +const appMenu = require('./modules/menuItems'); const ipcProviderBackend = require('./modules/ipc/ipcProviderBackend.js'); const NodeConnector = require('./modules/ipc/nodeConnector.js'); const popupWindow = require('./modules/popupWindow.js'); @@ -25,10 +35,6 @@ const ethereumNodes = require('./modules/ethereumNodes.js'); const getIpcPath = require('./modules/ipc/getIpcPath.js'); var ipcPath = getIpcPath(); -global.appName = 'Mist'; - -global.production = false; -global.mode = 'wallet'; global.mainWindow = null; global.windows = {}; diff --git a/modules/menuItems.js b/modules/menuItems.js index 2c16516fb..13b4f62c8 100644 --- a/modules/menuItems.js +++ b/modules/menuItems.js @@ -36,7 +36,9 @@ var menuTempl = function(webviews) { submenu: [ { label: i18n.t('mist.applicationMenu.app.about', {app: config.name}), - role: 'about' + click: function(){ + popupWindow.show('about_'+ global.mode, {width: 420, height: 230, alwaysOnTop: true}); + } }, { label: i18n.t('mist.applicationMenu.app.quit', {app: config.name}), diff --git a/modules/mistAPI.js b/modules/mistAPI.js index 0de63ec8a..6fe964565 100644 --- a/modules/mistAPI.js +++ b/modules/mistAPI.js @@ -1,6 +1,10 @@ /** @module MistAPI */ + +const packageJson = require('./../package.json'); + + module.exports = function(isWallet) { const ipc = require('electron').ipcRenderer; @@ -65,6 +69,8 @@ module.exports = function(isWallet) { */ var mist = { callbacks: {}, + version: packageJson.version, + license: packageJson.license, platform: process.platform, requestAccount: function(callback){ if(callback) { diff --git a/modules/preloader/popupWindows.js b/modules/preloader/popupWindows.js index 1fccf6a20..12b921400 100644 --- a/modules/preloader/popupWindows.js +++ b/modules/preloader/popupWindows.js @@ -4,6 +4,7 @@ const ipc = require('electron').ipcRenderer; require('../openExternal.js'); +const mist = require('../mistAPI.js'); const ipcProviderWrapper = require('../ipc/ipcProviderWrapper.js'); const BigNumber = require('bignumber.js'); const Web3 = require('web3'); @@ -19,6 +20,7 @@ ipc.on('data', function(e, data) { // make variables globally accessable +window.mist = mist(); window.BigNumber = BigNumber; window.web3 = new Web3(new Web3.providers.IpcProvider('', ipcProviderWrapper)); web3Admin.extend(window.web3);