;(defpoll reminders_list :initial '[]' ; :interval "3600s" ; 'scripts/home/reminders') (deflisten reminders_list :initial '[]' 'scripts/home/reminders') (defvar reveal_reminders true) ;(defvar reveal_reminders {jq(reminders_list,'length')>0}) (defwidget reminders_revealer [] (revealer-on-press :visible {jq(reminders_list,'length')>0} :revealvar reveal_reminders :revealvar-name "reveal_reminders" ; {reveal_reminders ? "" : ""} (button :width 300 :class "revealer-title" "Reminders ${reveal_reminders ? '' : ''}") (reminders :json {jq(reminders_list,'.')}))) (defwidget reminders [json] (box :class "reminders" :orientation "v" :halign "baseline" ; :width 300 ; :height 150 :space-evenly true (for reminder in json (button :onclick "open '${reminder.url}'" (box ; :visible :orientation "v" (label :xalign 0 :wrap false :text "${reminder.name}")))) ))