2020-02-16 21:03:50 +01:00
|
|
|
<template lang="pug">
|
2020-08-16 14:06:21 +02:00
|
|
|
v-container
|
|
|
|
v-card
|
|
|
|
v-card-title {{announcement.title}}
|
|
|
|
v-card-text(v-html='announcement.announcement')
|
2020-02-16 21:03:50 +01:00
|
|
|
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import { mapState } from 'vuex'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'Announcement',
|
|
|
|
asyncData ({ $axios, params, error, store }) {
|
|
|
|
try {
|
|
|
|
const id = Number(params.id)
|
|
|
|
const announcement = store.state.announcements.find(a => a.id === id)
|
2021-05-31 00:08:13 +02:00
|
|
|
if (!announcement) {
|
|
|
|
error({ statusCode: 404, message: 'Announcement not found' })
|
|
|
|
}
|
2020-02-16 21:03:50 +01:00
|
|
|
return { announcement }
|
|
|
|
} catch (e) {
|
|
|
|
error({ statusCode: 404, message: 'Announcement not found' })
|
|
|
|
}
|
|
|
|
},
|
2021-03-05 14:20:32 +01:00
|
|
|
data () {
|
|
|
|
return { announcement: { title: '' } }
|
|
|
|
},
|
2021-05-31 00:08:13 +02:00
|
|
|
head () {
|
|
|
|
if (!this.announcement) {
|
|
|
|
return {}
|
2020-02-16 21:03:50 +01:00
|
|
|
}
|
2021-05-31 00:08:13 +02:00
|
|
|
return {
|
|
|
|
title: `${this.settings.title} - ${this.announcement.title}`
|
|
|
|
}
|
|
|
|
},
|
|
|
|
computed: mapState(['announcements', 'settings'])
|
2020-02-16 21:03:50 +01:00
|
|
|
}
|
|
|
|
</script>
|