     "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

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

    om/IWillMount

                      :on-change #(om/set-state! owner (second filter) (.. % -target -value))}
             (options (last filter))]])]

        [:div.card-list {:on-scroll #(handle-scroll % owner state)}
         (om/build-all card-view
                       (->> (:cards cursor)
                            (filter-cards (:set-filter state) :setname)
