mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-24 12:06:15 +01:00
Use theme enum and platformUtilsService helpers (#1094)
* Use new theme enum and platformUtilsService helper * Use theme enum * Update jslib * Fix linting
This commit is contained in:
parent
2639d13e42
commit
15e8e5fec9
2
jslib
2
jslib
@ -1 +1 @@
|
|||||||
Subproject commit 91b73fa77727a12c788c00eef4f32065c23b6314
|
Subproject commit ce71c0c0bd6667573e0e611222dc415770ba3909
|
@ -6,6 +6,7 @@ import { FormControl } from '@angular/forms';
|
|||||||
import { debounceTime } from 'rxjs/operators';
|
import { debounceTime } from 'rxjs/operators';
|
||||||
|
|
||||||
import { DeviceType } from 'jslib-common/enums/deviceType';
|
import { DeviceType } from 'jslib-common/enums/deviceType';
|
||||||
|
import { ThemeType } from 'jslib-common/enums/themeType';
|
||||||
|
|
||||||
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
@ -134,9 +135,9 @@ export class SettingsComponent implements OnInit {
|
|||||||
|
|
||||||
this.themeOptions = [
|
this.themeOptions = [
|
||||||
{ name: i18nService.t('default'), value: null },
|
{ name: i18nService.t('default'), value: null },
|
||||||
{ name: i18nService.t('light'), value: 'light' },
|
{ name: i18nService.t('light'), value: ThemeType.Light },
|
||||||
{ name: i18nService.t('dark'), value: 'dark' },
|
{ name: i18nService.t('dark'), value: ThemeType.Dark },
|
||||||
{ name: 'Nord', value: 'nord' },
|
{ name: 'Nord', value: ThemeType.Nord },
|
||||||
];
|
];
|
||||||
|
|
||||||
this.clearClipboardOptions = [
|
this.clearClipboardOptions = [
|
||||||
|
@ -87,6 +87,7 @@ import { TotpService as TotpServiceAbstraction } from 'jslib-common/abstractions
|
|||||||
import { UserService as UserServiceAbstraction } from 'jslib-common/abstractions/user.service';
|
import { UserService as UserServiceAbstraction } from 'jslib-common/abstractions/user.service';
|
||||||
import { VaultTimeoutService as VaultTimeoutServiceAbstraction } from 'jslib-common/abstractions/vaultTimeout.service';
|
import { VaultTimeoutService as VaultTimeoutServiceAbstraction } from 'jslib-common/abstractions/vaultTimeout.service';
|
||||||
|
|
||||||
|
import { ThemeType } from 'jslib-common/enums/themeType';
|
||||||
|
|
||||||
const logService = new ElectronLogService();
|
const logService = new ElectronLogService();
|
||||||
const i18nService = new I18nService(window.navigator.language, './locales');
|
const i18nService = new I18nService(window.navigator.language, './locales');
|
||||||
@ -154,15 +155,17 @@ export function initFactory(): Function {
|
|||||||
const htmlEl = window.document.documentElement;
|
const htmlEl = window.document.documentElement;
|
||||||
htmlEl.classList.add('os_' + platformUtilsService.getDeviceString());
|
htmlEl.classList.add('os_' + platformUtilsService.getDeviceString());
|
||||||
htmlEl.classList.add('locale_' + i18nService.translationLocale);
|
htmlEl.classList.add('locale_' + i18nService.translationLocale);
|
||||||
let theme = await storageService.get<string>(ConstantsService.themeKey);
|
|
||||||
if (theme == null) {
|
const theme = await platformUtilsService.getEffectiveTheme();
|
||||||
theme = await platformUtilsService.getDefaultSystemTheme();
|
|
||||||
platformUtilsService.onDefaultSystemThemeChange(sysTheme => {
|
|
||||||
window.document.documentElement.classList.remove('theme_light', 'theme_dark');
|
|
||||||
window.document.documentElement.classList.add('theme_' + sysTheme);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
htmlEl.classList.add('theme_' + theme);
|
htmlEl.classList.add('theme_' + theme);
|
||||||
|
platformUtilsService.onDefaultSystemThemeChange(async sysTheme => {
|
||||||
|
const bwTheme = await storageService.get<ThemeType>(ConstantsService.themeKey);
|
||||||
|
if (bwTheme == null || bwTheme === ThemeType.System) {
|
||||||
|
htmlEl.classList.remove('theme_' + ThemeType.Light, 'theme_' + ThemeType.Dark);
|
||||||
|
htmlEl.classList.add('theme_' + sysTheme);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
stateService.save(ConstantsService.disableFaviconKey,
|
stateService.save(ConstantsService.disableFaviconKey,
|
||||||
await storageService.get<boolean>(ConstantsService.disableFaviconKey));
|
await storageService.get<boolean>(ConstantsService.disableFaviconKey));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user