diff options
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/config.js | 28 | ||||
| -rw-r--r-- | src/modules/interface.js | 53 |
2 files changed, 54 insertions, 27 deletions
diff --git a/src/modules/config.js b/src/modules/config.js index cb59acaa..375d0167 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -4,7 +4,6 @@ import StyleSetter from '../services/style_setter/style_setter.js' const browserLocale = (window.navigator.language || 'en').split('-')[0] const defaultState = { - name: 'Pleroma FE', colors: {}, collapseMessageWithSubject: false, hideAttachments: false, @@ -26,11 +25,7 @@ const defaultState = { }, muteWords: [], highlight: {}, - interfaceLanguage: browserLocale, - _internal: { - currentSaveStateNotice: {}, - noticeClearTimeout: null - } + interfaceLanguage: browserLocale } const config = { @@ -46,36 +41,15 @@ const config = { } else { del(state.highlight, user) } - }, - settingsSaved (state, { success, error }) { - if (success) { - if (state.noticeClearTimeout) { - clearTimeout(state.noticeClearTimeout) - } - set(state._internal, 'currentSaveStateNotice', { error: false, data: success }) - set(state._internal, 'noticeClearTimeout', - setTimeout(() => del(state._internal, 'currentSaveStateNotice'), 2000)) - } else { - set(state._internal, 'currentSaveStateNotice', { error: true, errorData: error }) - } } }, actions: { - setPageTitle ({state}, option = '') { - document.title = `${option} ${state.name}` - }, setHighlight ({ commit, dispatch }, { user, color, type }) { commit('setHighlight', {user, color, type}) }, - settingsSaved ({ commit, dispatch }, { success, error }) { - commit('settingsSaved', { success, error }) - }, setOption ({ commit, dispatch }, { name, value }) { commit('setOption', {name, value}) switch (name) { - case 'name': - dispatch('setPageTitle') - break case 'theme': StyleSetter.setPreset(value, commit) break diff --git a/src/modules/interface.js b/src/modules/interface.js new file mode 100644 index 00000000..0067ee64 --- /dev/null +++ b/src/modules/interface.js @@ -0,0 +1,53 @@ +import { set, delete as del } from 'vue' + +const defaultState = { + name: 'Pleroma FE', + registrationOpen: true, + textlimit: 5000, + server: 'http://localhost:4040/', + settings: { + currentSaveStateNotice: null, + noticeClearTimeout: null + } +} + +const interfaceMod = { + state: defaultState, + mutations: { + setInstanceOption (state, { name, value }) { + console.log(state) + console.log(name) + set(state, name, value) + }, + settingsSaved (state, { success, error }) { + if (success) { + if (state.noticeClearTimeout) { + clearTimeout(state.noticeClearTimeout) + } + set(state.settings, 'currentSaveStateNotice', { error: false, data: success }) + set(state.settings, 'noticeClearTimeout', + setTimeout(() => del(state.settings, 'currentSaveStateNotice'), 2000)) + } else { + set(state.settings, 'currentSaveStateNotice', { error: true, errorData: error }) + } + } + }, + actions: { + setPageTitle ({state}, option = '') { + document.title = `${option} ${state.name}` + }, + settingsSaved ({ commit, dispatch }, { success, error }) { + commit('settingsSaved', { success, error }) + }, + setInstanceOption ({ commit, dispatch }, { name, value }) { + commit('setInstanceOption', {name, value}) + switch (name) { + case 'name': + dispatch('setPageTitle') + break + } + } + } +} + +export default interfaceMod |
