Add additional resources
This commit is contained in:
parent
379e79ad9c
commit
7f22f2288f
|
@ -0,0 +1,29 @@
|
||||||
|
(ns $PROJECT_NAME_HYPHENATED$.android.core
|
||||||
|
(:require [reagent.core :as r :refer [atom]]
|
||||||
|
[re-frame.core :refer [subscribe dispatch dispatch-sync]]
|
||||||
|
[commutewise-app.handlers]
|
||||||
|
[commutewise-app.subs]))
|
||||||
|
|
||||||
|
(set! js/React (js/require "react-native"))
|
||||||
|
|
||||||
|
(def app-registry (.-AppRegistry js/React))
|
||||||
|
(def text (r/adapt-react-class (.-Text js/React)))
|
||||||
|
(def view (r/adapt-react-class (.-View js/React)))
|
||||||
|
(def image (r/adapt-react-class (.-Image js/React)))
|
||||||
|
(def touchable-highlight (r/adapt-react-class (.-TouchableHighlight js/React)))
|
||||||
|
|
||||||
|
(defn widget []
|
||||||
|
(let [greeting (subscribe [:get-greeting])]
|
||||||
|
(fn []
|
||||||
|
[view {:style {:flexDirection "column" :margin 40 :alignItems "center"}}
|
||||||
|
[text {:style {:fontSize 30 :fontWeight "100" :marginBottom 20 :textAlign "center"}} @greeting]
|
||||||
|
[image {:source {:uri "https://raw.githubusercontent.com/cljsinfo/logo.cljs/master/cljs.png"}
|
||||||
|
:style {:width 80 :height 80 :marginBottom 30}}]
|
||||||
|
[touchable-highlight {:style {:backgroundColor "#999" :padding 10 :borderRadius 5}}
|
||||||
|
[text {:style {:color "white" :textAlign "center" :fontWeight "bold"}} "press me"]]])))
|
||||||
|
|
||||||
|
|
||||||
|
(.registerRunnable app-registry "$PROJECT_NAME$"
|
||||||
|
(fn [params]
|
||||||
|
(dispatch-sync [:initialize-db])
|
||||||
|
(r/render [widget] (.-rootTag params))))
|
|
@ -0,0 +1,29 @@
|
||||||
|
(ns $PROJECT_NAME_HYPHENATED$.ios.core
|
||||||
|
(:require [reagent.core :as r :refer [atom]]
|
||||||
|
[re-frame.core :refer [subscribe dispatch dispatch-sync]]
|
||||||
|
[commutewise-app.handlers]
|
||||||
|
[commutewise-app.subs]))
|
||||||
|
|
||||||
|
(set! js/React (js/require "react-native"))
|
||||||
|
|
||||||
|
(def text (r/adapt-react-class (.-Text js/React)))
|
||||||
|
(def view (r/adapt-react-class (.-View js/React)))
|
||||||
|
(def image (r/adapt-react-class (.-Image js/React)))
|
||||||
|
(def touchable-highlight (r/adapt-react-class (.-TouchableHighlight js/React)))
|
||||||
|
|
||||||
|
(defn widget []
|
||||||
|
(let [greeting (subscribe [:get-greeting])]
|
||||||
|
(fn []
|
||||||
|
[view {:style {:flexDirection "column" :margin 40 :alignItems "center"}}
|
||||||
|
[text {:style {:fontSize 30 :fontWeight "100" :marginBottom 20 :textAlign "center"}} @greeting]
|
||||||
|
[image {:source {:uri "https://raw.githubusercontent.com/cljsinfo/logo.cljs/master/cljs.png"}
|
||||||
|
:style {:width 80 :height 80 :marginBottom 30}}]
|
||||||
|
[touchable-highlight {:style {:backgroundColor "#999" :padding 10 :borderRadius 5}}
|
||||||
|
[text {:style {:color "white" :textAlign "center" :fontWeight "bold"}} "press me"]]])))
|
||||||
|
|
||||||
|
(r/render [widget] 1)
|
||||||
|
|
||||||
|
(defn ^:export init []
|
||||||
|
(dispatch-sync [:initialize-db])
|
||||||
|
((fn render []
|
||||||
|
(.requestAnimationFrame js/window render))))
|
|
@ -0,0 +1,15 @@
|
||||||
|
(ns $PROJECT_NAME_HYPHENATED$.handlers
|
||||||
|
(:require
|
||||||
|
[re-frame.core :refer [register-handler path trim-v after dispatch]]))
|
||||||
|
|
||||||
|
(def app-db {:greeting "Hello Clojure in iOS and Android!"})
|
||||||
|
|
||||||
|
(register-handler
|
||||||
|
:initialize-db
|
||||||
|
(fn [_ _]
|
||||||
|
app-db))
|
||||||
|
|
||||||
|
(register-handler
|
||||||
|
:set-greeting
|
||||||
|
(fn [db [_ value]]
|
||||||
|
(assoc db :greeting value)))
|
|
@ -0,0 +1,9 @@
|
||||||
|
(ns $PROJECT_NAME_HYPHENATED$.subs
|
||||||
|
(:require-macros [reagent.ratom :refer [reaction]])
|
||||||
|
(:require [re-frame.core :refer [register-sub]]))
|
||||||
|
|
||||||
|
(register-sub
|
||||||
|
:get-greeting
|
||||||
|
(fn [db _]
|
||||||
|
(reaction
|
||||||
|
(get @db :greeting))))
|
Loading…
Reference in New Issue