commit: b6bac4d06d815e2ccdcfc86ba14cae75908570ca
parent: 0e6134b32e820deeb947aa5e9e0401eecfc80bba
Author: Shpuld Shpludson <shp@cock.li>
Date: Mon, 11 Feb 2019 13:34:03 +0000
Merge branch 'fix/profile-not-loading-without-persisted-state' into 'develop'
Fix #324 Profiles sometimes not loading when there's no persisted state
Closes #324
See merge request pleroma/pleroma-fe!553
Diffstat:
4 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/boot/after_store.js b/src/boot/after_store.js
@@ -55,7 +55,6 @@ const afterStoreSetup = ({ store, i18n }) => {
}
copyInstanceOption('nsfwCensorImage')
- copyInstanceOption('theme')
copyInstanceOption('background')
copyInstanceOption('hidePostStats')
copyInstanceOption('hideUserStats')
@@ -96,6 +95,9 @@ const afterStoreSetup = ({ store, i18n }) => {
store.dispatch('initializeSocket')
}
+ return store.dispatch('setTheme', config['theme'])
+ })
+ .then(() => {
const router = new VueRouter({
mode: 'history',
routes: routes(store),
diff --git a/src/lib/persisted_state.js b/src/lib/persisted_state.js
@@ -48,7 +48,7 @@ export default function createPersistedState ({
return getState(key, storage).then((savedState) => {
return store => {
try {
- if (typeof savedState === 'object') {
+ if (savedState !== null && typeof savedState === 'object') {
// build user cache
const usersState = savedState.users || {}
usersState.usersObject = {}
diff --git a/src/modules/instance.js b/src/modules/instance.js
@@ -66,9 +66,11 @@ const instance = {
case 'name':
dispatch('setPageTitle')
break
- case 'theme':
- setPreset(value, commit)
}
+ },
+ setTheme ({ commit }, themeName) {
+ commit('setInstanceOption', { name: 'theme', value: themeName })
+ return setPreset(themeName, commit)
}
}
}
diff --git a/src/services/style_setter/style_setter.js b/src/services/style_setter/style_setter.js
@@ -480,7 +480,7 @@ const getThemes = () => {
}
const setPreset = (val, commit) => {
- getThemes().then((themes) => {
+ return getThemes().then((themes) => {
const theme = themes[val] ? themes[val] : themes['pleroma-dark']
const isV1 = Array.isArray(theme)
const data = isV1 ? {} : theme.theme