   (case vcs-type
     "bitbucket" (vcs-bitbucket? item)
     "github"    (vcs-github?    item)))
+
+(defn loading-repos-for-vcs-type? [user vcs-type]
+  (get-in user [:repos-loading vcs-type]))
 
 ;; This is only the keys that we're interested in in this namespace. We'd give
 ;; this a broader scope if we could, but that's the trouble with legacy keys:

     [:div#add-projects
      (when (seq (user-model/missing-scopes user))
        (missing-scopes-notice (:github_oauth_scopes user) (user-model/missing-scopes user)))
      (when (seq followed-inaccessible)
        (inaccessible-orgs-notice followed-inaccessible settings))
      [:h2 "CircleCI helps you ship better code, faster. Let's add some projects on CircleCI."]
      [:p "To kick things off, you'll need to pick some projects to build:"]

    om/IRenderState
    (render-state [_ {:keys [selected-tab-name]}]
      (let [selected-org-login (:login selected-org)
            loading-repos? (loading-repos-for-vcs-type? user (:vcs_type selected-org))
            repo-filter-string (get-in settings [:add-projects :repo-filter-string])
            show-forks (true? (get-in settings [:add-projects :show-forks]))]
        (html
