     (render [_]
       (let [user (:current-user data)
             controls-ch (:controls-ch data)
+            api-ch (:api-ch data)
             settings (:settings data)
             repos (:repos data)
             repo-filter-string (get-in settings [:add-projects :repo-filter-string])]

                                            repos)]
                 (map (fn [repo] (om/build repo-item {:repo repo
                                                      :controls-ch controls-ch
                                                      :settings settings}))
                      filtered-repos))]))
          invite-modal])))))

      (let [repo (:repo data)
            repo-id (repo-model/id repo)
            controls-ch (:controls-ch data)
            api-ch (:api-ch data)
            settings (:settings data)
            should-build? (repo-model/should-do-first-follower-build? repo)]
        (html
         (cond (repo-model/can-follow? repo)
               [:li.repo-follow {:class (when should-build? "repo-1stfollow")}
                [:div.proj-name
                 [:span {:title (str (vcs-url/project-name (:vcs_url repo))
                                     (when (:fork repo) " (forked)"))}
                  (:name repo)]
                 (when (:fork repo)
                   [:span.forked (str " (" (vcs-url/org-name (:vcs_url repo)) ")")])]
                [:button {:on-click #(do (when should-build?
                                           (start-first-build-after-follow repo-id controls-ch api-ch))
                                         (put! controls-ch [:followed-repo repo-id]))
                          ;; XXX implement data-spinner
                          :data-spinner "true"}
                 [:span "Follow"]]]
