aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorshpuld <shp@cock.li>2019-02-09 11:26:35 +0200
committershpuld <shp@cock.li>2019-02-09 11:26:35 +0200
commit3fb531976ace7d19f05ba90cf9785a0114f89540 (patch)
tree4f501ea7ee5632b13ee008446a0733a3b6b649d2 /src
parent9516d5dd73c915443b122440a0ae8996090dc0dd (diff)
Change the async stuff to not render app before theme is loaded
Diffstat (limited to 'src')
-rw-r--r--src/boot/after_store.js4
-rw-r--r--src/lib/persisted_state.js2
-rw-r--r--src/modules/instance.js6
-rw-r--r--src/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
index 5693dcc6..60cee1bf 100644
--- 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')
@@ -93,6 +92,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
index ccd92633..6f7202ce 100644
--- 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
index 4ad41873..2755e418 100644
--- a/src/modules/instance.js
+++ b/src/modules/instance.js
@@ -63,9 +63,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
index 10e7ed9b..d0b6ccbf 100644
--- 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