diff options
| author | HJ <30-hj@users.noreply.git.pleroma.social> | 2020-02-18 21:20:43 +0000 |
|---|---|---|
| committer | HJ <30-hj@users.noreply.git.pleroma.social> | 2020-02-18 21:20:43 +0000 |
| commit | 3ddf7ebe2c94f88be12644d7a7a675f6f8331707 (patch) | |
| tree | 878e90d5381ce14f9c3d88ab77e998ef6238760d /src/modules/instance.js | |
| parent | 26e455bb4cadb90b4351f2a2e8f53eaa15d9e569 (diff) | |
| parent | 32902e01f80a2ff27e9f4fc5a922c47b63f397fd (diff) | |
Merge branch 'themes-accent' into 'develop'
Themes v3 Part 1 "2.1" codenamed "One step for themes, a giant burder for code reviewers"
Closes #750 and #774
See merge request pleroma/pleroma-fe!1037
Diffstat (limited to 'src/modules/instance.js')
| -rw-r--r-- | src/modules/instance.js | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/modules/instance.js b/src/modules/instance.js index 625323b9..8781646d 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -1,5 +1,5 @@ import { set } from 'vue' -import { setPreset } from '../services/style_setter/style_setter.js' +import { getPreset, applyTheme } from '../services/style_setter/style_setter.js' import { instanceDefaultProperties } from './config.js' const defaultState = { @@ -10,6 +10,7 @@ const defaultState = { textlimit: 5000, server: 'http://localhost:4040/', theme: 'pleroma-dark', + themeData: undefined, background: '/static/aurora_borealis.jpg', logo: '/static/logo.png', logoMask: true, @@ -96,6 +97,9 @@ const instance = { dispatch('initializeSocket') } break + case 'theme': + dispatch('setTheme', value) + break } }, async getStaticEmoji ({ commit }) { @@ -147,9 +151,16 @@ const instance = { } }, - setTheme ({ commit }, themeName) { + setTheme ({ commit, rootState }, themeName) { commit('setInstanceOption', { name: 'theme', value: themeName }) - return setPreset(themeName, commit) + getPreset(themeName) + .then(themeData => { + commit('setInstanceOption', { name: 'themeData', value: themeData }) + // No need to apply theme if there's user theme already + const { customTheme } = rootState.config + if (customTheme) return + applyTheme(themeData.theme) + }) }, fetchEmoji ({ dispatch, state }) { if (!state.customEmojiFetched) { |
