summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-08-20 11:59:14 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-08-20 11:59:21 +0200
commitf82c14259b81d692b7f922b40895b60b2b240361 (patch)
treed0ee9b1960b3e6a4da106cf663cefc710ec6978b
parentb1c1a3d3cc90de98f03482a4b41b39fe9a992cc6 (diff)
downloadgitlab-ce-f82c14259b81d692b7f922b40895b60b2b240361.tar.gz
Rebuild navigation for dashboard
* projects from explore page are available from dashboard * use dashboard sidebar for both logged in and not users * move explroe projects under projects tab * move explore groups under groups tab * move public snippets under snippets tab Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/assets/stylesheets/pages/explore.scss8
-rw-r--r--app/controllers/snippets_controller.rb2
-rw-r--r--app/helpers/explore_helper.rb2
-rw-r--r--app/helpers/tab_helper.rb8
-rw-r--r--app/views/dashboard/_groups_head.html.haml7
-rw-r--r--app/views/dashboard/_projects_head.html.haml6
-rw-r--r--app/views/dashboard/groups/index.html.haml2
-rw-r--r--app/views/explore/groups/index.html.haml2
-rw-r--r--app/views/explore/projects/_dropdown.html.haml27
-rw-r--r--app/views/explore/projects/_filter.html.haml20
-rw-r--r--app/views/explore/projects/index.html.haml5
-rw-r--r--app/views/explore/projects/starred.html.haml7
-rw-r--r--app/views/explore/projects/trending.html.haml7
-rw-r--r--app/views/layouts/explore.html.haml7
-rw-r--r--app/views/layouts/nav/_dashboard.html.haml59
-rw-r--r--app/views/layouts/nav/_explore.html.haml18
-rw-r--r--app/views/layouts/nav/_snippets.html.haml12
-rw-r--r--app/views/layouts/snippets.html.haml7
-rw-r--r--app/views/snippets/index.html.haml3
19 files changed, 112 insertions, 97 deletions
diff --git a/app/assets/stylesheets/pages/explore.scss b/app/assets/stylesheets/pages/explore.scss
index 9b92128624c..da06fe9954e 100644
--- a/app/assets/stylesheets/pages/explore.scss
+++ b/app/assets/stylesheets/pages/explore.scss
@@ -6,3 +6,11 @@
font-size: 30px;
}
}
+
+.explore-trending-block {
+ .lead {
+ line-height: 32px;
+ font-size: 18px;
+ margin-top: 10px;
+ }
+}
diff --git a/app/controllers/snippets_controller.rb b/app/controllers/snippets_controller.rb
index e6ef636c4f3..8e7e45c781f 100644
--- a/app/controllers/snippets_controller.rb
+++ b/app/controllers/snippets_controller.rb
@@ -9,7 +9,7 @@ class SnippetsController < ApplicationController
skip_before_action :authenticate_user!, only: [:index, :user_index, :show, :raw]
- layout 'dashboard'
+ layout 'snippets'
respond_to :html
def index
diff --git a/app/helpers/explore_helper.rb b/app/helpers/explore_helper.rb
index 7616fe6bad8..0d291f9a87e 100644
--- a/app/helpers/explore_helper.rb
+++ b/app/helpers/explore_helper.rb
@@ -10,7 +10,7 @@ module ExploreHelper
options = exist_opts.merge(options)
- path = request.path
+ path = explore_projects_path
path << "?#{options.to_param}"
path
end
diff --git a/app/helpers/tab_helper.rb b/app/helpers/tab_helper.rb
index 9c99de1c3fa..0e7d8065ac7 100644
--- a/app/helpers/tab_helper.rb
+++ b/app/helpers/tab_helper.rb
@@ -68,7 +68,13 @@ module TabHelper
current_path?(single_path)
end
elsif page = options.delete(:page)
- current_page?(page)
+ unless page.respond_to?(:each)
+ page = [page]
+ end
+
+ page.any? do |single_page|
+ current_page?(single_page)
+ end
else
c = options.delete(:controller)
a = options.delete(:action)
diff --git a/app/views/dashboard/_groups_head.html.haml b/app/views/dashboard/_groups_head.html.haml
new file mode 100644
index 00000000000..8a397a84e0e
--- /dev/null
+++ b/app/views/dashboard/_groups_head.html.haml
@@ -0,0 +1,7 @@
+%ul.center-top-menu
+ = nav_link(page: [dashboard_groups_path]) do
+ = link_to dashboard_groups_path, title: 'Your groups', data: {placement: 'right'} do
+ Your Groups
+ = nav_link(page: [explore_groups_path]) do
+ = link_to explore_groups_path, title: 'Explore groups', data: {toggle: 'tooltip', placement: 'bottom'} do
+ Explore Groups
diff --git a/app/views/dashboard/_projects_head.html.haml b/app/views/dashboard/_projects_head.html.haml
index 7de9480fd8f..f7be194c696 100644
--- a/app/views/dashboard/_projects_head.html.haml
+++ b/app/views/dashboard/_projects_head.html.haml
@@ -1,10 +1,10 @@
%ul.center-top-menu
- = nav_link(path: ['dashboard#show', 'root#show'], html_options: {class: 'home'}) do
+ = nav_link(path: ['dashboard#show', 'root#show']) do
= link_to dashboard_path, title: 'Home', class: 'shortcuts-activity', data: {placement: 'right'} do
Your Projects
- = nav_link(path: 'projects#starred') do
+ = nav_link(page: starred_dashboard_projects_path) do
= link_to starred_dashboard_projects_path, title: 'Starred Projects', data: {placement: 'right'} do
Starred Projects
- = nav_link(controller: :explore) do
+ = nav_link(page: [explore_root_path, trending_explore_projects_path, starred_explore_projects_path, explore_projects_path]) do
= link_to explore_root_path, title: 'Explore', data: {toggle: 'tooltip', placement: 'bottom'} do
Explore Projects
diff --git a/app/views/dashboard/groups/index.html.haml b/app/views/dashboard/groups/index.html.haml
index 0a354373b9b..37315070ea8 100644
--- a/app/views/dashboard/groups/index.html.haml
+++ b/app/views/dashboard/groups/index.html.haml
@@ -1,4 +1,6 @@
- page_title "Groups"
+= render 'dashboard/groups_head'
+
%h3.page-title
Group Membership
- if current_user.can_create_group?
diff --git a/app/views/explore/groups/index.html.haml b/app/views/explore/groups/index.html.haml
index f3f0b778539..c34493d0c20 100644
--- a/app/views/explore/groups/index.html.haml
+++ b/app/views/explore/groups/index.html.haml
@@ -1,4 +1,6 @@
- page_title "Groups"
+- if current_user
+ = render 'dashboard/groups_head'
.clearfix
.pull-left
= form_tag explore_groups_path, method: :get, class: 'form-inline form-tiny' do |f|
diff --git a/app/views/explore/projects/_dropdown.html.haml b/app/views/explore/projects/_dropdown.html.haml
new file mode 100644
index 00000000000..b23a3c1e5c1
--- /dev/null
+++ b/app/views/explore/projects/_dropdown.html.haml
@@ -0,0 +1,27 @@
+.dropdown.inline
+ %button.dropdown-toggle.btn{type: 'button', 'data-toggle' => 'dropdown'}
+ %span.light sort:
+ - if @sort.present?
+ = sort_options_hash[@sort]
+ - elsif current_page?(trending_explore_projects_path) || current_page?(explore_root_path)
+ Trending projects
+ - elsif current_page?(starred_explore_projects_path)
+ Most stars
+ - else
+ = sort_title_recently_created
+ %b.caret
+ %ul.dropdown-menu
+ %li
+ = link_to trending_explore_projects_path do
+ Trending projects
+ = link_to starred_explore_projects_path do
+ Most stars
+ = link_to explore_projects_filter_path(sort: sort_value_recently_created) do
+ = sort_title_recently_created
+ = link_to explore_projects_filter_path(sort: sort_value_oldest_created) do
+ = sort_title_oldest_created
+ = link_to explore_projects_filter_path(sort: sort_value_recently_updated) do
+ = sort_title_recently_updated
+ = link_to explore_projects_filter_path(sort: sort_value_oldest_updated) do
+ = sort_title_oldest_updated
+
diff --git a/app/views/explore/projects/_filter.html.haml b/app/views/explore/projects/_filter.html.haml
index 82622a58ed2..4b91291caf4 100644
--- a/app/views/explore/projects/_filter.html.haml
+++ b/app/views/explore/projects/_filter.html.haml
@@ -46,22 +46,4 @@
= link_to explore_projects_filter_path(tag: tag.name) do
%i.fa.fa-tag
= tag.name
-
- .dropdown.inline
- %button.dropdown-toggle.btn{type: 'button', 'data-toggle' => 'dropdown'}
- %span.light sort:
- - if @sort.present?
- = sort_options_hash[@sort]
- - else
- = sort_title_recently_created
- %b.caret
- %ul.dropdown-menu
- %li
- = link_to explore_projects_filter_path(sort: sort_value_recently_created) do
- = sort_title_recently_created
- = link_to explore_projects_filter_path(sort: sort_value_oldest_created) do
- = sort_title_oldest_created
- = link_to explore_projects_filter_path(sort: sort_value_recently_updated) do
- = sort_title_recently_updated
- = link_to explore_projects_filter_path(sort: sort_value_oldest_updated) do
- = sort_title_oldest_updated
+ = render 'explore/projects/dropdown'
diff --git a/app/views/explore/projects/index.html.haml b/app/views/explore/projects/index.html.haml
index ba2276f51ce..4956081e1ed 100644
--- a/app/views/explore/projects/index.html.haml
+++ b/app/views/explore/projects/index.html.haml
@@ -1,8 +1,9 @@
- page_title "Projects"
+- if current_user
+ = render 'dashboard/projects_head'
.clearfix
= render 'filter'
-
-%hr
+%br
.public-projects
%ul.bordered-list.top-list
= render @projects
diff --git a/app/views/explore/projects/starred.html.haml b/app/views/explore/projects/starred.html.haml
index b5d146b1f2f..fdccbe5692f 100644
--- a/app/views/explore/projects/starred.html.haml
+++ b/app/views/explore/projects/starred.html.haml
@@ -1,9 +1,12 @@
- page_title "Starred Projects"
+- if current_user
+ = render 'dashboard/projects_head'
.explore-trending-block
- %p.lead
+ .lead
%i.fa.fa-star
See most starred projects
- %hr
+ .pull-right
+ = render 'explore/projects/dropdown'
.public-projects
%ul.bordered-list
= render @starred_projects
diff --git a/app/views/explore/projects/trending.html.haml b/app/views/explore/projects/trending.html.haml
index 5e24df76a63..98a4174b426 100644
--- a/app/views/explore/projects/trending.html.haml
+++ b/app/views/explore/projects/trending.html.haml
@@ -1,4 +1,6 @@
- page_title "Trending Projects"
+- if current_user
+ = render 'dashboard/projects_head'
.explore-title
%h3
Explore GitLab
@@ -6,10 +8,11 @@
Discover projects and groups. Share your projects with others
%hr
.explore-trending-block
- %p.lead
+ .lead
%i.fa.fa-comments-o
See most discussed projects for last month
- %hr
+ .pull-right
+ = render 'explore/projects/dropdown'
.public-projects
%ul.bordered-list
= render @trending_projects
diff --git a/app/views/layouts/explore.html.haml b/app/views/layouts/explore.html.haml
index 56bb92a536e..17fee9c510d 100644
--- a/app/views/layouts/explore.html.haml
+++ b/app/views/layouts/explore.html.haml
@@ -1,5 +1,8 @@
- page_title "Explore"
-- header_title "Explore GitLab", explore_root_path
-- sidebar "explore"
+- if current_user
+ - header_title "Dashboard", root_path
+- else
+ - header_title "Explore GitLab", explore_root_path
+- sidebar "dashboard"
= render template: "layouts/application"
diff --git a/app/views/layouts/nav/_dashboard.html.haml b/app/views/layouts/nav/_dashboard.html.haml
index a77d39acb8c..8f010196d1a 100644
--- a/app/views/layouts/nav/_dashboard.html.haml
+++ b/app/views/layouts/nav/_dashboard.html.haml
@@ -1,46 +1,43 @@
%ul.nav.nav-sidebar
- = nav_link(path: ['dashboard#show', 'root#show', 'projects#starred'], html_options: {class: 'home'}) do
- = link_to root_path, title: 'Home', class: 'shortcuts-activity', data: {placement: 'right'} do
+ = nav_link(path: ['dashboard#show', 'root#show', 'projects#trending', 'projects#starred', 'projects#index'], html_options: {class: 'home'}) do
+ = link_to (current_user ? root_path : explore_root_path), title: 'Home', class: 'shortcuts-activity', data: {placement: 'right'} do
= icon('dashboard fw')
%span
Projects
- -#= nav_link(path: 'projects#starred') do
- -#= link_to starred_dashboard_projects_path, title: 'Starred Projects', data: {placement: 'right'} do
- -#= icon('star fw')
- -#%span
- -#Starred Projects
= nav_link(controller: :groups) do
- = link_to dashboard_groups_path, title: 'Groups', data: {placement: 'right'} do
+ = link_to (current_user ? dashboard_groups_path : explore_groups_path), title: 'Groups', data: {placement: 'right'} do
= icon('group fw')
%span
Groups
- = nav_link(controller: :milestones) do
- = link_to dashboard_milestones_path, title: 'Milestones', data: {placement: 'right'} do
- = icon('clock-o fw')
- %span
- Milestones
- = nav_link(path: 'dashboard#issues') do
- = link_to assigned_issues_dashboard_path, title: 'Issues', class: 'shortcuts-issues', data: {placement: 'right'} do
- = icon('exclamation-circle fw')
- %span
- Issues
- %span.count= current_user.assigned_issues.opened.count
- = nav_link(path: 'dashboard#merge_requests') do
- = link_to assigned_mrs_dashboard_path, title: 'Merge Requests', class: 'shortcuts-merge_requests', data: {placement: 'right'} do
- = icon('tasks fw')
- %span
- Merge Requests
- %span.count= current_user.assigned_merge_requests.opened.count
+ - if current_user
+ = nav_link(controller: :milestones) do
+ = link_to dashboard_milestones_path, title: 'Milestones', data: {placement: 'right'} do
+ = icon('clock-o fw')
+ %span
+ Milestones
+ = nav_link(path: 'dashboard#issues') do
+ = link_to assigned_issues_dashboard_path, title: 'Issues', class: 'shortcuts-issues', data: {placement: 'right'} do
+ = icon('exclamation-circle fw')
+ %span
+ Issues
+ %span.count= current_user.assigned_issues.opened.count
+ = nav_link(path: 'dashboard#merge_requests') do
+ = link_to assigned_mrs_dashboard_path, title: 'Merge Requests', class: 'shortcuts-merge_requests', data: {placement: 'right'} do
+ = icon('tasks fw')
+ %span
+ Merge Requests
+ %span.count= current_user.assigned_merge_requests.opened.count
= nav_link(controller: :snippets) do
- = link_to user_snippets_path(current_user), title: 'Your snippets', data: {placement: 'right'} do
+ = link_to (current_user ? user_snippets_path(current_user) : snippets_path), title: 'Your snippets', data: {placement: 'right'} do
= icon('dashboard fw')
%span
Snippets
- = nav_link(controller: :profile) do
- = link_to profile_path, title: 'Profile settings', data: {toggle: 'tooltip', placement: 'bottom'} do
- = icon('user fw')
- %span
- Profile
+ - if current_user
+ = nav_link(controller: :profile) do
+ = link_to profile_path, title: 'Profile settings', data: {toggle: 'tooltip', placement: 'bottom'} do
+ = icon('user fw')
+ %span
+ Profile
= nav_link(controller: :help) do
= link_to help_path, title: 'Help', data: {placement: 'right'} do
= icon('question-circle fw')
diff --git a/app/views/layouts/nav/_explore.html.haml b/app/views/layouts/nav/_explore.html.haml
deleted file mode 100644
index 66870e84ceb..00000000000
--- a/app/views/layouts/nav/_explore.html.haml
+++ /dev/null
@@ -1,18 +0,0 @@
-%ul.nav.nav-sidebar
- = nav_link(path: 'projects#trending') do
- = link_to explore_root_path, title: 'Trending Projects', data: {placement: 'right'} do
- = icon('comments fw')
- %span Trending Projects
- = nav_link(path: 'projects#starred') do
- = link_to starred_explore_projects_path, title: 'Most-starred Projects', data: {placement: 'right'} do
- = icon('star fw')
- %span Most-starred Projects
- = nav_link(path: 'projects#index') do
- = link_to explore_projects_path, title: 'All Projects', data: {placement: 'right'} do
- = icon('bookmark fw')
- %span All Projects
- = nav_link(controller: :groups) do
- = link_to explore_groups_path, title: 'All Groups', data: {placement: 'right'} do
- = icon('group fw')
- %span All Groups
-
diff --git a/app/views/layouts/nav/_snippets.html.haml b/app/views/layouts/nav/_snippets.html.haml
deleted file mode 100644
index 458b76a2c99..00000000000
--- a/app/views/layouts/nav/_snippets.html.haml
+++ /dev/null
@@ -1,12 +0,0 @@
-%ul.nav.nav-sidebar
- - if current_user
- = nav_link(path: user_snippets_path(current_user), html_options: {class: 'home'}) do
- = link_to user_snippets_path(current_user), title: 'Your snippets', data: {placement: 'right'} do
- = icon('dashboard fw')
- %span
- Your Snippets
- = nav_link(path: snippets_path) do
- = link_to snippets_path, title: 'Discover snippets', data: {placement: 'right'} do
- = icon('globe fw')
- %span
- Discover Snippets
diff --git a/app/views/layouts/snippets.html.haml b/app/views/layouts/snippets.html.haml
index 9b0f40073ab..b77fe09fc2a 100644
--- a/app/views/layouts/snippets.html.haml
+++ b/app/views/layouts/snippets.html.haml
@@ -1,5 +1,8 @@
- page_title 'Snippets'
-- header_title 'Snippets', snippets_path
-- sidebar "snippets"
+- if current_user
+ - header_title "Dashboard", root_path
+- else
+ - header_title 'Snippets', snippets_path
+- sidebar "dashboard"
= render template: "layouts/application"
diff --git a/app/views/snippets/index.html.haml b/app/views/snippets/index.html.haml
index dc45cfacd84..cd65bf6f681 100644
--- a/app/views/snippets/index.html.haml
+++ b/app/views/snippets/index.html.haml
@@ -1,5 +1,6 @@
- page_title "Public Snippets"
-= render 'head'
+- if current_user
+ = render 'head'
%h3.page-title
Public snippets