aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/statuses.js2
-rw-r--r--src/modules/users.js18
2 files changed, 20 insertions, 0 deletions
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index 8c2d36bc..dccccf72 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -27,6 +27,7 @@ export const defaultState = {
maxId: 0,
minId: Number.POSITIVE_INFINITY,
data: [],
+ idStore: {},
error: false
},
favorites: new Set(),
@@ -307,6 +308,7 @@ const addNewNotifications = (state, { dispatch, notifications, older, visibleNot
}
state.notifications.data.push(result)
+ state.notifications.idStore[notification.id] = result
if ('Notification' in window && window.Notification.permission === 'granted') {
const title = action.user.name
diff --git a/src/modules/users.js b/src/modules/users.js
index cff16c47..2f05ed3f 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -66,6 +66,9 @@ export const mutations = {
setUserForStatus (state, status) {
status.user = state.usersObject[status.user.id]
},
+ setUserForNotification (state, notification) {
+ notification.action.user = state.usersObject[notification.action.user.id]
+ },
setColor (state, { user: { id }, highlighted }) {
const user = state.usersObject[id]
set(user, 'highlight', highlighted)
@@ -137,6 +140,21 @@ const users = {
store.commit('setUserForStatus', status)
})
},
+ addNewNotifications (store, { notifications }) {
+ const users = compact(map(notifications, 'from_profile'))
+ const notificationIds = compact(notifications.map(_ => String(_.id)))
+ store.commit('addNewUsers', users)
+
+ const notificationsObject = store.rootState.statuses.notifications.idStore
+ const relevantNotifications = Object.entries(notificationsObject)
+ .filter(([k, val]) => notificationIds.includes(k))
+ .map(([k, val]) => val)
+
+ // Reconnect users to notifications
+ each(relevantNotifications, (notification) => {
+ store.commit('setUserForNotification', notification)
+ })
+ },
async signUp (store, userInfo) {
store.commit('signUpPending')