aboutsummaryrefslogtreecommitdiff
path: root/src/modules/statuses.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/statuses.js')
-rw-r--r--src/modules/statuses.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index 051ec71b..c3753c5a 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -32,6 +32,17 @@ export const defaultState = {
minVisibleId: 0,
loading: false
},
+ user: {
+ statuses: [],
+ statusesObject: {},
+ faves: [],
+ visibleStatuses: [],
+ visibleStatusesObject: {},
+ newStatusCount: 0,
+ maxId: 0,
+ minVisibleId: 0,
+ loading: false
+ },
publicAndExternal: {
statuses: [],
statusesObject: {},
@@ -242,6 +253,14 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us
const uri = deletion.uri
updateMaxId(deletion)
+ // Remove possible notification
+ const status = find(allStatuses, {uri})
+ if (!status) {
+ return
+ }
+
+ remove(state.notifications, ({action: {id}}) => id === status.id)
+
remove(allStatuses, { uri })
if (timeline) {
remove(timelineObject.statuses, { uri })
@@ -276,6 +295,21 @@ export const mutations = {
oldTimeline.visibleStatusesObject = {}
each(oldTimeline.visibleStatuses, (status) => { oldTimeline.visibleStatusesObject[status.id] = status })
},
+ clearTimeline (state, { timeline }) {
+ const emptyTimeline = {
+ statuses: [],
+ statusesObject: {},
+ faves: [],
+ visibleStatuses: [],
+ visibleStatusesObject: {},
+ newStatusCount: 0,
+ maxId: 0,
+ minVisibleId: 0,
+ loading: false
+ }
+
+ state.timelines[timeline] = emptyTimeline
+ },
setFavorited (state, { status, value }) {
const newStatus = state.allStatusesObject[status.id]
newStatus.favorited = value