Theme sync with system #216

This commit is contained in:
CunYu
2021-06-08 07:59:46 +08:00
committed by Natsumi
parent db489ee6bd
commit 59e9da9985
2 changed files with 145 additions and 131 deletions
+12 -1
View File
@@ -7301,13 +7301,24 @@ speechSynthesis.getVoices();
$app.watch.worldAutoCacheGPSFilter = saveOpenVROption; $app.watch.worldAutoCacheGPSFilter = saveOpenVROption;
$app.watch.autoSweepVRChatCache = saveOpenVROption; $app.watch.autoSweepVRChatCache = saveOpenVROption;
$app.watch.notificationTTS = saveNotificationTTS; $app.watch.notificationTTS = saveNotificationTTS;
$app.data.isDarkMode = configRepository.getBool('isDarkMode'); $app.data.themeMode = configRepository.getString('VRCX_ThemeMode');
if (!$app.data.themeMode) $app.data.themeMode = 'system';
var systemIsDarkMode = _ => window.matchMedia('(prefers-color-scheme: dark)').matches;
$app.data.isDarkMode = $app.data.themeMode === 'system' ? systemIsDarkMode() : configRepository.getBool('isDarkMode');
$appDarkStyle.disabled = $app.data.isDarkMode === false; $appDarkStyle.disabled = $app.data.isDarkMode === false;
$app.watch.isDarkMode = function () { $app.watch.isDarkMode = function () {
configRepository.setBool('isDarkMode', this.isDarkMode); configRepository.setBool('isDarkMode', this.isDarkMode);
$appDarkStyle.disabled = this.isDarkMode === false; $appDarkStyle.disabled = this.isDarkMode === false;
this.updateVRConfigVars(); this.updateVRConfigVars();
}; };
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {
$app._data.isDarkMode = e && e.matches;
})
$app.watch.themeMode = function () {
configRepository.setString('VRCX_ThemeMode', this.themeMode)
if (this.themeMode === 'system') this.isDarkMode = systemIsDarkMode();
else this.isDarkMode = this.themeMode === 'dark';
}
$app.data.isStartAtWindowsStartup = configRepository.getBool('VRCX_StartAtWindowsStartup'); $app.data.isStartAtWindowsStartup = configRepository.getBool('VRCX_StartAtWindowsStartup');
$app.data.isStartAsMinimizedState = (VRCXStorage.Get('VRCX_StartAsMinimizedState') === 'true'); $app.data.isStartAsMinimizedState = (VRCXStorage.Get('VRCX_StartAsMinimizedState') === 'true');
$app.data.isCloseToTray = configRepository.getBool('VRCX_CloseToTray'); $app.data.isCloseToTray = configRepository.getBool('VRCX_CloseToTray');
+5 -2
View File
@@ -725,8 +725,11 @@ html
div.options-container div.options-container
span.header Appearance span.header Appearance
div.options-container-item div.options-container-item
span.name Dark Mode span.name Theme mode
el-switch(v-model="isDarkMode") el-radio-group(v-model="themeMode" size="mini")
el-radio-button(label="system") System
el-radio-button(label="light") Light
el-radio-button(label="dark") Dark
div.options-container-item div.options-container-item
span.name Profile Picture Override span.name Profile Picture Override
el-switch(v-model="displayProfilePicOverrideAsAvatar") el-switch(v-model="displayProfilePicOverrideAsAvatar")