aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Ángel Moreno <mail@migalmoreno.com>2023-08-27 14:16:42 +0200
committerMiguel Ángel Moreno <mail@migalmoreno.com>2023-08-27 14:16:42 +0200
commit7dd130c5176d4ef724cd3685a7b6b3be6422a965 (patch)
tree07ae395d50587bbc34e7057620f0b0405cd71b4c
parent10b27676e6389e533d4990c2fcb0ef303c5ead2c (diff)
feat: Allow passing in a timezone object to time-widgetHEADmaster
-rw-r--r--mosaic.lisp12
1 files changed, 8 insertions, 4 deletions
diff --git a/mosaic.lisp b/mosaic.lisp
index 7e4beef..984d344 100644
--- a/mosaic.lisp
+++ b/mosaic.lisp
@@ -27,8 +27,8 @@
(define-class time-widget (widget)
((timezone
- nil
- :type (maybe string))
+ local-time:*default-timezone*
+ :type (maybe string local-time::timezone))
(settings
(make-instance 'settings
:font-size 80)))
@@ -38,7 +38,10 @@
(:metaclass user-class))
(defmethod display ((widget time-widget) buffer)
- (let ((time-style
+ (let ((timezone (if (local-time::timezone-p (timezone widget))
+ (local-time:zone-name (timezone widget))
+ (timezone widget)))
+ (time-style
(theme:themed-css (theme *browser*)
`(|#time|
:font-size ,(font-size (settings widget)))
@@ -56,7 +59,8 @@
(array)
(ps:create hour "2-digit"
minute "2-digit"
- hour12 nil))))))
+ hour12 nil
+ "timeZone" (ps:lisp timezone)))))))
(set-time)
(ps:chain window (|setInterval| |setTime| 1000))))
(spinneret:with-html-string