aboutsummaryrefslogtreecommitdiff
path: root/src/distractionless
diff options
context:
space:
mode:
authorTim <contact@bytim.eu>2025-02-22 13:20:51 +0100
committerTim <contact@bytim.eu>2025-02-22 13:20:51 +0100
commitcd72067f63b1419c8cb87541cbc08e3a25d3a507 (patch)
tree86e2fe0257624f348165887ca228c78affbed641 /src/distractionless
parent7b042467886db9729ac092c87ce47a88297577e0 (diff)
downloaddistractionless-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.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)))))))