                               :store-idx! (fn [idx]
                                             (om/set-state! owner :drop-idx idx))}
                        :fn (fn [page]
-                             (mark-page-selected page (:selected selection)))}))]]))
+                             (-> page
+                                 (assoc :dragover? (= drop-idx (:idx page) ))
+                                 (mark-page-selected (:selected selection))))}))]]))
 
 (defn ^:private inbox-handle-drop! [state owner page-cache target source page-ids target-idx]
   (let [columns (om/get-state owner :columns)

                          (map om/value))
                    page-ids)]
    ;; TODO: Assert?
    (when-not (<= 0 target-idx (dec (count existing-pages)))
      (throw (ex-info (str "Got invalid target-idx:" target-idx)
                      {:idx target-idx
                       :column-pages existing-pages

  (remove-pages! [_ state page-ids]))

(defprotocol ColumnDropTarget
  (accept-drop! [_ state pages target-idx]))

(defrecord InboxColumnSource [id]
  ColumnSource
