made theme debug easier by making it an actual option

This commit is contained in:
Henry Jameson 2024-06-21 23:28:24 +03:00
commit f9e407de63
9 changed files with 53 additions and 31 deletions

View file

@ -147,6 +147,7 @@ export const defaultState = {
maxDepthInThread: undefined, // instance default
autocompleteSelect: undefined, // instance default
closingDrawerMarksAsSeen: undefined, // instance default
themeDebug: false,
unseenAtTop: undefined, // instance default
ignoreInactionableSeen: undefined // instance default
}
@ -274,9 +275,16 @@ const config = {
applyConfig(state)
break
case 'customTheme':
case 'customThemeSource':
applyTheme(value)
case 'customThemeSource': {
const { themeDebug } = state
applyTheme(value, () => {}, themeDebug)
break
}
case 'themeDebug': {
const { customTheme, customThemeSource } = state
applyTheme(customTheme || customThemeSource, () => {}, value)
break
}
case 'interfaceLanguage':
messages.setLanguage(this.getters.i18n, value)
dispatch('loadUnicodeEmojiData', value)

View file

@ -383,16 +383,16 @@ const instance = {
.then(themeData => {
commit('setInstanceOption', { name: 'themeData', value: themeData })
// No need to apply theme if there's user theme already
const { customTheme } = rootState.config
const { customTheme, themeDebug } = rootState.config
const { themeApplied } = rootState.interface
if (customTheme || themeApplied) return
// New theme presets don't have 'theme' property, they use 'source'
const themeSource = themeData.source
if (!themeData.theme || (themeSource && themeSource.themeEngineVersion === CURRENT_VERSION)) {
applyTheme(themeSource)
applyTheme(themeSource, null, themeDebug)
} else {
applyTheme(themeData.theme)
applyTheme(themeData.theme, null, themeDebug)
}
commit('setThemeApplied')
})