annonce @home / admin / controller / route / api
This commit is contained in:
@@ -58,6 +58,13 @@
|
||||
span.ml-1 {{$t('common.moderation')}}
|
||||
Moderation
|
||||
|
||||
//- ANNOUNCEMENTS
|
||||
el-tab-pane.pt-1
|
||||
template(slot='label')
|
||||
v-icon(name='bullhorn')
|
||||
span.ml-1 {{$t('common.announcements')}}
|
||||
Announcement
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
@@ -67,10 +74,11 @@ import Places from '../components/admin/Places'
|
||||
import Settings from '../components/admin/Settings'
|
||||
import Federation from '../components/admin/Federation'
|
||||
import Moderation from '../components/admin/Moderation'
|
||||
import Announcement from '../components/admin/Announcement'
|
||||
|
||||
export default {
|
||||
name: 'Admin',
|
||||
components: { Users, Places, Settings, Federation, Moderation },
|
||||
components: { Users, Places, Settings, Federation, Moderation, Announcement },
|
||||
middleware: ['auth'],
|
||||
data () {
|
||||
return {
|
||||
|
||||
72
pages/announcement/_id.vue
Normal file
72
pages/announcement/_id.vue
Normal file
@@ -0,0 +1,72 @@
|
||||
<template lang="pug">
|
||||
el-container.announcement-page.text-white
|
||||
el-header.text-white
|
||||
h3 <i style='color: red' class='el-icon-info'/> {{announcement.title}}
|
||||
|
||||
pre.mt-4(v-html='announcement.announcement')
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'Announcement',
|
||||
data () {
|
||||
return { announcement: { title: '' } }
|
||||
},
|
||||
asyncData ({ $axios, params, error, store }) {
|
||||
try {
|
||||
const id = Number(params.id)
|
||||
const announcement = store.state.announcements.find(a => a.id === id)
|
||||
console.error(announcement)
|
||||
return { announcement }
|
||||
} catch (e) {
|
||||
error({ statusCode: 404, message: 'Announcement not found' })
|
||||
}
|
||||
},
|
||||
computed: mapState(['announcements']),
|
||||
methods: {
|
||||
showResource (resource) {
|
||||
this.showResources = true
|
||||
this.selectedResource = resource
|
||||
document.getElementById('resourceDialog').focus()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='less'>
|
||||
.announcement-page {
|
||||
|
||||
.el-header {
|
||||
padding-top: 1em;
|
||||
border-bottom: 1px solid lightgray;
|
||||
}
|
||||
|
||||
.title {
|
||||
max-width: 80%;
|
||||
max-height: 0.1rem;
|
||||
overflow: hidden;
|
||||
font-size: 1.6rem;
|
||||
line-height: 1;
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-line;
|
||||
word-break: break-word;
|
||||
color: #aaa;
|
||||
font-size: 1.2em;
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 768px) {
|
||||
#eventDetail {
|
||||
.title {
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user