Skip to content

Commit

Permalink
Add additional resources
Browse files Browse the repository at this point in the history
  • Loading branch information
drapanjanas committed Nov 20, 2015
1 parent 379e79a commit 7f22f22
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 0 deletions.
29 changes: 29 additions & 0 deletions resources/core-android.cljs
Original file line number Diff line number Diff line change
@@ -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))))
29 changes: 29 additions & 0 deletions resources/core-ios.cljs
Original file line number Diff line number Diff line change
@@ -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))))
15 changes: 15 additions & 0 deletions resources/handlers.cljs
Original file line number Diff line number Diff line change
@@ -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)))
9 changes: 9 additions & 0 deletions resources/subs.cljs
Original file line number Diff line number Diff line change
@@ -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))))

0 comments on commit 7f22f22

Please sign in to comment.