diff options
| author | HJ <30-hj@users.noreply.git.pleroma.social> | 2022-12-05 15:34:59 +0000 |
|---|---|---|
| committer | HJ <30-hj@users.noreply.git.pleroma.social> | 2022-12-05 15:34:59 +0000 |
| commit | 00f4e2049229625f4eeb0df891f31488c8a43905 (patch) | |
| tree | 5c7d0b2ac25c2d74fe8eba4f7da7e0cbeb49cb18 /src/components/announcements_page/announcements_page.js | |
| parent | e41edd1bbfa0118a09a49753a39f5a67d48cd5b8 (diff) | |
| parent | f3a245f899a8ad2feab1fd72642510af6ab3d874 (diff) | |
Merge branch 'from/develop/tusooa/announcements' into 'develop'
Announcements
See merge request pleroma/pleroma-fe!1466
Diffstat (limited to 'src/components/announcements_page/announcements_page.js')
| -rw-r--r-- | src/components/announcements_page/announcements_page.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/components/announcements_page/announcements_page.js b/src/components/announcements_page/announcements_page.js new file mode 100644 index 00000000..0bb4892e --- /dev/null +++ b/src/components/announcements_page/announcements_page.js @@ -0,0 +1,55 @@ +import { mapState } from 'vuex' +import Announcement from '../announcement/announcement.vue' +import AnnouncementEditor from '../announcement_editor/announcement_editor.vue' + +const AnnouncementsPage = { + components: { + Announcement, + AnnouncementEditor + }, + data () { + return { + newAnnouncement: { + content: '', + startsAt: undefined, + endsAt: undefined, + allDay: false + }, + posting: false, + error: undefined + } + }, + mounted () { + this.$store.dispatch('fetchAnnouncements') + }, + computed: { + ...mapState({ + currentUser: state => state.users.currentUser + }), + announcements () { + return this.$store.state.announcements.announcements + } + }, + methods: { + postAnnouncement () { + this.posting = true + this.$store.dispatch('postAnnouncement', this.newAnnouncement) + .then(() => { + this.newAnnouncement.content = '' + this.startsAt = undefined + this.endsAt = undefined + }) + .catch(error => { + this.error = error.error + }) + .finally(() => { + this.posting = false + }) + }, + clearError () { + this.error = undefined + } + } +} + +export default AnnouncementsPage |
