aboutsummaryrefslogtreecommitdiff
path: root/src/modules/statuses.js
diff options
context:
space:
mode:
authordave <starpumadev@gmail.com>2019-04-07 11:30:14 -0400
committertaehoon <th.dev91@gmail.com>2019-05-15 12:04:24 -0400
commitdf207593e9ff4826adf0cf25d01b1471b2e0834c (patch)
tree9bfdbc4127be90e0e3cf5500530895de708dfd60 /src/modules/statuses.js
parentf1ff48ffd6a38aca585762c061900fb36affde00 (diff)
#468 - update pinned status after actions(remove, add)
Diffstat (limited to 'src/modules/statuses.js')
-rw-r--r--src/modules/statuses.js15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index 649cb83c..bbc1a45b 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -171,7 +171,7 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us
// This makes sure that user timeline won't get data meant for other
// user. I.e. opening different user profiles makes request which could
// return data late after user already viewing different user profile
- if ((timeline === 'user' || timeline === 'media') && timelineObject.userId !== userId) {
+ if ((timeline === 'user' || timeline === 'media' || timeline === 'pinned') && timelineObject.userId !== userId) {
return
}
@@ -378,6 +378,7 @@ const removeStatus = (state, { timeline, userId, statusId }) => {
removed = true
delete timelineObject.statusesObject[statusId]
delete timelineObject.visibleStatusesObject[statusId]
+ sortTimeline(timelineObject)
}
if (removed) {
@@ -551,7 +552,17 @@ const statuses = {
},
updatePinned ({ rootState, commit }, status) {
commit('setPinned', { status })
- if (!status.pinned) {
+ if (status.pinned) {
+ const statusObj = rootState.statuses.allStatusesObject[status.id]
+ const user = rootState.users.currentUser
+ commit('addNewStatuses', {
+ statuses: [statusObj],
+ showImmediately: true,
+ timeline: 'pinned',
+ user,
+ userId: user.id
+ })
+ } else {
commit('removeStatus', { timeline: 'pinned', statusId: status.id })
}
},