aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/distractionless/config.cljd8
-rw-r--r--src/distractionless/ui/apps/settings.cljd18
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)))))))