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

@@ -42,7 +42,7 @@
<div class="all-day-events-overlay">
<div
v-for="segment in allDaySegments.segments"
:key="segment.entity.id"
:key="segment.entity.identifier"
class="all-day-event"
:class="{
'is-start': segment.isStart,
@@ -53,7 +53,7 @@
@mouseenter="emit('event-hover', { event: $event, entity: segment.entity })"
@mouseleave="emit('event-hover-end')"
>
<span v-if="segment.isStart" class="event-label">{{ segment.entity.data?.label || 'Untitled' }}</span>
<span v-if="segment.isStart" class="event-label">{{ segment.entity.properties?.label || 'Untitled' }}</span>
</div>
</div>
</div>
@@ -71,7 +71,7 @@
<div class="day-events" @click="handleDayClick($event, day)">
<div
v-for="entity in getTimedEvents(day)"
:key="entity.id"
:key="entity.identifier"
class="day-event"
:style="getEventStyle(entity)"
@click.stop="emit('event-click', entity)"
@@ -80,12 +80,12 @@
>
<template v-if="daysCount <= 3">
<div class="event-time">
{{ entity.data?.startsOn ? formatTime(new Date(entity.data.startsOn)) : '' }} - {{ entity.data?.endsOn ? formatTime(new Date(entity.data.endsOn)) : '' }}
{{ entity.properties?.startsOn ? formatTime(new Date(entity.properties.startsOn)) : '' }} - {{ entity.properties?.endsOn ? formatTime(new Date(entity.properties.endsOn)) : '' }}
</div>
<div class="event-title">{{ entity.data?.label || 'Untitled' }}</div>
<div class="event-title">{{ entity.properties?.label || 'Untitled' }}</div>
</template>
<template v-else>
<div class="event-title-compact">{{ entity.data?.label || 'Untitled' }}</div>
<div class="event-title-compact">{{ entity.properties?.label || 'Untitled' }}</div>
</template>
</div>
</div>
@@ -200,9 +200,9 @@ function getTimedEvents(date: Date): any[] {
}
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 getAllDayEventStyle(segment: MultiDaySegment) {
@@ -215,11 +215,11 @@ function getAllDayEventStyle(segment: MultiDaySegment) {
}
function getEventStyle(entity: any) {
if (!entity.data?.startsOn || !entity.data?.endsOn) {
if (!entity.properties?.startsOn || !entity.properties?.endsOn) {
return { display: 'none' };
}
const startTime = new Date(entity.data.startsOn);
const endTime = new Date(entity.data.endsOn);
const startTime = new Date(entity.properties.startsOn);
const endTime = new Date(entity.properties.endsOn);
const start = startTime.getHours() * 60 + startTime.getMinutes();
const duration = (endTime.getTime() - startTime.getTime()) / (1000 * 60);