From 6964790e6c6fd9eba8bbb116e3cf3832b6238d3d Mon Sep 17 00:00:00 2001 From: Tim Date: Tue, 18 Feb 2025 22:37:57 +0100 Subject: Add info text while loading installed apps --- src/distractionless/core.cljd | 63 +++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 29 deletions(-) (limited to 'src/distractionless') 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))]))))) -- cgit v1.2.3