                   [:span.access-status
                    (str "Was marked as" (if added? " active " " inactive ") (format-access-date instant) ".")]]])
 
-              [:div.menu-empty.content
+              [:div.menu-empty.content {:key "empty"}
                [:p.make (common/icon :activity)]
-               [:p.make "We haven't seen any activity on your team yet. "]
+               [:p.make "We haven't seen any activity on your team yet. It's refreshed every 8 hours."]
                [:a.make.feature-link {:on-click #(cast! :team-settings-opened) :role "button"} "Add a teammate."]])]))))))
+
+(defn active-custs [{:keys [plan team-uuid]} owner]
+  (reify
+    om/IRender
+    (render [_]
+      (let [{:keys [cast! team-db]} (om/get-shared owner)
+            active (:plan/active-custs plan)]
+        (html
+         [:div.menu-view
+          (if (seq active)
+            [:div.content {:key "active"}
+             [:div.content.make
+              (str (count active) " active user" (when (< 1 (count active)) "s") " on your plan")]
+             (for [email (sort active)]
+               [:div.access-card.make {:key email}
+                [:div.access-avatar
+                 [:img.access-avatar-img
+                  {:src (utils/gravatar-url email)}]]
+                [:div.access-details
+                 [:span {:title email}
+                  email]
+                 [:span.access-status
+                  ""]]])]
+            [:div.content {:key "empty"}
+             [:div.menu-empty.content
+              [:p.make (common/icon :activity)]
+              [:p.make "We haven't seen any activity on your team yet. It's refreshed every 8 hours."]
+              [:a.make.feature-link {:on-click #(cast! :team-settings-opened) :role "button"} "Add a teammate."]]])])))))
 
 (defn format-stripe-cents
   "Formats Stripe's currency values into ordinary dollar format

   :payment payment
   :invoices invoices
   :activity activity
   :discount discount})

(defn plan-menu* [{:keys [plan-id team-uuid submenu]} owner]

            [:div.content.make
             "Your discount expires on " (datetime/month-day (:discount/end plan)) "."])])))))

(defn open-menu-props [cast! submenu]
  {:on-click #(cast! :plan-submenu-opened {:submenu submenu})
   :on-touch-end #(do (cast! :plan-submenu-opened {:submenu submenu})
                      (.preventDefault %))})

(defn activity-summary [{:keys [plan team-uuid]} owner]
  (reify
    om/IRender
    (render [_]
      (let [cast! (om/get-shared owner :cast!)]
        (html
         (case (count (:plan/active-custs plan))
           0 [:span
              [:a (merge {:role "button"}
                         (open-menu-props cast! :active))
               "No users"]
              " are active on your team, yet."]
           1 [:span
              [:a (merge {:role "button"}
                         (open-menu-props cast! :active))
               "One user"]
              " is active on your team."]
           [:span
            [:a (merge {:role "button"}
                       (open-menu-props cast! :active))
             (str (count (:plan/active-custs plan)) " users")]

            " are active on your team."]))))))

(defn paid-summary [{:keys [plan team-uuid]} owner]
  (reify
    om/IRender
