From 7ad74b139863ba518ec74d24fcded15c873a681d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Wed, 7 Jun 2023 14:06:28 +0200 Subject: [PATCH 01/11] Move date time range to an own component --- .../ContributionForm/ContributionForm.vue | 15 ++- webapp/components/DateRange/DateRange.vue | 114 ++++++++++++++++++ webapp/components/PostTeaser/PostTeaser.vue | 23 ++-- webapp/pages/post/_id/_slug/index.vue | 56 ++------- 4 files changed, 146 insertions(+), 62 deletions(-) create mode 100644 webapp/components/DateRange/DateRange.vue diff --git a/webapp/components/ContributionForm/ContributionForm.vue b/webapp/components/ContributionForm/ContributionForm.vue index ae1a7654bd..b1b9b3935a 100644 --- a/webapp/components/ContributionForm/ContributionForm.vue +++ b/webapp/components/ContributionForm/ContributionForm.vue @@ -286,7 +286,7 @@ export default { }, }, eventStart: { required: !!this.createEvent }, - eventVenue: { + eventVenue: { required: !!this.createEvent, min: 3, max: 100, @@ -295,10 +295,13 @@ export default { return [new Error(this.$t('common.validations.eventVenueNotEmpty'))] } if (value.length < 3 || value.length > 100) { - return [new Error(this.$t('common.validations.eventVenueLength', { min: 3, max: 100 }))] + return [ + new Error(this.$t('common.validations.eventVenueLength', { min: 3, max: 100 })), + ] } return [] - }, }, + }, + }, eventLocationName: { required: !!this.createEvent && !this.formData.eventIsOnline, min: 3, @@ -308,7 +311,11 @@ export default { return [new Error(this.$t('common.validations.eventLocationNameNotEmpty'))] } if (value.length < 3 || value.length > 100) { - return [new Error(this.$t('common.validations.eventLocationNameLength', { min: 3, max: 100 }))] + return [ + new Error( + this.$t('common.validations.eventLocationNameLength', { min: 3, max: 100 }), + ), + ] } return [] }, diff --git a/webapp/components/DateRange/DateRange.vue b/webapp/components/DateRange/DateRange.vue new file mode 100644 index 0000000000..be895f31a7 --- /dev/null +++ b/webapp/components/DateRange/DateRange.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/webapp/components/PostTeaser/PostTeaser.vue b/webapp/components/PostTeaser/PostTeaser.vue index 604fb121fb..5f18d5d5ba 100644 --- a/webapp/components/PostTeaser/PostTeaser.vue +++ b/webapp/components/PostTeaser/PostTeaser.vue @@ -44,10 +44,12 @@ - - - {{ getEventDateString }} - + @@ -113,12 +115,12 @@ import Category from '~/components/Category' import ContentMenu from '~/components/ContentMenu/ContentMenu' import CounterIcon from '~/components/_new/generic/CounterIcon/CounterIcon' +import DateRange from '~/components/DateRange/DateRange' import HcRibbon from '~/components/Ribbon' import UserTeaser from '~/components/UserTeaser/UserTeaser' import { mapGetters } from 'vuex' import PostMutations from '~/graphql/PostMutations' import { postMenuModalsData, deletePostMutation } from '~/components/utils/PostHelpers' -import { format } from 'date-fns' export default { name: 'PostTeaser', @@ -126,6 +128,7 @@ export default { Category, ContentMenu, CounterIcon, + DateRange, HcRibbon, UserTeaser, }, @@ -185,15 +188,6 @@ export default { if (this.post.postType[0] === 'Event') return this.$t('post.event') return this.$t('post.name') }, - getEventDateString() { - if (this.post.eventEnd) { - const eventStart = format(new Date(this.post.eventStart), 'dd.MM.') - const eventEnd = format(new Date(this.post.eventEnd), 'dd.MM.yyyy') - return `${eventStart} - ${eventEnd}` - } else { - return format(new Date(this.post.eventStart), 'dd.MM.yyyy') - } - }, }, methods: { async deletePostCallback() { @@ -228,6 +222,7 @@ export default { }, } + diff --git a/webapp/components/PostTeaser/PostTeaser.vue b/webapp/components/PostTeaser/PostTeaser.vue index 615b180548..c76ebfc7b0 100644 --- a/webapp/components/PostTeaser/PostTeaser.vue +++ b/webapp/components/PostTeaser/PostTeaser.vue @@ -32,15 +32,13 @@ > - - - - {{ $t('post.viewEvent.eventIsOnline') }} - - - {{ post.eventLocationName }} - - + - - - {{ post.eventVenue }} - - - {{ post.eventLocationName }} - - - {{ $t('post.viewEvent.eventIsOnline') }} - - + Date: Wed, 7 Jun 2023 17:21:06 +0200 Subject: [PATCH 08/11] Fix linting in backend --- backend/src/schema/resolvers/helpers/events.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/schema/resolvers/helpers/events.js b/backend/src/schema/resolvers/helpers/events.js index bb573021f1..835088d8c6 100644 --- a/backend/src/schema/resolvers/helpers/events.js +++ b/backend/src/schema/resolvers/helpers/events.js @@ -11,7 +11,7 @@ export const validateEventParams = (params) => { validateEventEnd(eventInput.eventStart, eventInput.eventEnd) params.eventEnd = eventInput.eventEnd } else { - params.eventEnd = null + params.eventEnd = null } if (eventInput.eventLocationName && !eventInput.eventVenue) { From 9ee47c13625295842b882aac681f87d06442e213 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Wed, 7 Jun 2023 20:10:10 +0200 Subject: [PATCH 09/11] Fulfill Mogges suggestions Co-Authored-By: Mogge --- .../DateTimeRange/DateTimeRange.vue | 25 +++++++++++-------- webapp/locales/de.json | 5 ++++ webapp/locales/en.json | 5 ++++ 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/webapp/components/DateTimeRange/DateTimeRange.vue b/webapp/components/DateTimeRange/DateTimeRange.vue index 8d318709a4..de9b442c56 100644 --- a/webapp/components/DateTimeRange/DateTimeRange.vue +++ b/webapp/components/DateTimeRange/DateTimeRange.vue @@ -8,11 +8,12 @@
{{ - getStartTimeString + (this.endDateAsDate && isSameDay ? '—' + getEndTimeString : '') + getStartTimeString + + (this.endDateAsDate && isSameDayLocal ? '—' + getEndTimeString : '') }}
-