 
 (defn item-recommendation [recommended]
   [:div.media-list
-   (map item-component
+   (map (fn [idx item]
+          ^{:key idx} [item-component idx item])
         (range)
         recommended)])
 

                   stat-optimized? (as-> el [:b el]))]]))])

(defn item-block [id block]
  (let [items (map #(get @items (int (:id %))) (:items block))]
   [:div.panel.panel-default {:key id}
    [:div.panel-heading
     [:input.form-control
      {:type "text"
       :on-change #(swap! app assoc-in [:itemset :blocks id :type] (-> % .-target .-value))
       :value (:type block)}]]
      [:div.panel-body
     (for [item items]
       [:span {:key (:id item)}
        (item-image item)])]]))

(defn item-set [itemset]
  (let [blocks (map vector (range) (:blocks itemset))]

     :width 64 :height 64}]])

(defn item-component [idx item]
  [:div.media.well.well-sm
   [:div.media-left [item-image item]]
   [:div.media-body
    [:h4.media-heading
