revert interface.js since it's an action it will be always asynchronous

This commit is contained in:
Henry Jameson 2024-09-18 02:49:27 +03:00
parent 6c6d356f70
commit d2f85f4f25

View file

@ -56,6 +56,9 @@ const interfaceMod = {
state.temporaryChangesConfirm = () => {}
state.temporaryChangesRevert = () => {}
},
setThemeApplied (state) {
state.themeApplied = true
},
setNotificationPermission (state, permission) {
state.notificationPermission = permission
},
@ -117,9 +120,6 @@ const interfaceMod = {
setPageTitle ({ rootState }, option = '') {
document.title = `${option} ${rootState.instance.name}`
},
setThemeApplied ({ state, rootGetters }) {
state.themeApplied = true
},
settingsSaved ({ commit, dispatch }, { success, error }) {
commit('settingsSaved', { success, error })
},
@ -212,7 +212,7 @@ const interfaceMod = {
setLastTimeline ({ commit }, value) {
commit('setLastTimeline', value)
},
setTheme ({ dispatch, commit, rootState }, { themeName, themeData, recompile, saveData } = {}) {
setTheme ({ commit, rootState }, { themeName, themeData, recompile, saveData } = {}) {
const {
theme: instanceThemeName
} = rootState.instance
@ -230,27 +230,27 @@ const interfaceMod = {
const forceRecompile = forceThemeRecompilation || recompile
let result = null
let promise = null
if (themeData) {
result = normalizeThemeData(themeData)
promise = Promise.resolve(normalizeThemeData(themeData))
} else if (themeName) {
result = normalizeThemeData(getPreset(themeName))
.then(themeData => normalizeThemeData(themeData))
promise = getPreset(themeName).then(themeData => normalizeThemeData(themeData))
} else if (userThemeSource || userThemeSnapshot) {
result = normalizeThemeData({
promise = Promise.resolve(normalizeThemeData({
_pleroma_theme_version: 2,
theme: userThemeSnapshot,
source: userThemeSource
})
}))
} else if (actualThemeName && actualThemeName !== 'custom') {
const themeData = getPreset(actualThemeName)
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 } })
}
result = realThemeData
return realThemeData
})
} else {
throw new Error('Cannot load any theme!')
}
@ -258,10 +258,12 @@ const interfaceMod = {
// If we're not not forced to recompile try using
// cache (tryLoadCache return true if load successful)
if (!forceRecompile && !themeDebug && tryLoadCache()) {
return dispatch('setThemeApplied')
commit('setThemeApplied')
return
}
const realThemeData = result
promise
.then(realThemeData => {
const theme2ruleset = convertTheme2To3(realThemeData)
if (saveData) {
@ -340,9 +342,12 @@ const interfaceMod = {
applyTheme(
ruleset,
() => dispatch('setThemeApplied'),
() => commit('setThemeApplied'),
themeDebug
)
})
return promise
}
}
}