aboutsummaryrefslogtreecommitdiff
path: root/src/components/notification/notification.js
diff options
context:
space:
mode:
authorShpuld Shpludson <shp@cock.li>2020-05-08 08:35:30 +0000
committerShpuld Shpludson <shp@cock.li>2020-05-08 08:35:30 +0000
commit1186205583715b187bb4e503dc35e8c0644cfc7e (patch)
treec439d51bcc3a5a972fc763ab96ade4cee9bed7a1 /src/components/notification/notification.js
parent8b1aa593a46869ac1ea26de8a1f31d9fa2f44e56 (diff)
parent921eedfd84007da72619a553ba8d074076559e7a (diff)
Merge branch 'develop' into 'feat/relationship-refactor'
# Conflicts: # src/components/notification/notification.js
Diffstat (limited to 'src/components/notification/notification.js')
-rw-r--r--src/components/notification/notification.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/components/notification/notification.js b/src/components/notification/notification.js
index ff1c2817..1cf4c9bc 100644
--- a/src/components/notification/notification.js
+++ b/src/components/notification/notification.js
@@ -2,6 +2,7 @@ import Status from '../status/status.vue'
import UserAvatar from '../user_avatar/user_avatar.vue'
import UserCard from '../user_card/user_card.vue'
import Timeago from '../timeago/timeago.vue'
+import { isStatusNotification } from '../../services/notification_utils/notification_utils.js'
import { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js'
import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
@@ -32,6 +33,24 @@ const Notification = {
},
toggleMute () {
this.unmuted = !this.unmuted
+ },
+ approveUser () {
+ this.$store.state.api.backendInteractor.approveUser({ id: this.user.id })
+ this.$store.dispatch('removeFollowRequest', this.user)
+ this.$store.dispatch('markSingleNotificationAsSeen', { id: this.notification.id })
+ this.$store.dispatch('updateNotification', {
+ id: this.notification.id,
+ updater: notification => {
+ notification.type = 'follow'
+ }
+ })
+ },
+ denyUser () {
+ this.$store.state.api.backendInteractor.denyUser({ id: this.user.id })
+ .then(() => {
+ this.$store.dispatch('dismissNotificationLocal', { id: this.notification.id })
+ this.$store.dispatch('removeFollowRequest', this.user)
+ })
}
},
computed: {
@@ -57,6 +76,9 @@ const Notification = {
},
needMute () {
return this.$store.getters.relationship(this.user.id).muting
+ },
+ isStatusNotification () {
+ return isStatusNotification(this.notification.type)
}
}
}