(defwidget metrics []
  (box :class "system" :orientation "h" :space-evenly false :halign "end"
    (_battery)
    (metric :label "󰘚"
            :value {EWW_RAM.used_mem_perc}
            :onchange "")
    (metric :label "󰋊"
            :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
            :onchange "")
    ))

(defwidget metric [label value onchange]
  (box :orientation "h"
       :class "metric"
       :space-evenly false
    (box :class "label" label)
    (scale :min 0
           :max 151
           :active {onchange != ""}
           :value value
           :onchange onchange)))




(defpoll battery-percent :interval "30s"
                 :initial ''
  "./scripts/battery-percent")
(defpoll battery-status :interval "5s"
                 :initial ''
  "./scripts/battery-status")

(defwidget _battery []
  (box :class "bat-box" :space-evenly false :spacing 8
       :visable {battery-status != ''}
    (label :text {battery-status == 'Charging' ? "󰂄" :
        battery-percent < 10 ? "󰂃" :
        battery-percent < 20 ? "󰁻" :
        battery-percent < 30 ? "󰁼" :
        battery-percent < 40 ? "󰁽" :
        battery-percent < 50 ? "󰁾" :
        battery-percent < 60 ? "󰁿" :
        battery-percent < 70 ? "󰂀" :
        battery-percent < 80 ? "󰂁" :
        battery-percent < 90 ? "󰂂" : "󰁹"})))

(defpoll time :interval "1s"
 "date '+%H:%M'")
