       container.append(packageRow)
       packageRow.append(new AvailablePackageView(pack, @packageManager))
 
-  filterPackages: (packages) ->
-    packages.filter ({theme}) -> not theme
+  filterPackages: (packages, themes) ->
+    packages.filter ({theme}) =>
+      if themes
+        theme
+      else
+        not theme
 
   # Load and display the featured packages that are available to install.
-  loadFeaturedPackages: ->
+  loadFeaturedPackages: (loadThemes) ->
+    loadThemes ?= false
     @loadingMessage.show()
 
     @packageManager.getFeatured()
       .then (packages) =>
-        packages = @filterPackages(packages)
+        packages = @filterPackages(packages, loadThemes)
         @loadingMessage.hide()
-        @emptyMessage.show() if packages.length is 0
         @addPackageViews(@featuredContainer, packages)
+        if loadThemes
+          @featuredHeading.text 'Featured Themes'
+        else
+          @featuredHeading.text 'Featured Packages'
+
       .catch (error) =>
         @loadingMessage.hide()
         @featuredErrors.append(new ErrorView(@packageManager, error))

      false

    @searchMessage.hide()
    @emptyMessage.hide()

    @searchEditorView.setPlaceholderText('Search packages')
    @searchType = 'packages'


      @div class: 'section packages', =>
        @div class: 'section-container', =>
          @div outlet: 'featuredHeading', class: 'section-heading icon icon-star', 'Featured Packages'
          @div outlet: 'featuredErrors'
          @div outlet: 'loadingMessage', class: 'alert alert-info featured-message icon icon-hourglass', 'Loading featured packages\u2026'
          @div outlet: 'featuredContainer', class: 'container package-container'

  initialize: (@packageManager) ->
