diff --git a/src/components/Widgets/Announcement/index.vue b/src/components/Widgets/Announcement/index.vue index f5bce7704..3ac0e5a7f 100644 --- a/src/components/Widgets/Announcement/index.vue +++ b/src/components/Widgets/Announcement/index.vue @@ -35,13 +35,29 @@ export default { ]), announcement() { const ann = this.publicSettings.ANNOUNCEMENT - return { id: ann['ID'], subject: ann['SUBJECT'], content: ann['CONTENT'], link: ann['LINK'] } + return { + id: ann['ID'], + subject: ann['SUBJECT'], + content: ann['CONTENT'], + link: ann['LINK'], + date_start: ann['DATE_START'], + date_end: ann['DATE_END'] + } }, enabled() { - return this.publicSettings.ANNOUNCEMENT_ENABLED && (this.announcement.content || this.announcement.subject) + return this.publicSettings.ANNOUNCEMENT_ENABLED && (this.announcement.content || this.announcement.subject) && this.isDateValid }, title() { return this.$t('Announcement') + ': ' + this.announcement.subject + }, + isDateValid() { + if (this.announcement.date_start === undefined || this.announcement.date_end === undefined) { + return true + } + const now = new Date() + const start = new Date(this.announcement.date_start) + const end = new Date(this.announcement.date_end) + return now >= start && now <= end } }, methods: { diff --git a/src/views/settings/Feature/Announcement.vue b/src/views/settings/Feature/Announcement.vue index dc67cf55e..f551c89f0 100644 --- a/src/views/settings/Feature/Announcement.vue +++ b/src/views/settings/Feature/Announcement.vue @@ -33,7 +33,7 @@ export default { fieldsMeta: { ANNOUNCEMENT: { fields: [ - 'SUBJECT', 'CONTENT', 'LINK' + 'SUBJECT', 'CONTENT', 'DATE_START', 'DATE_END', 'LINK' ], fieldsMeta: { CONTENT: {