generated from PEZ/rn-rf-shadow
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.cljs
executable file
·48 lines (42 loc) · 1.43 KB
/
app.cljs
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
(ns gurps.app
(:require
;; NOTE: Do NOT sort i18n-resources because it MUST be loaded first.
[gurps.setup.i18n-resources :as i18n-resources]
[gurps.setup.logs]
[gurps.common.async-storage.effects]
[gurps.events]
[gurps.subs]
[gurps.effects]
[gurps.utils.i18n :as i18n]
[gurps.root :refer [root]]
[expo.root :as expo-root]
[re-frame.core :as rf]
[reagent.core :as r]
["expo-splash-screen" :as splash-screen]
["expo-constants" :default expo-contants]))
;; Keep the splash screen visible while we fetch resources
(splash-screen/preventAutoHideAsync)
;; Make reagent create functional react components by default
(defonce functional-compiler (reagent.core/create-compiler {:function-components true}))
(reagent.core/set-default-compiler! functional-compiler)
(def storybook-enabled? (-> expo-contants
.-expoConfig
.-extra
.-storybookEnabled))
(def real-root
;; (if (= storybook-enabled? "true")
;; (let [storybook (js/require "storybook")]
;; storybook)
root)
(defn start
{:dev/after-load true}
[]
(i18n/set-language "en")
(i18n-resources/load-language "en")
(expo-root/render-root
(r/as-element [real-root])))
(defn init []
(rf/dispatch-sync [:initialize-db])
(rf/dispatch-sync [:initialize-storage])
(splash-screen/hideAsync) ;; TODO: This should be done after the resources are loaded
(start))