diff options
-rw-r--r-- | .nvmrc | 2 | ||||
-rw-r--r-- | src/lib/Menu.js | 15 | ||||
-rw-r--r-- | src/stores/AppStore.js | 15 | ||||
-rw-r--r-- | src/webview/recipe.js | 14 |
4 files changed, 38 insertions, 8 deletions
@@ -1 +1 @@ | |||
10.14.0 | 10.17.0 | ||
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 | ||
488 | const _titleBarTemplateFactory = intl => [ | 488 | const _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 | } |