         (reset! swipe-object (js/Swipe (reagent/dom-node this)
                                        (clj->js {:continuous false
                                                  :slideStopCallback (fn [slide-index-chanded? index]
-                                                                      (reset! (:percent-swiped animation-state)
-                                                                              (if slide-index-chanded?
-                                                                                (if (< 0 @(:percent-swiped animation-state))
-                                                                                  -1
-                                                                                  1)
-                                                                                0))
                                                                       (cond
                                                                         (< index @current-index)
                                                                         ;; slide left


(defn story-item [story]
  (let [;; highlight (with transition) the currently selected/touched story
        nav (subscribe [:navigation])
        bg-alpha (reaction (let [percent-swiped-raw (or @(:percent-swiped animation-state) 0)
                                 negative? (< percent-swiped-raw 0)
                                 positive? (< 0 percent-swiped-raw)
                                 percent-swiped-clean (max 0 (min 1 (Math/abs percent-swiped-raw)))]
                             (cond negative? percent-swiped-clean
                                   positive? (- 1 percent-swiped-clean)
                                   :else 0)))]
    (fn [story]
      (let [story-id (get story "id")
            ;; TODO: ensure selected is only true if story-item is actually

            selected? (condp = (-> @nav :item-path count)
                        0 (-> @nav :next-item-id (= story-id))
                        1 (-> @nav :item-path first (= story-id))
                        false)]
        (if (not story)
          [:div]
          ;; :a {:href (story "url")}
          [:div.story {:style {:display "flex"
                               :justify-content "space-between"
                               :align-items "baseline"
                               :padding "16px 10px"}
                       :class (if selected? (str "selected") (str "not-selected"))
                       :data-item-id (story "id")}
           [:a {:style {:flex "0 1 auto" :width "100%"}
                :href "/"}
            (story "title")]
           [:div {:style {:flex "5ex" :text-align "right"}}
            [:span (story "descendants")]]])))))
