   :description " "
   :twitter-handle ""}]
 
+
+(defn add-session [cursor component]
+  (reify
+    om/IRender
+    (render [this]
+      (dom/div nil
+        (dom/h3 nil "Add New Session")
+        (dom/form #js {:className "form-horizontal"}
+                  (dom/input #js {:type "text"
+                                  :className "form-control"
+                                  :placeholder "Session Title"})
+                  (dom/textarea #js {:className "form-control"
+                                     :placeholder "Session description"
+                                     :rows "5"})
+                  (dom/input #js {:type "text"
+                                  :className "form-control"
+                                  :placeholder "Twitter handle"})
+                  (dom/button #js {:className "btn btn-primary"
+                                   :onClick (fn [e]
+                                              (.preventDefault e)
+                                              (om/transact! cursor :entries
+                                                            (fn [items]
+                                                              ((fnil conj []) items
+                                                               {:title "summary"
+                                                                :description "date-time"
+                                                                :twitter-handle "notes"}))))}
+                              "Add New Session"))
+               ))))
+
+
 (defn root-component [app owner]
   (reify
     om/IRender
     (render [_]
-      (dom/div nil
-               (dom/h1 nil (:text app))
-               (om/build schedule app)))))
+      (dom/div #js {:className "container"}
+               (dom/p #js {:className "jumbotron" :style #js {:fontSize "42px"} } (:text app))
+               (om/build schedule app)
+               (om/build add-session app)))))
+
+;; content header options
+;; jumbotron
+
 
 (om/root
  root-component


(enable-console-print!)

(defonce app-state (atom {:text "Hello HackTheTower Chestnut!"
                      :schedule []}))

(defn talk-detail [cursor component]
  (reify
    om/IRender
    (render [this]


@app-state


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Example talk schedule data

#_(swap! app-state
         update :schedule
         conj {:title "Opening Keynote"
               :description "Words can be very inspirational"
               :twitter-handle "jr0cket" })


#_(swap! app-state
         update :schedule
         conj {:title "A Glass of CIDER"
               :description "Unleashing the power of Clojure with Emacs"
               :twitter-handle "batisov" })


#_(def trisha-gee
  {:title "Becoming Fully Buzzword Compliant"
   :bio
     "I’m a developer / technical advocate / educator, based in Spain and working remotely for JetBrains.
      I love the combination of solving technical problems and working out the best way to teach other developers techniques that will make their lives easier.

      I’m a leader of the Sevilla MongoDB and Java User Groups, and a key member of the London Java Community.
      In 2014 I became a Java Champion and I’m a 2015 MongoDB Master."
   :description
     "It’s all about Containers, Serverless and Reactive Programming right now!
      ProgSCon London will explore these trends with leading industry experts.
      Several talks will also feature Blockchain, Microservices and Big Data.

      You’re here at ProgSCon to hear all about the latest trends in technology,
      to learn about them and decide which ones to apply and figure out how.
      But it’s a tall order, learning to be a fully buzzword compliant developer, architect or lead,
      especially when What’s Hot changes on practically a daily basis.

      During this talk, Trisha will give an irreverent overview of the current technical landscape
      and present a survival guide for those who want to stay ahead in this turbulent industry."
   :twitter-handle "trisha_gee"})

#_(def trisha-gee-image "http://2017.progscon.co.uk/wp-content/uploads/2016/11/TrishaGee-150x150.jpg")

#_(swap! app-state update :schedule conj trisha-gee)


;; other speakers to include
;; http://2017.progscon.co.uk/cr3ativspeaker/jan-machacek/
;; http://2017.progscon.co.uk/cr3ativspeaker/ramkumar-aiyengar/
;; http://2017.progscon.co.uk/cr3ativspeaker/steve-poole/


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Reset data

#_(reset! app-state {:text "ProgsCon Awesomenessness"
                   :schedule []})


