logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://hacktivis.me/git/pleroma-fe.git
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:

Msrc/modules/instance.js1+
Msrc/modules/interface.js23+++++++++++++++--------
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)