From f9814bd935f6ddb2454181bbf24ec75a487228ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 17 Aug 2020 15:52:33 +0200 Subject: Fix date output on long events. --- module/html/vcomponent.scm | 32 +++++++++++++++++++------------- module/vcomponent/datetime/output.scm | 11 +++++------ 2 files changed, 24 insertions(+), 19 deletions(-) (limited to 'module') diff --git a/module/html/vcomponent.scm b/module/html/vcomponent.scm index 9efaf77d..b4538fbd 100644 --- a/module/html/vcomponent.scm +++ b/module/html/vcomponent.scm @@ -65,18 +65,22 @@ `(span (@ (class "summary")) ,(prop ev 'SUMMARY)))) (div ,(call-with-values (lambda () (fmt-time-span ev)) - (case-lambda [(start) `(div (span (@ (class "dtstart") - (data-fmt "%L%H:%M")) - ,start))] - [(start end) `(div (span (@ (class "dtstart") - ;; TODO same format string - ;; as fmt-time-span used - (data-fmt "%L%H:%M")) - ,start) - " — " - (span (@ (class "dtend") - (data-fmt "%L%H:%M")) - ,end))])) + (case-lambda [(start) + `(div (span (@ (class "dtstart") + (data-fmt ,(string-append "~L" start))) + ,(datetime->string + (as-datetime (prop ev 'DTSTART)) + start)))] + [(start end) + `(div (span (@ (class "dtstart") + (data-fmt ,(string-append "~L" start))) + ,(datetime->string (as-datetime (prop ev 'DTSTART)) + start)) + " — " + (span (@ (class "dtend") + (data-fmt ,(string-append "~L" end))) + ,(datetime->string (as-datetime (prop ev 'DTEND)) + end)))])) ,(when (and=> (prop ev 'LOCATION) (negate string-null?)) `(div (b "Plats: ") (div (@ (class "location")) @@ -198,7 +202,9 @@ ,(tabset `(("📅" title: "Översikt" - ,(fmt-single-event ev)) + ,(begin(format (current-error-port) + "start=~a end=~a~%" (prop ev 'DTSTART) + (prop ev 'DTEND)) (fmt-single-event ev))) ("⤓" title: "Nedladdning" (div (@ (class "eventtext") (style "font-family:sans")) (h2 "Ladda ner") diff --git a/module/vcomponent/datetime/output.scm b/module/vcomponent/datetime/output.scm index 48c89783..c76f010f 100644 --- a/module/vcomponent/datetime/output.scm +++ b/module/vcomponent/datetime/output.scm @@ -54,9 +54,9 @@ (cond [(prop ev 'DTEND) => (lambda (e) (if (date= e (date+ s (date day: 1))) - (date->string s) ; start = end, only return one value - (values (date->string s) - (date->string e))))] + "~Y-~m-~d" ; start = end, only return one value + (values "~Y-~m-~d" + "~Y-~m-~d")))] ;; no end value, just return start [else (date->string s)]))] [else ; guaranteed datetime @@ -65,6 +65,5 @@ (if e (let ((fmt-str (if (date= (get-date s) (get-date e)) "~H:~M" "~Y-~m-~d ~H:~M"))) - (values (datetime->string s fmt-str) - (datetime->string e fmt-str))) - (datetime->string s "~Y-~m-~d ~H:~M")))])) + (values fmt-str fmt-str)) + "~Y-~m-~d ~H:~M"))])) -- cgit v1.2.3