aboutsummaryrefslogtreecommitdiff
path: root/src/modules/config.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2024-07-17 22:10:11 +0300
committerHenry Jameson <me@hjkos.com>2024-07-17 22:10:11 +0300
commitd2683a672859cb0fb46037540f62f4fdb07407c1 (patch)
tree4fee2c22fed6f8e309753722f5d76ddee7f0266f /src/modules/config.js
parent9bbdad1a6f4c3d52569f4c58c04dace95d9a6bb3 (diff)
new theme selector, RC
Diffstat (limited to 'src/modules/config.js')
-rw-r--r--src/modules/config.js35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/modules/config.js b/src/modules/config.js
index 906a64b0..e54a883c 100644
--- a/src/modules/config.js
+++ b/src/modules/config.js
@@ -35,11 +35,26 @@ export const multiChoiceProperties = [
export const defaultState = {
expertLevel: 0, // used to track which settings to show and hide
- colors: {},
- theme: undefined,
- customTheme: undefined,
- customThemeSource: undefined,
- forceThemeRecompilation: false,
+
+ // Theme stuff
+ theme: undefined, // Very old theme store, stores preset name, still in use
+
+ // V1
+ colors: {}, // VERY old theme store, just colors of V1, probably not even used anymore
+
+ // V2
+ customTheme: undefined, // "snapshot", previously was used as actual theme store for V2 so it's still used in case of PleromaFE downgrade event.
+ customThemeSource: undefined, // "source", stores original theme data
+
+ // V3
+ themeDebug: false, // debug mode that uses computed backgrounds instead of real ones to debug contrast functions
+ forceThemeRecompilation: false, // flag that forces recompilation on boot even if cache exists
+ palette: null, // not used yet, will be used for V3
+ theme3hacks: { // Hacks, user overrides that are independent of theme used
+ underlay: 'none',
+ badgeColor: null
+ },
+
hideISP: false,
hideInstanceWallpaper: false,
hideShoutbox: false,
@@ -92,11 +107,6 @@ export const defaultState = {
chatMention: true,
polls: true
},
- palette: null,
- theme3hacks: {
- underlay: 'none',
- badgeColor: null
- },
webPushNotifications: false,
webPushAlwaysShowNotifications: false,
muteWords: [],
@@ -164,7 +174,6 @@ 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
}
@@ -256,6 +265,7 @@ const config = {
})
},
setThemeV2 ({ commit, dispatch }, { customTheme, customThemeSource }) {
+ commit('setOption', { name: 'theme', value: 'custom' })
commit('setOption', { name: 'customTheme', value: customTheme })
commit('setOption', { name: 'customThemeSource', value: customThemeSource })
dispatch('setTheme', { themeData: customThemeSource, recompile: true })
@@ -290,7 +300,8 @@ const config = {
}
switch (name) {
case 'theme':
- dispatch('setTheme', { themeName: value, recompile: true })
+ if (value === 'custom') break
+ dispatch('setTheme', { themeName: value, recompile: true, saveData: true })
break
case 'themeDebug': {
dispatch('setTheme', { recompile: true })