logo

pleroma-fe

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

Msrc/boot/after_store.js4+++-
Msrc/lib/persisted_state.js2+-
Msrc/modules/instance.js6++++--
Msrc/services/style_setter/style_setter.js2+-
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