Skip to content
Snippets Groups Projects
Verified Commit 367445fd authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Refactor explore area

parent 1df0345e
No related branches found
No related tags found
No related merge requests found
class Public::GroupsController < ApplicationController
class Explore::GroupsController < ApplicationController
skip_before_filter :authenticate_user!,
:reject_blocked, :set_current_user_for_observers,
:add_abilities
 
layout "public"
layout "explore"
 
def index
@groups = GroupsFinder.new.execute(current_user)
Loading
Loading
class Public::ProjectsController < ApplicationController
class Explore::ProjectsController < ApplicationController
skip_before_filter :authenticate_user!,
:reject_blocked, :set_current_user_for_observers,
:add_abilities
:reject_blocked,
:add_abilities
 
layout 'public'
layout 'explore'
 
def index
@projects = Project.publicish(current_user)
@projects = ProjectsFinder.new.execute(current_user)
@projects = @projects.search(params[:search]) if params[:search].present?
@projects = @projects.sort(@sort = params[:sort])
@projects = @projects.includes(:namespace).page(params[:page]).per(20)
end
def trending
@trending_projects = TrendingProjectsFinder.new.execute(current_user)
@trending_projects = @trending_projects.page(params[:page]).per(10)
end
end
class Public::ExploreController < ApplicationController
skip_before_filter :authenticate_user!,
:reject_blocked,
:add_abilities
layout "public"
def index
@trending_projects = TrendingProjectsFinder.new.execute(current_user)
@trending_projects = @trending_projects.page(params[:page]).per(10)
end
end
.clearfix
.pull-left
= form_tag public_groups_path, method: :get, class: 'form-inline form-tiny' do |f|
= form_tag explore_groups_path, method: :get, class: 'form-inline form-tiny' do |f|
.form-group
= search_field_tag :search, params[:search], placeholder: "Filter by name", class: "form-control search-text-input input-mn-300", id: "groups_search"
.form-group
Loading
Loading
@@ -17,15 +17,15 @@
%b.caret
%ul.dropdown-menu
%li
= link_to public_groups_path(sort: nil) do
= link_to explore_groups_path(sort: nil) do
Name
= link_to public_groups_path(sort: 'newest') do
= link_to explore_groups_path(sort: 'newest') do
Newest
= link_to public_groups_path(sort: 'oldest') do
= link_to explore_groups_path(sort: 'oldest') do
Oldest
= link_to public_groups_path(sort: 'recently_updated') do
= link_to explore_groups_path(sort: 'recently_updated') do
Recently updated
= link_to public_groups_path(sort: 'last_updated') do
= link_to explore_groups_path(sort: 'last_updated') do
Last updated
 
%hr
Loading
Loading
%li
%h4.project-title
.project-access-icon
= visibility_level_icon(project.visibility_level)
= link_to project.name_with_namespace, project
- if project.description.present?
%p.project-description.str-truncated
= project.description
.repo-info
- unless project.empty_repo?
= link_to pluralize(project.repository.round_commit_count, 'commit'), project_commits_path(project, project.default_branch)
&middot;
= link_to pluralize(project.repository.branch_names.count, 'branch'), project_branches_path(project)
&middot;
= link_to pluralize(project.repository.tag_names.count, 'tag'), project_tags_path(project)
- else
%i.icon-warning-sign
Empty repository
Loading
Loading
@@ -31,32 +31,7 @@
%hr
.public-projects
%ul.bordered-list.top-list
- @projects.each do |project|
%li
%h4
= link_to project_path(project) do
= project.name_with_namespace
- if project.internal?
%small.access-icon
= internal_icon
Internal
.pull-right.hidden-sm.hidden-xs
%pre.public-clone git clone #{project.http_url_to_repo}
- if project.description.present?
%p
= project.description
.repo-info
- unless project.empty_repo?
= link_to pluralize(project.repository.round_commit_count, 'commit'), project_commits_path(project, project.default_branch)
&middot;
= link_to pluralize(project.repository.branch_names.count, 'branch'), project_branches_path(project)
&middot;
= link_to pluralize(project.repository.tag_names.count, 'tag'), project_tags_path(project)
- else
%i.icon-warning-sign
Empty repository
= render @projects
- unless @projects.present?
.nothing-here-block No public projects
 
Loading
Loading
Loading
Loading
@@ -3,16 +3,9 @@
%i.icon-comments-alt
See most discussed projects for last month
%hr
%ul.bordered-list
- @trending_projects.each do |project|
%li
%h4.project-title
.project-access-icon
= visibility_level_icon(project.visibility_level)
= link_to project.name_with_namespace, project
.project-description
= project.description
.public-projects
%ul.bordered-list
= render @trending_projects
 
.center
= link_to 'Show all projects', public_projects_path, class: 'btn btn-primary'
Loading
Loading
@@ -24,7 +24,7 @@
'data-original-title' => 'Help' do
%i.icon-question-sign
%li
= link_to public_root_path, title: "Public area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
= link_to explore_root_path, title: "Explore", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
%i.icon-globe
%li
= link_to user_snippets_path(current_user), title: "My snippets", class: 'has_bottom_tooltip', 'data-original-title' => 'My snippets' do
Loading
Loading
Loading
Loading
@@ -33,6 +33,6 @@
%hr
.container
.footer-links
= link_to "Explore", public_explore_path
= link_to "Explore", explore_root_path
= link_to "Documentation", "http://doc.gitlab.com/"
= link_to "About GitLab", "https://about.gitlab.com/"
Loading
Loading
@@ -18,11 +18,11 @@
 
 
%ul.nav.nav-tabs
= nav_link(controller: :explore) do
= link_to 'Trending Projects', public_explore_path
= nav_link(controller: :projects) do
= link_to 'All Projects', public_projects_path
= nav_link(path: 'projects#trending') do
= link_to 'Trending Projects', explore_root_path
= nav_link(path: 'projects#index') do
= link_to 'All Projects', explore_projects_path
= nav_link(controller: :groups) do
= link_to 'All Groups', public_groups_path
= link_to 'All Groups', explore_groups_path
 
= yield
!!! 5
%html{ lang: "en"}
= render "layouts/head", title: "Public Groups"
%body{class: "#{app_theme} application", :'data-page' => body_data_page}
= render "layouts/broadcast"
- if current_user
= render "layouts/head_panel", title: "Public Groups"
- else
= render "layouts/public_head_panel", title: "Public Groups"
.container.navless-container
.content= yield
Loading
Loading
@@ -47,15 +47,23 @@ Gitlab::Application.routes.draw do
get "/s/:username" => "snippets#user_index", as: :user_snippets, constraints: { username: /.*/ }
 
#
# Public namespace
# Explroe area
#
namespace :public do
resources :projects, only: [:index]
namespace :explore do
resources :projects, only: [:index] do
collection do
get :trending
end
end
resources :groups, only: [:index]
get 'explore' => 'explore#index'
root to: "explore#index"
root to: "projects#trending"
end
 
# Compatibility with old routing
get 'public' => "explore/projects#index"
get 'public/projects' => "explore/projects#index"
#
# Attachments serving
#
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment