              (when (or (:brand bs)
                        (:toggle-button bs)
                        (:toggle-nav-key bs))
-               ;;TODO: Think about `render-header`, and if brand and
-               ;;toggle button are the only things that would ever go
-               ;;in there. What if someone wants a brand, and some
-               ;;text?
                (render-header owner bs))
              (map #(render-navbar-child owner % bs) children))))))
 


(defn render-toggle-button [owner bs]
  (let [handle-toggle (fn []
                        (om/set-state! owner [:changing?] true)
                        (when-let [f (:on-toggle bs)]
                          (f))
                        (om/set-state! owner [:changing?] false)
                        (om/update-state! owner [:nav-open?] not))
        tb (u/clone-with-props (:toggle-button bs)
                               {:class "navbar-toggle"

      (u/clone-with-props child prop-fn))))

(defn render-navbar-child [owner child bs]
  (let [changing? (om/get-state owner :changing?)
        f (fn [props]
            (let [opts (:opts props)
                  collapsible? (when (:toggle-nav-key bs)
                                 (= (:key opts) (:toggle-nav-key bs)))
                  expanded? (and collapsible?
                                 (or (:nav-expanded? bs)
                                     (om/get-state owner :nav-open?)))
                  collapsed? (not expanded?)
                  base {:navbar? true
                        :class (d/class-set {:navbar-collapse collapsible?
