diff --git a/src/cljs/youyesyet/core.cljs b/src/cljs/youyesyet/core.cljs index fb5c009..69f23aa 100644 --- a/src/cljs/youyesyet/core.cljs +++ b/src/cljs/youyesyet/core.cljs @@ -71,11 +71,16 @@ :map #'map-page }) -(defn page [] +(defn page + "Render the single page of the app, taking the current panel from + the :page key in the state map." + [] [:div - [:header - [ui/navbar]] - [(pages @(rf/subscribe [:page]))]]) + [:header + [ui/navbar]] + (let [content (pages @(rf/subscribe [:page]))] + (if content [content] + [:div.error (str "No content in page " :page)]))]) ;; ------------------------- ;; Routes diff --git a/src/cljs/youyesyet/handlers.cljs b/src/cljs/youyesyet/handlers.cljs index ee31a59..4c9b665 100644 --- a/src/cljs/youyesyet/handlers.cljs +++ b/src/cljs/youyesyet/handlers.cljs @@ -34,9 +34,10 @@ (reg-event-db - :set-active-page - (fn [db [_ page]] - (assoc db :page page))) + :set-active-page + (fn [db [_ page]] + (if page + (assoc db :page page)))) (reg-event-db