From fa8ecb1c39d2900de69fef0a609ef31ce0ef9161 Mon Sep 17 00:00:00 2001 From: HJ Date: Wed, 26 Dec 2018 09:19:25 +0000 Subject: User Card Content fixes and updates --- src/modules/statuses.js | 2 ++ src/modules/users.js | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) (limited to 'src/modules') 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 f2b59aaa..666811b5 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) @@ -136,6 +139,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') -- cgit v1.2.3-70-g09d2