diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/distractionless/config.cljd | 8 | ||||
-rw-r--r-- | src/distractionless/ui/apps/settings.cljd | 18 |
2 files changed, 23 insertions, 3 deletions
diff --git a/src/distractionless/config.cljd b/src/distractionless/config.cljd index 07d86b8..2def263 100644 --- a/src/distractionless/config.cljd +++ b/src/distractionless/config.cljd @@ -21,9 +21,13 @@ (write-to-file! file new-content reloader) new-content)) +(defn- init-key! [^io/File file reloader k dv] + (when-not (contains? (read-from-file file) k) + (prn (update-config! file #(assoc % k dv) reloader)))) + (defn init-config! [^io/File file reloader] (when-not (.existsSync file) (.createSync file) (write-to-file! file {} reloader)) - (when-not (contains? (read-from-file file) "favourites") - (prn (update-config! file #(assoc % "favourites" #{}) reloader)))) + (init-key! file reloader "favourites" #{}) + (init-key! file reloader "countdowns" {})) diff --git a/src/distractionless/ui/apps/settings.cljd b/src/distractionless/ui/apps/settings.cljd index c6d1c67..8fa57ce 100644 --- a/src/distractionless/ui/apps/settings.cljd +++ b/src/distractionless/ui/apps/settings.cljd @@ -31,6 +31,21 @@ reloader))) .activeColor duconstants/checkbox-active-color)) +(defn- countdown-setting [app config-file reloader] + (m/Row + .children [(m/Text "Countdown, bevor App öffnet (in Sekunden): " + .style duconstants/text-style) + (m/Expanded + .child (m/TextFormField + .keyboardType m/TextInputType.number + .initialValue (str (get-in (dconfig/read-from-file config-file) + ["countdowns" (.-packageName app)] 0)) + .onChanged (fn [new-val] + (dconfig/update-config! config-file + #(update % "countdowns" + conj [(.-packageName app) (or (int/tryParse new-val) 0)]) + reloader))))])) + (defn open [app config-file ctx reloader] (m/showDialog .context ctx @@ -39,4 +54,5 @@ .backgroundColor duconstants/background-color .child (m/Column .children (list (header app ctx) - (favourite-setting app config-file reloader))))))) + (favourite-setting app config-file reloader) + (countdown-setting app config-file reloader))))))) |