                       :on-change #(om/set-state! owner (second filter) (.. % -target -value))}
              (options (last filter))]])]
 
-        [:div.card-list
+        [:div.card-list {:on-scroll #(handle-scroll % owner state)}
          (om/build-all card-view
                        (->> (:cards cursor)
                             (filter-cards (:set-filter state) :setname)

       :type-filter "All"
       :side-filter "All"
       :faction-filter "All"
       :filter-ch (chan)})

    om/IWillMount

    "Type" (juxt :side :type)
    "Set number" :number))

(defn handle-scroll [e owner {:keys [page]}]
  (let [$cardlist (js/$ ".card-list")
        height (- (.prop $cardlist "scrollHeight") (.innerHeight $cardlist))]
    (when (> (.scrollTop $cardlist) (- height 600))
      (om/set-state! owner :page (inc (om/get-state owner :page)))
      ;; (om/update-state! owner :page inc)
      )))

(defn card-browser [cursor owner]
  (reify
    om/IInitState
