diff options
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/announcement/announcement.js | 7 | ||||
| -rw-r--r-- | src/components/announcement/announcement.vue | 18 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/components/announcement/announcement.js b/src/components/announcement/announcement.js index 9e043e48..b1f5ee77 100644 --- a/src/components/announcement/announcement.js +++ b/src/components/announcement/announcement.js @@ -1,9 +1,13 @@ +import { mapState } from 'vuex' const Announcement = { props: { announcement: Object }, computed: { + ...mapState({ + currentUser: state => state.users.currentUser + }), content () { return this.announcement.content }, @@ -16,6 +20,9 @@ const Announcement = { if (!this.isRead) { return this.$store.dispatch('markAnnouncementAsRead', this.announcement.id) } + }, + deleteAnnouncement () { + return this.$store.dispatch('deleteAnnouncement', this.announcement.id) } } } diff --git a/src/components/announcement/announcement.vue b/src/components/announcement/announcement.vue index d8591468..d6f35b9f 100644 --- a/src/components/announcement/announcement.vue +++ b/src/components/announcement/announcement.vue @@ -12,12 +12,20 @@ </div> <div class="footer"> <button + v-if="currentUser" class="btn button-default" :class="{ toggled: isRead }" @click="markAsRead" > {{ $t('announcements.mark_as_read_action') }} </button> + <button + v-if="currentUser && currentUser.role === 'admin'" + class="btn button-default" + @click="deleteAnnouncement" + > + {{ $t('announcements.delete_action') }} + </button> </div> </div> </template> @@ -37,5 +45,15 @@ .heading, .body { margin-bottom: var(--status-margin, $status-margin); } + + .footer { + display: flex; + flex-direction: row; + justify-content: space-around; + + .btn { + min-width: 10em; + } + } } </style> |
