From 7dd130c5176d4ef724cd3685a7b6b3be6422a965 Mon Sep 17 00:00:00 2001 From: Miguel Ángel Moreno Date: Sun, 27 Aug 2023 14:16:42 +0200 Subject: feat: Allow passing in a timezone object to time-widget --- mosaic.lisp | 12 ++++++++---- 1 file 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 -- cgit v1.2.3