chore: standardize chrono provider

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-02-17 03:12:12 -05:00
parent cc4e467cef
commit f2f7bfc391
11 changed files with 282 additions and 224 deletions

View File

@@ -27,15 +27,15 @@
<v-list-subheader>{{ formatAgendaDate(date) }}</v-list-subheader>
<v-list-item
v-for="entity in dayEvents"
:key="entity.id"
:key="entity.identifier"
@click="$emit('event-click', entity)"
>
<template #prepend>
<v-icon :color="getEventColor(entity)">mdi-circle</v-icon>
</template>
<v-list-item-title>{{ entity.data?.label || 'Untitled' }}</v-list-item-title>
<v-list-item-title>{{ entity.properties?.label || 'Untitled' }}</v-list-item-title>
<v-list-item-subtitle>
{{ entity.data?.allDay ? 'All day' : `${entity.data?.startsOn ? formatTime(new Date(entity.data.startsOn)) : ''} - ${entity.data?.endsOn ? formatTime(new Date(entity.data.endsOn)) : ''}` }}
{{ entity.properties?.timeless ? 'All day' : `${entity.properties?.startsOn ? formatTime(new Date(entity.properties.startsOn)) : ''} - ${entity.properties?.endsOn ? formatTime(new Date(entity.properties.endsOn)) : ''}` }}
</v-list-item-subtitle>
</v-list-item>
</template>
@@ -132,17 +132,17 @@ const groupedEvents = computed(() => {
const { start, end } = dateRange.value;
const filtered = props.events.filter(e => {
if (!e.data?.startsOn) return false;
const eventStart = new Date(e.data.startsOn);
if (!e.properties?.startsOn) return false;
const eventStart = new Date(e.properties.startsOn);
return eventStart >= start && eventStart <= end;
});
const sorted = filtered.sort((a, b) =>
new Date(a.data.startsOn).getTime() - new Date(b.data.startsOn).getTime()
new Date(a.properties.startsOn).getTime() - new Date(b.properties.startsOn).getTime()
);
sorted.forEach(entity => {
const dateKey = new Date(entity.data.startsOn).toDateString();
const dateKey = new Date(entity.properties.startsOn).toDateString();
if (!grouped[dateKey]) {
grouped[dateKey] = [];
}
@@ -153,9 +153,9 @@ const groupedEvents = computed(() => {
});
function getEventColor(entity: any): string {
if (entity.data?.color) return entity.data.color;
const calendar = props.calendars.find(cal => cal.id === entity.in);
return calendar?.color || '#1976D2';
if (entity.properties?.color) return entity.properties.color;
const calendar = props.calendars.find(cal => cal.identifier === entity.collection);
return calendar?.properties?.color || '#1976D2';
}
function formatTime(date: Date): string {