Added relative date to event popover
This commit is contained in:
@@ -1,13 +1,18 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { getRelativeString } from '@/models/Date'
|
||||||
import type { CalendarEvent } from '@/models/Events'
|
import type { CalendarEvent } from '@/models/Events'
|
||||||
import { useCalendar } from '@/stores/CalendarStore'
|
import { useCalendar } from '@/stores/CalendarStore'
|
||||||
|
import { computed } from 'vue'
|
||||||
|
|
||||||
import { PopoverContent } from '@/components/ui/popover'
|
import { PhHourglassMedium } from '@phosphor-icons/vue'
|
||||||
import { Badge } from '@/components/ui/badge'
|
import { Badge } from '@/components/ui/badge'
|
||||||
|
import { PopoverContent } from '@/components/ui/popover'
|
||||||
|
|
||||||
const { getFormattedDateTitle } = useCalendar()
|
const { defaultDate, getFormattedDateTitle } = useCalendar()
|
||||||
|
|
||||||
defineProps<{ event: CalendarEvent }>()
|
const props = defineProps<{ event: CalendarEvent }>()
|
||||||
|
|
||||||
|
const dateDifference = computed(() => getRelativeString(defaultDate, props.event.date))
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -17,8 +22,11 @@ defineProps<{ event: CalendarEvent }>()
|
|||||||
{{ event.title }}
|
{{ event.title }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div class="mb-1 space-y-1">
|
||||||
{{ getFormattedDateTitle(event.date, true) }}
|
<p class="font-semibold">{{ getFormattedDateTitle(event.date, true) }}</p>
|
||||||
|
<p class="text-sm italic opacity-75 flex items-center gap-1">
|
||||||
|
<PhHourglassMedium size="16" weight="fill" /> {{ dateDifference }}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="event.category || event.secondaryCategories">
|
<div v-if="event.category || event.secondaryCategories">
|
||||||
@@ -37,9 +45,7 @@ defineProps<{ event: CalendarEvent }>()
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr class="my-2" />
|
<div class="mt-2 italic text-sm text-slate-500">
|
||||||
|
|
||||||
<div class="italic text-slate-500">
|
|
||||||
{{ event.description }}
|
{{ event.description }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { getRelativeString } from '@/models/Date'
|
import { getRelativeString } from '@/models/Date'
|
||||||
import { useCalendar } from '@/stores/CalendarStore'
|
import { useCalendar } from '@/stores/CalendarStore'
|
||||||
import { PhMapPin } from '@phosphor-icons/vue'
|
|
||||||
import { storeToRefs } from 'pinia'
|
import { storeToRefs } from 'pinia'
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
|
|
||||||
|
import { PhMapPin } from '@phosphor-icons/vue'
|
||||||
import CalendarMenuNav from './CalendarMenuNav.vue'
|
import CalendarMenuNav from './CalendarMenuNav.vue'
|
||||||
import CalendarMenuToday from './CalendarMenuToday.vue'
|
import CalendarMenuToday from './CalendarMenuToday.vue'
|
||||||
import CalendarSwitch from './CalendarSwitch.vue'
|
import CalendarSwitch from './CalendarSwitch.vue'
|
||||||
|
|||||||
Reference in New Issue
Block a user