blob: 7fd620c1a0bcb1fa9f686ee7afca5ced3b713e4f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
(ns distractionless.ui.apps
(:require ["package:flutter/material.dart" :as m]
[clojure.string :as cstr]
["package:installed_apps/installed_apps.dart" :as apps]
[distractionless.ui.constants :as duconstants]
[distractionless.ui.apps.settings :as duasettings]))
(defn load-installed-apps! [a]
(reset! a (await (apps/InstalledApps.getInstalledApps))))
(defn- render-app [app config-file ctx reloader]
(m/ListTile
.title (m/Text (.-name app)
.style duconstants/text-style)
.onTap #(do (await (apps/InstalledApps.startApp (.-packageName app))) nil)
.onLongPress #(duasettings/open app config-file ctx reloader)))
(defn apps-list [apps query config-file ctx reloader]
(m/ListView
.children (for [app (if (cstr/blank? query)
apps
(filter #(cstr/includes?
(cstr/lower-case (.-name %))
(cstr/lower-case query))
apps))]
(render-app app config-file ctx reloader))))
|