       (let [package-count (count packages)]
         (if (zero? package-count)
           [bootstrap/label {:bs-style :warning}
-           [bootstrap/glyph {:glyph :warning}] "No packages found!"]
+           [bootstrap/glyph {:glyph :warning}] "No flatpacks found!"]
 
           [:div
            [bootstrap/label {:on-mouse-over #(reset! show-popover true)
                              :on-mouse-leave #(reset! show-popover false)}
-            package-count " package" (when (< 1 package-count) "s")
+            package-count " flatpack" (when (< 1 package-count) "s")
             [bootstrap/overlay {:show @show-popover
                                 :container (reagent/current-component)}
              [package-total-overlay packages]]]])))))
 
 (defn trolley-item
-  [idx {:keys [desc name image-src packages id]} remove-fn add-another-fn]
-  [bootstrap/list-group-item {:key idx :list-item true}
+  [{:keys [desc name image-src packages id count]} remove-fn add-another-fn]
+  [bootstrap/list-group-item {:key id :list-item true}
    [:div
     [:div.contents
      [:div

                           :bs-style :danger
                           :on-click remove-fn}
         [bootstrap/glyph {:glyph :remove}] " Remove"]]]]
     [:div [package-total-view (reagent/current-component) packages]]]
    [:div.preview
     [bootstrap/thumbnail {:src image-src :responsive true}]]]])

(defn- remove-item-from-trolley
  [trolley-state idx]
  (let [items (:items @trolley-state)]
    (swap! trolley-state assoc-in [:items]
           (concat (take idx items) (last (split-at (inc idx) items))))))

(defn trolley-list-contents
  [trolley-state]


(defn package-total-overlay
  [packages]
  [bootstrap/pop-over {:id "package-popover" :title (str (count packages) " flatpacks")
                       :placement :bottom}
   "This product is packaged in " (count packages) " flatpacks or boxes."])

(defn package-total-view
  [item-container packages]
