diff options
author | Tim <contact@bytim.eu> | 2025-02-22 13:20:51 +0100 |
---|---|---|
committer | Tim <contact@bytim.eu> | 2025-02-22 13:20:51 +0100 |
commit | cd72067f63b1419c8cb87541cbc08e3a25d3a507 (patch) | |
tree | 86e2fe0257624f348165887ca228c78affbed641 /src/distractionless | |
parent | 7b042467886db9729ac092c87ce47a88297577e0 (diff) | |
download | distractionless-cd72067f63b1419c8cb87541cbc08e3a25d3a507.tar.xz distractionless-cd72067f63b1419c8cb87541cbc08e3a25d3a507.zip |
Add setting for countdown before app opens
(Countdown functionality is not ready yet)
Diffstat (limited to 'src/distractionless')
-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))))))) |