            (for [field ["Faction" "Name" "Type" "Influence" "Cost" "Set number"]]
              [:option {:value field} field])]]
 
-         (for [filter [["Set" :set-filter (map :name (:sets cursor))]
+         (for [filter [["Set" :set-filter (map :name (sort-by :available (:sets cursor)))]
                        ["Side" :side-filter ["Corp" "Runner"]]
                        ["Faction" :faction-filter (factions (:side-filter state))]
                        ["Type" :type-filter (types (:side-filter state))]]]

    (when (> (.scrollTop $cardlist) (- height 600))
      (om/update-state! owner :page inc))))

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

            (when-not (empty? query)
              [:span.e.search-clear {:dangerouslySetInnerHTML #js {:__html "&#xe819;"}
                                     :on-click #(om/set-state! owner :search-query "")}])
            [:input.search {:on-change #(handle-search % owner)
                            :type "text" :placeholder "Search cards" :value query}]])

         [:div
