aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/distractionless/core.cljd63
1 files changed, 34 insertions, 29 deletions
diff --git a/src/distractionless/core.cljd b/src/distractionless/core.cljd
index d12e10f..146dc0a 100644
--- a/src/distractionless/core.cljd
+++ b/src/distractionless/core.cljd
@@ -17,7 +17,7 @@
(m/Scaffold .backgroundColor duconstants/background-color)
.body
:context ctx
- :watch [apps (atom '()) :as *apps
+ :watch [apps (atom nil) :as *apps
query (atom "") :as *query
data-dir (await (path-provider/getApplicationDocumentsDirectory))
_ (atom 0) :as reloader
@@ -34,31 +34,36 @@
(m/Container
.padding (m/EdgeInsets.only
.top 50)
- .child (m/Column
- .children [(m/SearchBar
- .onChanged (fn [new-val]
- (reset! *query new-val)
- nil)
- .hintText "Suche"
- .controller search-bar-controller
- .backgroundColor (#/(.resolveWith m/Color?) m/MaterialStateProperty (fn [^Set _states] duconstants/background-color))
- .trailing (when-not (cstr/blank? query)
- [(m/IconButton .icon (m/Icon m/Icons.clear_rounded)
- .color duconstants/text-color
- .onPressed #(do (reset! *query "")
- (.clear search-bar-controller))
- .iconSize 30.0)]))
- (m/CheckboxListTile
- .title (m/Text "Alle Apps anzeigen"
- .style duconstants/text-style)
- .value show-all-apps?
- .onChanged #(reset! *show-all-apps? %)
- .activeColor duconstants/checkbox-active-color)
- (m/Expanded
- .child (duapps/apps-list (filter (cond
- (not (cstr/blank? query)) #(cstr/includes?
- (cstr/lower-case (.-name %))
- (cstr/lower-case query))
- show-all-apps? (fn [_] true)
- :else #(.contains favourites (.-packageName %))) apps)
- config-file ctx reloader))]))))
+ .child (if (nil? apps)
+ (m/Text "Lade Apps..."
+ .style (m/TextStyle
+ .color duconstants/text-color
+ .fontStyle m/FontStyle.italic))
+ (m/Column
+ .children [(m/SearchBar
+ .onChanged (fn [new-val]
+ (reset! *query new-val)
+ nil)
+ .hintText "Suche"
+ .controller search-bar-controller
+ .backgroundColor (#/(.resolveWith m/Color?) m/MaterialStateProperty (fn [^Set _states] duconstants/background-color))
+ .trailing (when-not (cstr/blank? query)
+ [(m/IconButton .icon (m/Icon m/Icons.clear_rounded)
+ .color duconstants/text-color
+ .onPressed #(do (reset! *query "")
+ (.clear search-bar-controller))
+ .iconSize 30.0)]))
+ (m/CheckboxListTile
+ .title (m/Text "Alle Apps anzeigen"
+ .style duconstants/text-style)
+ .value show-all-apps?
+ .onChanged #(reset! *show-all-apps? %)
+ .activeColor duconstants/checkbox-active-color)
+ (m/Expanded
+ .child (duapps/apps-list (filter (cond
+ (not (cstr/blank? query)) #(cstr/includes?
+ (cstr/lower-case (.-name %))
+ (cstr/lower-case query))
+ show-all-apps? (fn [_] true)
+ :else #(.contains favourites (.-packageName %))) apps)
+ config-file ctx reloader))])))))