aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/Menu.js15
-rw-r--r--src/stores/AppStore.js15
-rw-r--r--src/webview/recipe.js14
3 files changed, 37 insertions, 7 deletions
diff --git a/src/lib/Menu.js b/src/lib/Menu.js
index d7398a126..f3fbb0c73 100644
--- a/src/lib/Menu.js
+++ b/src/lib/Menu.js
@@ -487,7 +487,8 @@ const _templateFactory = intl => [
487 487
488const _titleBarTemplateFactory = intl => [ 488const _titleBarTemplateFactory = intl => [
489 { 489 {
490 label: `&${intl.formatMessage(menuItems.edit)}`, 490 label: intl.formatMessage(menuItems.edit),
491 accelerator: 'Alt+E',
491 submenu: [ 492 submenu: [
492 { 493 {
493 label: intl.formatMessage(menuItems.undo), 494 label: intl.formatMessage(menuItems.undo),
@@ -550,7 +551,8 @@ const _titleBarTemplateFactory = intl => [
550 ], 551 ],
551 }, 552 },
552 { 553 {
553 label: `&${intl.formatMessage(menuItems.view)}`, 554 label: intl.formatMessage(menuItems.view),
555 accelerator: 'Alt+V',
554 submenu: [ 556 submenu: [
555 { 557 {
556 type: 'separator', 558 type: 'separator',
@@ -641,11 +643,13 @@ const _titleBarTemplateFactory = intl => [
641 ], 643 ],
642 }, 644 },
643 { 645 {
644 label: `&${intl.formatMessage(menuItems.services)}`, 646 label: intl.formatMessage(menuItems.services),
647 accelerator: 'Alt+S',
645 submenu: [], 648 submenu: [],
646 }, 649 },
647 { 650 {
648 label: `&${intl.formatMessage(menuItems.workspaces)}`, 651 label: intl.formatMessage(menuItems.workspaces),
652 accelerator: 'Alt+W',
649 submenu: [], 653 submenu: [],
650 visible: workspaceStore.isFeatureEnabled, 654 visible: workspaceStore.isFeatureEnabled,
651 }, 655 },
@@ -816,7 +820,8 @@ export default class FranzMenu {
816 }); 820 });
817 821
818 tpl.unshift({ 822 tpl.unshift({
819 label: isMac ? app.getName() : `&${intl.formatMessage(menuItems.file)}`, 823 label: isMac ? app.getName() : intl.formatMessage(menuItems.file),
824 accelerator: 'Alt+F',
820 submenu: [ 825 submenu: [
821 { 826 {
822 label: intl.formatMessage(menuItems.about), 827 label: intl.formatMessage(menuItems.about),
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js
index c6724c20f..59b100b55 100644
--- a/src/stores/AppStore.js
+++ b/src/stores/AppStore.js
@@ -233,14 +233,25 @@ export default class AppStore extends Store {
233 release: os.release(), 233 release: os.release(),
234 screens: screen.getAllDisplays(), 234 screens: screen.getAllDisplays(),
235 }, 235 },
236 franz: { 236 ferdi: {
237 version: app.getVersion(), 237 version: app.getVersion(),
238 electron: process.versions.electron, 238 electron: process.versions.electron,
239 installedRecipes: this.stores.recipes.all.map(recipe => ({ id: recipe.id, version: recipe.version })), 239 installedRecipes: this.stores.recipes.all.map(recipe => ({ id: recipe.id, version: recipe.version })),
240 devRecipes: this.stores.recipePreviews.dev.map(recipe => ({ id: recipe.id, version: recipe.version })), 240 devRecipes: this.stores.recipePreviews.dev.map(recipe => ({ id: recipe.id, version: recipe.version })),
241 services: this.stores.services.all.map(service => ({ id: service.id, recipe: service.recipe.id })), 241 services: this.stores.services.all.map(service => ({
242 id: service.id,
243 recipe: service.recipe.id,
244 isAttached: service.isAttached,
245 isActive: service.isActive,
246 isEnabled: service.isEnabled,
247 isHibernating: service.isHibernating,
248 hasCrashed: service.hasCrashed,
249 isDarkModeEnabled: service.isDarkModeEnabled,
250 })),
242 workspaces: this.stores.workspaces.workspaces.map(workspace => ({ id: workspace.id, services: workspace.services })), 251 workspaces: this.stores.workspaces.workspaces.map(workspace => ({ id: workspace.id, services: workspace.services })),
243 windowSettings: readJsonSync(path.join(app.getPath('userData'), 'window-state.json')), 252 windowSettings: readJsonSync(path.join(app.getPath('userData'), 'window-state.json')),
253 settings: this.stores.settings.app,
254 features: this.stores.features.features,
244 user: this.stores.user.data.id, 255 user: this.stores.user.data.id,
245 }, 256 },
246 }; 257 };
diff --git a/src/webview/recipe.js b/src/webview/recipe.js
index 2bf8f757a..1e290f8be 100644
--- a/src/webview/recipe.js
+++ b/src/webview/recipe.js
@@ -120,6 +120,7 @@ class RecipeController {
120 } 120 }
121 } 121 }
122 122
123 console.log('Set theme to: ', this.settings.service.isDarkModeEnabled ? 'Dark' : 'Light');
123 if (this.settings.service.isDarkModeEnabled) { 124 if (this.settings.service.isDarkModeEnabled) {
124 debug('Enable dark mode'); 125 debug('Enable dark mode');
125 126
@@ -127,9 +128,18 @@ class RecipeController {
127 const darkModeStyle = path.join(this.settings.service.recipe.path, 'darkmode.css'); 128 const darkModeStyle = path.join(this.settings.service.recipe.path, 'darkmode.css');
128 const darkModeExists = fs.pathExistsSync(darkModeStyle); 129 const darkModeExists = fs.pathExistsSync(darkModeStyle);
129 130
131 console.log('darkmode.css exists? ', darkModeExists ? 'Yes' : 'No');
132
130 if (darkModeExists) { 133 if (darkModeExists) {
134 console.log('Injecting darkmode.css');
131 injectDarkModeStyle(this.settings.service.recipe.path); 135 injectDarkModeStyle(this.settings.service.recipe.path);
136
137 // Make sure universal dark mode is disabled
138 disableDarkMode();
139 this.universalDarkModeInjected = false;
132 } else if (this.settings.app.universalDarkMode && !ignoreList.includes(window.location.host)) { 140 } else if (this.settings.app.universalDarkMode && !ignoreList.includes(window.location.host)) {
141 console.log('Injecting DarkReader');
142
133 // Use darkreader instead 143 // Use darkreader instead
134 enableDarkMode({}, { 144 enableDarkMode({}, {
135 css: customDarkModeCss[window.location.host] || '', 145 css: customDarkModeCss[window.location.host] || '',
@@ -138,10 +148,14 @@ class RecipeController {
138 } 148 }
139 } else { 149 } else {
140 debug('Remove dark mode'); 150 debug('Remove dark mode');
151 console.log('DarkMode disabled - removing remaining styles');
141 152
142 if (isDarkModeStyleInjected()) { 153 if (isDarkModeStyleInjected()) {
154 console.log('Removing injected darkmode.css');
143 removeDarkModeStyle(); 155 removeDarkModeStyle();
144 } else { 156 } else {
157 console.log('Removing DarkReader');
158
145 disableDarkMode(); 159 disableDarkMode();
146 this.universalDarkModeInjected = false; 160 this.universalDarkModeInjected = false;
147 } 161 }