aboutsummaryrefslogtreecommitdiff
path: root/src/modules/interface.js
diff options
context:
space:
mode:
authorShpuld Shpuldson <shp@cock.li>2020-07-06 10:45:47 +0300
committerShpuld Shpuldson <shp@cock.li>2020-07-06 10:45:47 +0300
commitafdc3f96f0cd83a2f977992f68a30d7a531df7de (patch)
tree9db58232bb5db7c9f3956e1741534990aba11aa1 /src/modules/interface.js
parent61f34ff361a24a287ac0bf0c79fd2f77b4f2b708 (diff)
parentb761bcf3334e1f464e63a87de40eb75d0906d545 (diff)
fix conflicts, make subject update the preview
Diffstat (limited to 'src/modules/interface.js')
-rw-r--r--src/modules/interface.js31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/modules/interface.js b/src/modules/interface.js
index eeebd65e..e31630fc 100644
--- a/src/modules/interface.js
+++ b/src/modules/interface.js
@@ -14,7 +14,8 @@ const defaultState = {
window.CSS.supports('-webkit-filter', 'drop-shadow(0 0)')
)
},
- mobileLayout: false
+ mobileLayout: false,
+ globalNotices: []
}
const interfaceMod = {
@@ -58,6 +59,12 @@ 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)
}
},
actions: {
@@ -81,6 +88,28 @@ 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)
}
}
}