commit: 9d5514de9ce8ab7874af685b7ac01ef10092dea4
parent d2683a672859cb0fb46037540f62f4fdb07407c1
Author: Henry Jameson <me@hjkos.com>
Date: Wed, 17 Jul 2024 22:25:14 +0300
fix themes v2 editor for anon users and people who never touched themes
Diffstat:
2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/src/modules/instance.js b/src/modules/instance.js
@@ -42,6 +42,7 @@ const defaultState = {
registrationOpen: true,
server: 'http://localhost:4040/',
textlimit: 5000,
+ themeData: undefined, // used for theme editor v2
vapidPublicKey: undefined,
// Stuff from static/config.json
diff --git a/src/modules/interface.js b/src/modules/interface.js
@@ -230,13 +230,6 @@ const interfaceMod = {
const forceRecompile = forceThemeRecompilation || recompile
- // If we're not not forced to recompile try using
- // cache (tryLoadCache return true if load successful)
- if (!forceRecompile && !themeDebug && tryLoadCache()) {
- commit('setThemeApplied')
- return
- }
-
let promise = null
if (themeData) {
@@ -250,11 +243,25 @@ const interfaceMod = {
promise = Promise.resolve(normalizeThemeData(userThemeSnapshot))
}
} else if (actualThemeName && actualThemeName !== 'custom') {
- promise = getPreset(actualThemeName).then(themeData => normalizeThemeData(themeData))
+ promise = getPreset(actualThemeName).then(themeData => {
+ const realThemeData = normalizeThemeData(themeData)
+ if (actualThemeName === instanceThemeName) {
+ // This sole line is the reason why this whole block is above the recompilation check
+ commit('setInstanceOption', { name: 'themeData', value: { theme: realThemeData } })
+ }
+ return realThemeData
+ })
} else {
throw new Error('Cannot load any theme!')
}
+ // If we're not not forced to recompile try using
+ // cache (tryLoadCache return true if load successful)
+ if (!forceRecompile && !themeDebug && tryLoadCache()) {
+ commit('setThemeApplied')
+ return
+ }
+
promise
.then(realThemeData => {
const theme2ruleset = convertTheme2To3(realThemeData)