diff --git a/app/controllers/explore/projects_controller.rb b/app/controllers/explore/projects_controller.rb index 05b3289682b..b6fa8b7e387 100644 --- a/app/controllers/explore/projects_controller.rb +++ b/app/controllers/explore/projects_controller.rb @@ -16,4 +16,10 @@ class Explore::ProjectsController < ApplicationController @trending_projects = TrendingProjectsFinder.new.execute(current_user) @trending_projects = @trending_projects.page(params[:page]).per(10) end + + def starred + @starred_projects = ProjectsFinder.new.execute(current_user) + @starred_projects = @starred_projects.order('star_count DESC') + @starred_projects = @starred_projects.page(params[:page]).per(10) + end end diff --git a/app/views/explore/projects/_project.html.haml b/app/views/explore/projects/_project.html.haml index 665d111bead..393c33b266a 100644 --- a/app/views/explore/projects/_project.html.haml +++ b/app/views/explore/projects/_project.html.haml @@ -4,6 +4,10 @@ = visibility_level_icon(project.visibility_level) = link_to project.name_with_namespace, project + - if current_page?(starred_explore_projects_path) + %strong.pull-right + = pluralize project.star_count, 'star' + - if project.description.present? %p.project-description.str-truncated = project.description @@ -17,4 +21,5 @@ = link_to pluralize(project.repository.tag_names.count, 'tag'), project_tags_path(project) - else %i.icon-warning-sign - Empty repository + Empty repository + diff --git a/app/views/explore/projects/starred.html.haml b/app/views/explore/projects/starred.html.haml new file mode 100644 index 00000000000..9c793d4050c --- /dev/null +++ b/app/views/explore/projects/starred.html.haml @@ -0,0 +1,10 @@ +.explore-trending-block + %p.lead + %i.icon-comments-alt + See most starred projects + %hr + .public-projects + %ul.bordered-list + = render @starred_projects + + = paginate @starred_projects, theme: 'gitlab' diff --git a/app/views/layouts/explore.html.haml b/app/views/layouts/explore.html.haml index 73b4940e3d3..d023846c5eb 100644 --- a/app/views/layouts/explore.html.haml +++ b/app/views/layouts/explore.html.haml @@ -20,6 +20,8 @@ %ul.nav.nav-tabs = nav_link(path: 'projects#trending') do = link_to 'Trending Projects', explore_root_path + = nav_link(path: 'projects#starred') do + = link_to 'Most Starred Projects', starred_explore_projects_path = nav_link(path: 'projects#index') do = link_to 'All Projects', explore_projects_path = nav_link(controller: :groups) do diff --git a/config/routes.rb b/config/routes.rb index f8c68eb11a1..3b34ad40297 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -53,6 +53,7 @@ Gitlab::Application.routes.draw do resources :projects, only: [:index] do collection do get :trending + get :starred end end