diff options
| author | Mark Felder <feld@FreeBSD.org> | 2020-07-13 13:25:23 -0500 |
|---|---|---|
| committer | Mark Felder <feld@FreeBSD.org> | 2020-07-13 13:25:23 -0500 |
| commit | da94935aaa18f16ac7fbe715c4610427d68ccf72 (patch) | |
| tree | 52691b7cbac2773858b245e596d56c1c5e6ea74b /src/modules/interface.js | |
| parent | 2eda3d687e8c986a982057c6f5eb969aa8d403d5 (diff) | |
| parent | 3e09a708f600b47dde831eeddb412828b38a0cf4 (diff) | |
Merge branch 'develop' into refactor/notification_settings
Diffstat (limited to 'src/modules/interface.js')
| -rw-r--r-- | src/modules/interface.js | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/src/modules/interface.js b/src/modules/interface.js index eeebd65e..ec08ac0a 100644 --- a/src/modules/interface.js +++ b/src/modules/interface.js @@ -14,7 +14,9 @@ const defaultState = { window.CSS.supports('-webkit-filter', 'drop-shadow(0 0)') ) }, - mobileLayout: false + mobileLayout: false, + globalNotices: [], + layoutHeight: 0 } const interfaceMod = { @@ -58,6 +60,15 @@ const interfaceMod = { if (!state.settingsModalLoaded) { state.settingsModalLoaded = true } + }, + pushGlobalNotice (state, notice) { + state.globalNotices.push(notice) + }, + removeGlobalNotice (state, notice) { + state.globalNotices = state.globalNotices.filter(n => n !== notice) + }, + setLayoutHeight (state, value) { + state.layoutHeight = value } }, actions: { @@ -81,6 +92,31 @@ const interfaceMod = { }, togglePeekSettingsModal ({ commit }) { commit('togglePeekSettingsModal') + }, + pushGlobalNotice ( + { commit, dispatch }, + { + messageKey, + messageArgs = {}, + level = 'error', + timeout = 0 + }) { + const notice = { + messageKey, + messageArgs, + level + } + if (timeout) { + setTimeout(() => dispatch('removeGlobalNotice', notice), timeout) + } + commit('pushGlobalNotice', notice) + return notice + }, + removeGlobalNotice ({ commit }, notice) { + commit('removeGlobalNotice', notice) + }, + setLayoutHeight ({ commit }, value) { + commit('setLayoutHeight', value) } } } |
