diff options
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/config.js | 4 | ||||
| -rw-r--r-- | src/modules/interface.js | 24 |
2 files changed, 25 insertions, 3 deletions
diff --git a/src/modules/config.js b/src/modules/config.js index 6d2e6ce0..c0d5c3c2 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -46,6 +46,7 @@ export const defaultState = { pauseOnUnfocused: true, stopGifs: true, replyVisibility: 'all', + thirdColumnMode: 'notifications', notificationVisibility: { follows: true, mentions: true, @@ -165,6 +166,9 @@ const config = { case 'interfaceLanguage': messages.setLanguage(this.getters.i18n, value) break + case 'thirdColumnMode': + dispatch('setLayoutWidth', undefined) + break } } } diff --git a/src/modules/interface.js b/src/modules/interface.js index 9df72b88..ed31b6ff 100644 --- a/src/modules/interface.js +++ b/src/modules/interface.js @@ -72,6 +72,9 @@ const interfaceMod = { setLayoutHeight (state, value) { state.layoutHeight = value }, + setLayoutWidth (state, value) { + state.layoutWidth = value + }, setLastTimeline (state, value) { state.lastTimeline = value } @@ -86,9 +89,6 @@ const interfaceMod = { setNotificationPermission ({ commit }, permission) { commit('setNotificationPermission', permission) }, - setLayoutType ({ commit }, value) { - commit('setLayoutType', value) - }, closeSettingsModal ({ commit }) { commit('closeSettingsModal') }, @@ -133,6 +133,24 @@ const interfaceMod = { setLayoutHeight ({ commit }, value) { commit('setLayoutHeight', value) }, + // value is optional, assuming it was cached prior + setLayoutWidth ({ commit, state, rootGetters }, value) { + let width = value + if (value !== undefined) { + commit('setLayoutWidth', value) + } else { + width = state.layoutWidth + } + const mobileLayout = width <= 800 + const normalOrMobile = mobileLayout ? 'mobile' : 'normal' + const { thirdColumnMode } = rootGetters.mergedConfig + if (thirdColumnMode === 'none') { + commit('setLayoutType', normalOrMobile) + } else { + const wideLayout = width >= 1300 + commit('setLayoutType', wideLayout ? 'wide' : normalOrMobile) + } + }, setLastTimeline ({ commit }, value) { commit('setLastTimeline', value) } |
