From 104d93df065fe9bec73785918fd9af092fdd1e38 Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Wed, 1 May 2024 16:32:27 +0200 Subject: [PATCH] Added duration display for long events --- .../calendar/CalendarEventDetails.vue | 65 ++++++++++++------- .../calendar/search/lists/EventCallout.vue | 36 ++++++++-- src/data/Events.ts | 2 +- src/models/Date.ts | 58 +++++++++-------- 4 files changed, 104 insertions(+), 57 deletions(-) diff --git a/src/components/calendar/CalendarEventDetails.vue b/src/components/calendar/CalendarEventDetails.vue index 7c6924a..3fb9fc5 100644 --- a/src/components/calendar/CalendarEventDetails.vue +++ b/src/components/calendar/CalendarEventDetails.vue @@ -3,7 +3,7 @@ import { getRelativeString } from '@/models/Date' import type { CalendarEvent } from '@/models/Events' import { useCalendar } from '@/stores/CalendarStore' -import { PhHourglassMedium } from '@phosphor-icons/vue' +import { PhHourglassMedium, PhAlarm } from '@phosphor-icons/vue' import { Badge } from '@/components/ui/badge' import { PopoverContent } from '@/components/ui/popover' @@ -12,11 +12,14 @@ const { defaultDate, getFormattedDateTitle } = useCalendar() const props = defineProps<{ event: CalendarEvent }>() const dateDifference: string = getRelativeString(defaultDate, props.event.startDate) +const dateDuration: string | null = props.event.endDate + ? getRelativeString(props.event.startDate, props.event.endDate, 'compact') + : null

- {{ dateDifference }} + {{ dateDifference }}

@@ -78,7 +86,9 @@ const dateDifference: string = getRelativeString(defaultDate, props.event.startD -
+
+ +
{{ event.description }}
@@ -87,60 +97,69 @@ const dateDifference: string = getRelativeString(defaultDate, props.event.startD diff --git a/src/components/calendar/search/lists/EventCallout.vue b/src/components/calendar/search/lists/EventCallout.vue index 6829849..ee9ce63 100644 --- a/src/components/calendar/search/lists/EventCallout.vue +++ b/src/components/calendar/search/lists/EventCallout.vue @@ -5,9 +5,9 @@ import { useCalendar } from '@/stores/CalendarStore' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' -import { PhArrowSquareOut, PhHourglassMedium } from '@phosphor-icons/vue' +import { PhArrowSquareOut, PhHourglassMedium, PhAlarm } from '@phosphor-icons/vue' -defineProps<{ +const props = defineProps<{ event: CalendarEvent }>() @@ -16,6 +16,11 @@ defineEmits<{ }>() const { defaultDate, getFormattedDateTitle } = useCalendar() + +const dateDifference: string = getRelativeString(defaultDate, props.event.startDate) +const dateDuration: string | null = props.event.endDate + ? getRelativeString(props.event.startDate, props.event.endDate, 'compact') + : null