aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/Menu.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Menu.js')
-rw-r--r--src/lib/Menu.js58
1 files changed, 45 insertions, 13 deletions
diff --git a/src/lib/Menu.js b/src/lib/Menu.js
index a6cde4d36..8f0a92c3d 100644
--- a/src/lib/Menu.js
+++ b/src/lib/Menu.js
@@ -1,9 +1,9 @@
1import { remote, shell } from 'electron'; 1import { remote, shell } from 'electron';
2import { autorun, computed, observable, toJS } from 'mobx'; 2import { autorun, computed, observable, toJS } from 'mobx';
3 3
4import { isDevMode, isMac } from '../environment'; 4import { isMac } from '../environment';
5 5
6const { app, Menu } = remote; 6const { app, Menu, dialog } = remote;
7 7
8const template = [ 8const template = [
9 { 9 {
@@ -84,6 +84,28 @@ const template = [
84 label: 'Learn More', 84 label: 'Learn More',
85 click() { shell.openExternal('http://meetfranz.com'); }, 85 click() { shell.openExternal('http://meetfranz.com'); },
86 }, 86 },
87 {
88 label: 'Changelog',
89 click() { shell.openExternal('https://github.com/meetfranz/franz/blob/master/CHANGELOG.md'); },
90 },
91 {
92 type: 'separator',
93 },
94 {
95 label: 'Support',
96 click() { shell.openExternal('http://meetfranz.com/support'); },
97 },
98 {
99 type: 'separator',
100 },
101 {
102 label: 'Terms of Service',
103 click() { shell.openExternal('https://meetfranz.com/terms'); },
104 },
105 {
106 label: 'Privacy Statement',
107 click() { shell.openExternal('https://meetfranz.com/privacy'); },
108 },
87 ], 109 ],
88 }, 110 },
89]; 111];
@@ -101,17 +123,15 @@ export default class FranzMenu {
101 _build() { 123 _build() {
102 const tpl = toJS(this.tpl); 124 const tpl = toJS(this.tpl);
103 125
104 if (isDevMode) { 126 tpl[1].submenu.push({
105 tpl[1].submenu.push({ 127 role: 'toggledevtools',
106 role: 'toggledevtools', 128 }, {
107 }, { 129 label: 'Toggle Service Developer Tools',
108 label: 'Toggle Service Developer Tools', 130 accelerator: 'CmdOrCtrl+Shift+Alt+i',
109 accelerator: 'CmdOrCtrl+Shift+Alt+i', 131 click: () => {
110 click: () => { 132 this.actions.service.openDevToolsForActiveService();
111 this.actions.service.openDevToolsForActiveService(); 133 },
112 }, 134 });
113 });
114 }
115 135
116 tpl[1].submenu.unshift({ 136 tpl[1].submenu.unshift({
117 label: 'Reload Service', 137 label: 'Reload Service',
@@ -218,6 +238,18 @@ export default class FranzMenu {
218 role: 'front', 238 role: 'front',
219 }, 239 },
220 ]; 240 ];
241 } else {
242 tpl[4].submenu.unshift({
243 role: 'about',
244 click: () => {
245 dialog.showMessageBox({
246 type: 'info',
247 title: 'Franz',
248 message: 'Franz',
249 detail: `Version: ${remote.app.getVersion()}\nRelease: ${process.versions.electron} / ${process.platform} / ${process.arch}`,
250 });
251 },
252 });
221 } 253 }
222 254
223 const serviceTpl = this.serviceTpl; 255 const serviceTpl = this.serviceTpl;