mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-09 09:51:02 +01:00
feat(platform-utils): Get and react to changes to the system theme (#161)
These changes will allow the WebExtension (and later the desktop application) to respect the system theme. I've added the Electron implementation until I realized that the required API [has been implemented but not released yet](https://www.electronjs.org/docs/api/native-theme/history). Let me know if you I should remove the code. Part of https://github.com/bitwarden/browser/issues/1256. https://www.electronjs.org/docs/api/native-theme Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com>
This commit is contained in:
parent
f7d8887304
commit
58f5369adc
@ -34,5 +34,7 @@ export abstract class PlatformUtilsService {
|
||||
readFromClipboard: (options?: any) => Promise<string>;
|
||||
supportsBiometric: () => Promise<boolean>;
|
||||
authenticateBiometric: () => Promise<boolean>;
|
||||
getDefaultSystemTheme: () => 'light' | 'dark';
|
||||
onDefaultSystemThemeChange: (callback: ((theme: 'light' | 'dark') => unknown)) => unknown;
|
||||
supportsSecureStorage: () => boolean;
|
||||
}
|
||||
|
@ -146,6 +146,13 @@ export class CliPlatformUtilsService implements PlatformUtilsService {
|
||||
return Promise.resolve(false);
|
||||
}
|
||||
|
||||
getDefaultSystemTheme() {
|
||||
return 'light' as 'light' | 'dark';
|
||||
}
|
||||
|
||||
onDefaultSystemThemeChange() {
|
||||
}
|
||||
|
||||
supportsSecureStorage(): boolean {
|
||||
return false;
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ import {
|
||||
ipcRenderer,
|
||||
remote,
|
||||
shell,
|
||||
// nativeTheme,
|
||||
} from 'electron';
|
||||
import * as fs from 'fs';
|
||||
|
||||
@ -220,6 +221,17 @@ export class ElectronPlatformUtilsService implements PlatformUtilsService {
|
||||
});
|
||||
}
|
||||
|
||||
getDefaultSystemTheme() {
|
||||
return 'light' as 'light' | 'dark';
|
||||
// return nativeTheme.shouldUseDarkColors ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
onDefaultSystemThemeChange(callback: ((theme: 'light' | 'dark') => unknown)) {
|
||||
// nativeTheme.on('updated', () => {
|
||||
// callback(this.getDefaultSystemTheme());
|
||||
// });
|
||||
}
|
||||
|
||||
supportsSecureStorage(): boolean {
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user