summaryrefslogtreecommitdiff
path: root/internal/handlers/widget.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/handlers/widget.go')
-rw-r--r--internal/handlers/widget.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/internal/handlers/widget.go b/internal/handlers/widget.go
index 0092b6b..f0fd101 100644
--- a/internal/handlers/widget.go
+++ b/internal/handlers/widget.go
@@ -70,7 +70,15 @@ func TimelineItemToWidgetItem(item models.TimelineItem) models.WidgetItem {
if !item.Time.IsZero() && (!item.IsAllDay || item.Type == models.TimelineItemTypeEvent) {
t := item.Time
wi.Start = &t
- if !item.IsAllDay {
+ if item.Type == models.TimelineItemTypeEvent {
+ // Events always forward End when known, even when IsAllDay --
+ // a multi-day all-day event (e.g. a 3-day conference) needs its
+ // End date reaching the client so it can detect the span and
+ // render "starts"/"ends"/spans-through labels per rendered day.
+ if item.EndTime != nil {
+ wi.End = item.EndTime
+ }
+ } else if !item.IsAllDay {
if item.EndTime != nil {
wi.End = item.EndTime
} else {