    (when @has-todos?
      [:div
       [-view-todo-list @todos @all-completed? dispatch]
-      [-view-footer @active-count @has-completed-todos? @visibility dispatch]])])
+      [-view-footer @active-count @has-completed-todos? @visibility @visibility-spec dispatch]])])
 
 ;;;;;;;;;;;;;;;;;;;;;;;; Start
 (defn on-start

      [-view-todo todo dispatch])]])

(defn -view-footer
  [active-count has-completed-todos? visibility dispatch]
  [:footer.footer
   [:span.todo-count
    [:strong active-count] (str " " (if (= active-count 1) "item" "items")
                                " left")]
   [:ul.filters
    (for [{:keys [key title href]} -visibility-spec]
      ^{:key key}
      [:li [:a
            {:href  href

     [:button.clear-completed {:on-click #(dispatch :on-clear-completed)} "Clear completed"])])

(defn view
  [{:keys [field has-todos? todos all-completed? active-count has-completed-todos? visibility visibility-spec]
    :as   _view-model}
   dispatch]
  [:section.todoapp
   [-view-header @field dispatch]
