diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-04-27 07:36:42 +0000 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-04-27 07:36:42 +0000 |
commit | 6de7f94f00eb790def76b0fea15830180e25a0cb (patch) | |
tree | b029b326003af97355a4518d5533cbd707c463dd | |
parent | a64b5e3c60ab1fe295a397422750e026c35aae97 (diff) | |
parent | 1e1785cc1699f33e4c1f98cde71fc19d1be10d6a (diff) | |
download | gitlab-ce-6de7f94f00eb790def76b0fea15830180e25a0cb.tar.gz |
Merge branch 'rs-minor-styles' into 'master'
Minor design change grab-bag :tada:
I started with one simple change and found a few more, so here they are.
### Simplify icon style selectors
All FontAwesome icons have an `fa` class, so just use that.
### Don't override color of code blocks in notes
This was a pet peeve of mine.
| Before | After |
|:------:|:-----:|
|  |  |
### Items with tooltips don't need a 'data-original-title' attribute
This attribute gets added dynamically by Bootstrap's tooltip JS based on the `title` attribute
### Fix Profile > Design live-updating
`ui_blue` wasn't added to the list of classes to remove, so if a user changed to that theme, any subsequent changes wouldn't be live-updated.
This change refactors Gitlab::Theme a bit to make it harder for this to happen in the future with new themes.
### Remove the `has_bottom_tooltip` class
Bootstrap's tooltip JS can read the placement from a `data-placement` attribute.
Further, when we supply the `selector` option to `tooltip`, tooltips will be added to any dynamically-added elements matching the selector, without us having to re-call the `tooltip` method.
See merge request !569
-rw-r--r-- | app/assets/javascripts/application.js.coffee | 15 | ||||
-rw-r--r-- | app/assets/stylesheets/base/gl_bootstrap.scss | 2 | ||||
-rw-r--r-- | app/assets/stylesheets/base/mixins.scss | 1 | ||||
-rw-r--r-- | app/assets/stylesheets/pages/notes.scss | 2 | ||||
-rw-r--r-- | app/views/groups/_settings_nav.html.haml | 8 | ||||
-rw-r--r-- | app/views/layouts/_head_panel.html.haml | 43 | ||||
-rw-r--r-- | app/views/layouts/_page.html.haml | 4 | ||||
-rw-r--r-- | app/views/layouts/nav/_admin.html.haml | 22 | ||||
-rw-r--r-- | app/views/layouts/nav/_dashboard.html.haml | 14 | ||||
-rw-r--r-- | app/views/layouts/nav/_explore.html.haml | 10 | ||||
-rw-r--r-- | app/views/layouts/nav/_group.html.haml | 12 | ||||
-rw-r--r-- | app/views/layouts/nav/_profile.html.haml | 18 | ||||
-rw-r--r-- | app/views/layouts/nav/_project.html.haml | 28 | ||||
-rw-r--r-- | app/views/layouts/nav/_snippets.html.haml | 4 | ||||
-rw-r--r-- | app/views/profiles/update.js.erb | 8 | ||||
-rw-r--r-- | app/views/projects/_settings_nav.html.haml | 24 | ||||
-rw-r--r-- | features/steps/dashboard/new_project.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/theme.rb | 39 |
18 files changed, 133 insertions, 125 deletions
diff --git a/app/assets/javascripts/application.js.coffee b/app/assets/javascripts/application.js.coffee index 020c103dbc5..bb9da147018 100644 --- a/app/assets/javascripts/application.js.coffee +++ b/app/assets/javascripts/application.js.coffee @@ -132,10 +132,17 @@ $ -> ), 1 # Initialize tooltips - $('.has_tooltip').tooltip() - - # Bottom tooltip - $('.has_bottom_tooltip').tooltip(placement: 'bottom') + $('body').tooltip({ + selector: '.has_tooltip, [data-toggle="tooltip"], .page-sidebar-collapsed .nav-sidebar a' + placement: (_, el) -> + $el = $(el) + if $el.attr('id') == 'js-shortcuts-home' + # Place the logo tooltip on the right when collapsed, bottom when expanded + $el.parents('header').hasClass('header-collapsed') and 'right' or 'bottom' + else + # Otherwise use the data-placement attribute like normal + $el.data('placement') + }) # Form submitter $('.trigger-submit').on 'change', -> diff --git a/app/assets/stylesheets/base/gl_bootstrap.scss b/app/assets/stylesheets/base/gl_bootstrap.scss index 62a3eade5c7..427f333423c 100644 --- a/app/assets/stylesheets/base/gl_bootstrap.scss +++ b/app/assets/stylesheets/base/gl_bootstrap.scss @@ -117,7 +117,7 @@ color: #888; text-shadow: 0 1px 1px #fff; } - i[class~="fa"] { + i.fa { line-height: 14px; } } diff --git a/app/assets/stylesheets/base/mixins.scss b/app/assets/stylesheets/base/mixins.scss index feff931156c..b8b163a42b2 100644 --- a/app/assets/stylesheets/base/mixins.scss +++ b/app/assets/stylesheets/base/mixins.scss @@ -106,7 +106,6 @@ p > code { font-size: inherit; font-weight: inherit; - color: #555; } li { diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss index facd7e19314..97b19deb3ed 100644 --- a/app/assets/stylesheets/pages/notes.scss +++ b/app/assets/stylesheets/pages/notes.scss @@ -136,7 +136,7 @@ ul.notes { display: none; float: right; - [class~="fa"] { + i.fa { font-size: 16px; line-height: 16px; vertical-align: middle; diff --git a/app/views/groups/_settings_nav.html.haml b/app/views/groups/_settings_nav.html.haml index e6aee22e529..f93caf90076 100644 --- a/app/views/groups/_settings_nav.html.haml +++ b/app/views/groups/_settings_nav.html.haml @@ -1,11 +1,11 @@ %ul.sidebar-subnav = nav_link(path: 'groups#edit') do - = link_to edit_group_path(@group), title: 'Group' do - %i.fa.fa-pencil-square-o + = link_to edit_group_path(@group), title: 'Group', data: {placement: 'right'} do + = icon('pencil-square-o') %span Group = nav_link(path: 'groups#projects') do - = link_to projects_group_path(@group), title: 'Projects' do - %i.fa.fa-folder + = link_to projects_group_path(@group), title: 'Projects', data: {placement: 'right'} do + = icon('folder') %span Projects diff --git a/app/views/layouts/_head_panel.html.haml b/app/views/layouts/_head_panel.html.haml index 281ce31fe9c..8d4c7b39b19 100644 --- a/app/views/layouts/_head_panel.html.haml +++ b/app/views/layouts/_head_panel.html.haml @@ -2,48 +2,47 @@ .navbar-inner .container %div.app_logo - = link_to root_path, class: "home has_bottom_tooltip", title: "Dashboard" do + = link_to root_path, class: 'home', title: 'Dashboard', id: 'js-shortcuts-home', data: {toggle: 'tooltip', placement: 'bottom'} do = brand_header_logo %h3 GitLab %h1.title= title - %button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", type: "button"} + %button.navbar-toggle{type: 'button', data: {target: '.navbar-collapse', toggle: 'collapse'}} %span.sr-only Toggle navigation - %i.fa.fa-bars + = icon('bars') .navbar-collapse.collapse %ul.nav.navbar-nav %li.hidden-sm.hidden-xs - = render "layouts/search" + = render 'layouts/search' %li.visible-sm.visible-xs - = link_to search_path, title: "Search", class: 'has_bottom_tooltip', 'data-original-title' => 'Search area' do - %i.fa.fa-search + = link_to search_path, title: 'Search', data: {toggle: 'tooltip', placement: 'bottom'} do + = icon('search') %li - = link_to help_path, title: 'Help', class: 'has_bottom_tooltip', - 'data-original-title' => 'Help' do - %i.fa.fa-question-circle + = link_to help_path, title: 'Help', data: {toggle: 'tooltip', placement: 'bottom'} do + = icon('question-circle') %li - = link_to explore_root_path, title: "Explore", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do - %i.fa.fa-globe + = link_to explore_root_path, title: 'Explore', data: {toggle: 'tooltip', placement: 'bottom'} do + = icon('globe') %li - = link_to user_snippets_path(current_user), title: "Your snippets", class: 'has_bottom_tooltip', 'data-original-title' => 'Your snippets' do - %i.fa.fa-clipboard + = link_to user_snippets_path(current_user), title: 'Your snippets', data: {toggle: 'tooltip', placement: 'bottom'} do + = icon('clipboard') - if current_user.is_admin? %li - = link_to admin_root_path, title: "Admin area", class: 'has_bottom_tooltip', 'data-original-title' => 'Admin area' do - %i.fa.fa-cogs + = link_to admin_root_path, title: 'Admin area', data: {toggle: 'tooltip', placement: 'bottom'} do + = icon('cogs') - if current_user.can_create_project? %li - = link_to new_project_path, title: "New project", class: 'has_bottom_tooltip', 'data-original-title' => 'New project' do - %i.fa.fa-plus + = link_to new_project_path, title: 'New project', data: {toggle: 'tooltip', placement: 'bottom'} do + = icon('plus') %li - = link_to profile_path, title: "Profile settings", class: 'has_bottom_tooltip', 'data-original-title' => 'Profile settings"' do - %i.fa.fa-user + = link_to profile_path, title: 'Profile settings', data: {toggle: 'tooltip', placement: 'bottom'} do + = icon('user') %li - = link_to destroy_user_session_path, class: "logout", method: :delete, title: "Sign out", class: 'has_bottom_tooltip', 'data-original-title' => 'Sign out' do - %i.fa.fa-sign-out + = link_to destroy_user_session_path, class: 'logout', method: :delete, title: 'Sign out', data: {toggle: 'tooltip', placement: 'bottom'} do + = icon('sign-out') %li.hidden-xs - = link_to current_user, class: "profile-pic has_bottom_tooltip", id: 'profile-pic', 'data-original-title' => 'Your profile' do + = link_to current_user, class: 'profile-pic', id: 'profile-pic', data: {toggle: 'tooltip', placement: 'bottom'} do = image_tag avatar_icon(current_user.email, 60), alt: 'User activity' = render 'shared/outdated_browser' diff --git a/app/views/layouts/_page.html.haml b/app/views/layouts/_page.html.haml index 1c164800b0e..0fa2ec9824d 100644 --- a/app/views/layouts/_page.html.haml +++ b/app/views/layouts/_page.html.haml @@ -15,7 +15,3 @@ = yield = yield :embedded_scripts - -:coffeescript - $('.page-sidebar-collapsed .nav-sidebar a').tooltip placement: "right" - diff --git a/app/views/layouts/nav/_admin.html.haml b/app/views/layouts/nav/_admin.html.haml index 372fe9a6d36..a3191593dae 100644 --- a/app/views/layouts/nav/_admin.html.haml +++ b/app/views/layouts/nav/_admin.html.haml @@ -5,60 +5,60 @@ %span Overview = nav_link(controller: :projects) do - = link_to admin_namespaces_projects_path, title: 'Projects' do + = link_to admin_namespaces_projects_path, title: 'Projects', data: {placement: 'right'} do = icon('cube fw') %span Projects = nav_link(controller: :users) do - = link_to admin_users_path, title: 'Users' do + = link_to admin_users_path, title: 'Users', data: {placement: 'right'} do = icon('user fw') %span Users = nav_link(controller: :groups) do - = link_to admin_groups_path, title: 'Groups' do + = link_to admin_groups_path, title: 'Groups', data: {placement: 'right'} do = icon('group fw') %span Groups = nav_link(controller: :deploy_keys) do - = link_to admin_deploy_keys_path, title: 'Deploy Keys' do + = link_to admin_deploy_keys_path, title: 'Deploy Keys', data: {placement: 'right'} do = icon('key fw') %span Deploy Keys = nav_link(controller: :logs) do - = link_to admin_logs_path, title: 'Logs' do + = link_to admin_logs_path, title: 'Logs', data: {placement: 'right'} do = icon('file-text fw') %span Logs = nav_link(controller: :broadcast_messages) do - = link_to admin_broadcast_messages_path, title: 'Broadcast Messages' do + = link_to admin_broadcast_messages_path, title: 'Broadcast Messages', data: {placement: 'right'} do = icon('bullhorn fw') %span Messages = nav_link(controller: :hooks) do - = link_to admin_hooks_path, title: 'Hooks' do + = link_to admin_hooks_path, title: 'Hooks', data: {placement: 'right'} do = icon('external-link fw') %span Hooks = nav_link(controller: :background_jobs) do - = link_to admin_background_jobs_path, title: 'Background Jobs' do + = link_to admin_background_jobs_path, title: 'Background Jobs', data: {placement: 'right'} do = icon('cog fw') %span Background Jobs = nav_link(controller: :applications) do - = link_to admin_applications_path, title: 'Applications' do + = link_to admin_applications_path, title: 'Applications', data: {placement: 'right'} do = icon('cloud fw') %span Applications = nav_link(controller: :services) do - = link_to admin_application_settings_services_path, title: 'Service Templates' do + = link_to admin_application_settings_services_path, title: 'Service Templates', data: {placement: 'right'} do = icon('copy fw') %span Service Templates = nav_link(controller: :application_settings, html_options: { class: 'separate-item'}) do - = link_to admin_application_settings_path, title: 'Settings' do + = link_to admin_application_settings_path, title: 'Settings', data: {placement: 'right'} do = icon('cogs fw') %span Settings diff --git a/app/views/layouts/nav/_dashboard.html.haml b/app/views/layouts/nav/_dashboard.html.haml index c5997e44370..d46dba4a240 100644 --- a/app/views/layouts/nav/_dashboard.html.haml +++ b/app/views/layouts/nav/_dashboard.html.haml @@ -1,38 +1,38 @@ %ul.nav.nav-sidebar = nav_link(path: 'dashboard#show', html_options: {class: 'home'}) do - = link_to root_path, title: 'Home', class: 'shortcuts-activity' do + = link_to root_path, title: 'Home', class: 'shortcuts-activity', data: {placement: 'right'} do = icon('dashboard fw') %span Your Projects = nav_link(path: 'projects#starred') do - = link_to starred_dashboard_projects_path, title: 'Starred Projects' 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' do + = link_to dashboard_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' 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' 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' 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: :help) do - = link_to help_path, title: 'Help' do + = link_to help_path, title: 'Help', data: {placement: 'right'} do = icon('question-circle fw') %span Help diff --git a/app/views/layouts/nav/_explore.html.haml b/app/views/layouts/nav/_explore.html.haml index 38d84cd9b51..66870e84ceb 100644 --- a/app/views/layouts/nav/_explore.html.haml +++ b/app/views/layouts/nav/_explore.html.haml @@ -1,18 +1,18 @@ %ul.nav.nav-sidebar = nav_link(path: 'projects#trending') do - = link_to explore_root_path 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 do + = link_to starred_explore_projects_path, title: 'Most-starred Projects', data: {placement: 'right'} do = icon('star fw') - %span Most Starred Projects + %span Most-starred Projects = nav_link(path: 'projects#index') do - = link_to explore_projects_path 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 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/_group.html.haml b/app/views/layouts/nav/_group.html.haml index 7cce9ffe3d5..74a8526dbd7 100644 --- a/app/views/layouts/nav/_group.html.haml +++ b/app/views/layouts/nav/_group.html.haml @@ -1,38 +1,38 @@ %ul.nav.nav-sidebar = nav_link(path: 'groups#show', html_options: {class: 'home'}) do - = link_to group_path(@group), title: "Home" do + = link_to group_path(@group), title: 'Home', data: {placement: 'right'} do = icon('dashboard fw') %span Activity - if current_user = nav_link(controller: [:group, :milestones]) do - = link_to group_milestones_path(@group), title: 'Milestones' do + = link_to group_milestones_path(@group), title: 'Milestones', data: {placement: 'right'} do = icon('clock-o fw') %span Milestones = nav_link(path: 'groups#issues') do - = link_to issues_group_path(@group), title: 'Issues' do + = link_to issues_group_path(@group), title: 'Issues', data: {placement: 'right'} do = icon('exclamation-circle fw') %span Issues - if current_user %span.count= Issue.opened.of_group(@group).count = nav_link(path: 'groups#merge_requests') do - = link_to merge_requests_group_path(@group), title: 'Merge Requests' do + = link_to merge_requests_group_path(@group), title: 'Merge Requests', data: {placement: 'right'} do = icon('tasks fw') %span Merge Requests - if current_user %span.count= MergeRequest.opened.of_group(@group).count = nav_link(controller: [:group_members]) do - = link_to group_group_members_path(@group), title: 'Members' do + = link_to group_group_members_path(@group), title: 'Members', data: {placement: 'right'} do = icon('users fw') %span Members - if can?(current_user, :admin_group, @group) = nav_link(html_options: { class: "#{"active" if group_settings_page?} separate-item" }) do - = link_to edit_group_path(@group), title: 'Settings', class: "tab no-highlight" do + = link_to edit_group_path(@group), title: 'Settings', class: 'tab no-highlight', data: {placement: 'right'} do = icon ('cogs fw') %span Settings diff --git a/app/views/layouts/nav/_profile.html.haml b/app/views/layouts/nav/_profile.html.haml index 9f2932c79cd..31d8ed3ed86 100644 --- a/app/views/layouts/nav/_profile.html.haml +++ b/app/views/layouts/nav/_profile.html.haml @@ -1,50 +1,50 @@ %ul.nav.nav-sidebar = nav_link(path: 'profiles#show', html_options: {class: 'home'}) do - = link_to profile_path, title: "Profile" do + = link_to profile_path, title: 'Profile', data: {placement: 'right'} do = icon('user fw') %span Profile = nav_link(controller: :accounts) do - = link_to profile_account_path, title: 'Account' do + = link_to profile_account_path, title: 'Account', data: {placement: 'right'} do = icon('gear fw') %span Account = nav_link(path: ['profiles#applications', 'applications#edit', 'applications#show', 'applications#new']) do - = link_to applications_profile_path, title: 'Applications' do + = link_to applications_profile_path, title: 'Applications', data: {placement: 'right'} do = icon('cloud fw') %span Applications = nav_link(controller: :emails) do - = link_to profile_emails_path, title: 'Emails' do + = link_to profile_emails_path, title: 'Emails', data: {placement: 'right'} do = icon('envelope-o fw') %span Emails %span.count= current_user.emails.count + 1 - unless current_user.ldap_user? = nav_link(controller: :passwords) do - = link_to edit_profile_password_path, title: 'Password' do + = link_to edit_profile_password_path, title: 'Password', data: {placement: 'right'} do = icon('lock fw') %span Password = nav_link(controller: :notifications) do - = link_to profile_notifications_path, title: 'Notifications' do + = link_to profile_notifications_path, title: 'Notifications', data: {placement: 'right'} do = icon('inbox fw') %span Notifications = nav_link(controller: :keys) do - = link_to profile_keys_path, title: 'SSH Keys' do + = link_to profile_keys_path, title: 'SSH Keys', data: {placement: 'right'} do = icon('key fw') %span SSH Keys %span.count= current_user.keys.count = nav_link(path: 'profiles#design') do - = link_to design_profile_path, title: 'Design' do + = link_to design_profile_path, title: 'Design', data: {placement: 'right'} do = icon('image fw') %span Design = nav_link(path: 'profiles#history') do - = link_to history_profile_path, title: 'History' do + = link_to history_profile_path, title: 'History', data: {placement: 'right'} do = icon('history fw') %span History diff --git a/app/views/layouts/nav/_project.html.haml b/app/views/layouts/nav/_project.html.haml index a2a9d8a340b..01b3d70194f 100644 --- a/app/views/layouts/nav/_project.html.haml +++ b/app/views/layouts/nav/_project.html.haml @@ -1,7 +1,7 @@ %ul.project-navigation.nav.nav-sidebar - if @project_settings_nav = nav_link do - = link_to project_path(@project), title: 'Back to project', class: "" do + = link_to project_path(@project), title: 'Back to project', data: {placement: 'right'} do = icon('caret-square-o-left fw') %span Back to project @@ -11,49 +11,49 @@ = render 'projects/settings_nav' - else - = nav_link(path: 'projects#show', html_options: {class: "home"}) do - = link_to project_path(@project), title: 'Project', class: 'shortcuts-project' do + = nav_link(path: 'projects#show', html_options: {class: 'home'}) do + = link_to project_path(@project), title: 'Project', class: 'shortcuts-project', data: {placement: 'right'} do = icon('dashboard fw') %span Project - if project_nav_tab? :files = nav_link(controller: %w(tree blob blame edit_tree new_tree)) do - = link_to namespace_project_tree_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Files', class: 'shortcuts-tree' do + = link_to namespace_project_tree_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Files', class: 'shortcuts-tree', data: {placement: 'right'} do = icon('files-o fw') %span Files - if project_nav_tab? :commits = nav_link(controller: %w(commit commits compare repositories tags branches)) do - = link_to namespace_project_commits_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Commits', class: 'shortcuts-commits' do + = link_to namespace_project_commits_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Commits', class: 'shortcuts-commits', data: {placement: 'right'} do = icon('history fw') %span Commits - if project_nav_tab? :network = nav_link(controller: %w(network)) do - = link_to namespace_project_network_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Network', class: 'shortcuts-network' do + = link_to namespace_project_network_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Network', class: 'shortcuts-network', data: {placement: 'right'} do = icon('code-fork fw') %span Network - if project_nav_tab? :graphs = nav_link(controller: %w(graphs)) do - = link_to namespace_project_graph_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Graphs', class: 'shortcuts-graphs' do + = link_to namespace_project_graph_path(@project.namespace, @project, @ref || @repository.root_ref), title: 'Graphs', class: 'shortcuts-graphs', data: {placement: 'right'} do = icon('area-chart fw') %span Graphs - if project_nav_tab? :milestones = nav_link(controller: :milestones) do - = link_to namespace_project_milestones_path(@project.namespace, @project), title: 'Milestones' do + = link_to namespace_project_milestones_path(@project.namespace, @project), title: 'Milestones', data: {placement: 'right'} do = icon('clock-o fw') %span Milestones - if project_nav_tab? :issues = nav_link(controller: :issues) do - = link_to url_for_project_issues(@project, only_path: true), title: 'Issues', class: 'shortcuts-issues' do + = link_to url_for_project_issues(@project, only_path: true), title: 'Issues', class: 'shortcuts-issues', data: {placement: 'right'} do = icon('exclamation-circle fw') %span Issues @@ -62,7 +62,7 @@ - if project_nav_tab? :merge_requests = nav_link(controller: :merge_requests) do - = link_to namespace_project_merge_requests_path(@project.namespace, @project), title: 'Merge Requests', class: 'shortcuts-merge_requests' do + = link_to namespace_project_merge_requests_path(@project.namespace, @project), title: 'Merge Requests', class: 'shortcuts-merge_requests', data: {placement: 'right'} do = icon('tasks fw') %span Merge Requests @@ -70,28 +70,28 @@ - if project_nav_tab? :labels = nav_link(controller: :labels) do - = link_to namespace_project_labels_path(@project.namespace, @project), title: 'Labels' do + = link_to namespace_project_labels_path(@project.namespace, @project), title: 'Labels', data: {placement: 'right'} do = icon('tags fw') %span Labels - if project_nav_tab? :wiki = nav_link(controller: :wikis) do - = link_to get_project_wiki_path(@project), title: 'Wiki', class: 'shortcuts-wiki' do + = link_to get_project_wiki_path(@project), title: 'Wiki', class: 'shortcuts-wiki', data: {placement: 'right'} do = icon('book fw') %span Wiki - if project_nav_tab? :snippets = nav_link(controller: :snippets) do - = link_to namespace_project_snippets_path(@project.namespace, @project), title: 'Snippets', class: 'shortcuts-snippets' do + = link_to namespace_project_snippets_path(@project.namespace, @project), title: 'Snippets', class: 'shortcuts-snippets', data: {placement: 'right'} do = icon('file-text-o fw') %span Snippets - if project_nav_tab? :settings = nav_link(html_options: {class: "#{project_tab_class} separate-item"}) do - = link_to edit_project_path(@project), title: 'Settings', class: "stat-tab tab no-highlight" do + = link_to edit_project_path(@project), title: 'Settings', class: 'stat-tab tab no-highlight', data: {placement: 'right'} do = icon('cogs fw') %span Settings diff --git a/app/views/layouts/nav/_snippets.html.haml b/app/views/layouts/nav/_snippets.html.haml index edd05f2dd81..0de3a9e5bb7 100644 --- a/app/views/layouts/nav/_snippets.html.haml +++ b/app/views/layouts/nav/_snippets.html.haml @@ -1,11 +1,11 @@ %ul.nav.nav-sidebar = nav_link(path: user_snippets_path(current_user), html_options: {class: 'home'}) do - = link_to user_snippets_path(current_user), title: 'Your snippets' 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' do + = link_to snippets_path, title: 'Discover snippets', data: {placement: 'right'} do = icon('globe fw') %span Discover Snippets diff --git a/app/views/profiles/update.js.erb b/app/views/profiles/update.js.erb index e664ac2a52a..db37619136d 100644 --- a/app/views/profiles/update.js.erb +++ b/app/views/profiles/update.js.erb @@ -1,9 +1,3 @@ // Remove body class for any previous theme, re-add current one -$('body').removeClass('ui_basic ui_mars ui_modern ui_gray ui_color light_theme dark_theme') +$('body').removeClass('<%= Gitlab::Theme.body_classes %>') $('body').addClass('<%= app_theme %> <%= theme_type %>') - -// Re-render the header to reflect the new theme -$('header').html('<%= escape_javascript(render("layouts/head_panel", title: "Profile")) %>') - -// Re-initialize header tooltips -$('.has_bottom_tooltip').tooltip({placement: 'bottom'}) diff --git a/app/views/projects/_settings_nav.html.haml b/app/views/projects/_settings_nav.html.haml index 281a84a3d3c..f8b74809b76 100644 --- a/app/views/projects/_settings_nav.html.haml +++ b/app/views/projects/_settings_nav.html.haml @@ -1,31 +1,31 @@ %ul.project-settings-nav.sidebar-subnav = nav_link(path: 'projects#edit') do - = link_to edit_project_path(@project), title: 'Project', class: "stat-tab tab " do - %i.fa.fa-pencil-square-o + = link_to edit_project_path(@project), title: 'Project', class: 'stat-tab tab', data: {placement: 'right'} do + = icon('pencil-square-o') %span Project = nav_link(controller: [:project_members, :teams]) do - = link_to namespace_project_project_members_path(@project.namespace, @project), title: 'Members', class: "team-tab tab" do - %i.fa.fa-users + = link_to namespace_project_project_members_path(@project.namespace, @project), title: 'Members', class: 'team-tab tab', data: {placement: 'right'} do + = icon('users') %span Members = nav_link(controller: :deploy_keys) do - = link_to namespace_project_deploy_keys_path(@project.namespace, @project), title: 'Deploy Keys' do - %i.fa.fa-key + = link_to namespace_project_deploy_keys_path(@project.namespace, @project), title: 'Deploy Keys', data: {placement: 'right'} do + = icon('key') %span Deploy Keys = nav_link(controller: :hooks) do - = link_to namespace_project_hooks_path(@project.namespace, @project), title: 'Web Hooks' do - %i.fa.fa-link + = link_to namespace_project_hooks_path(@project.namespace, @project), title: 'Web Hooks', data: {placement: 'right'} do + = icon('link') %span Web Hooks = nav_link(controller: :services) do - = link_to namespace_project_services_path(@project.namespace, @project), title: 'Services' do - %i.fa.fa-cogs + = link_to namespace_project_services_path(@project.namespace, @project), title: 'Services', data: {placement: 'right'} do + = icon('cogs') %span Services = nav_link(controller: :protected_branches) do - = link_to namespace_project_protected_branches_path(@project.namespace, @project), title: 'Protected Branches' do - %i.fa.fa-lock + = link_to namespace_project_protected_branches_path(@project.namespace, @project), title: 'Protected Branches', data: {placement: 'right'} do + = icon('lock') %span Protected branches diff --git a/features/steps/dashboard/new_project.rb b/features/steps/dashboard/new_project.rb index 5e588ceb780..93456a81ecf 100644 --- a/features/steps/dashboard/new_project.rb +++ b/features/steps/dashboard/new_project.rb @@ -4,7 +4,9 @@ class Spinach::Features::NewProject < Spinach::FeatureSteps include SharedProject step 'I click "New project" link' do - click_link "New project" + within('.content') do + click_link "New project" + end end step 'I see "New project" page' do diff --git a/lib/gitlab/theme.rb b/lib/gitlab/theme.rb index 43093c7d27e..f0e61aa2e81 100644 --- a/lib/gitlab/theme.rb +++ b/lib/gitlab/theme.rb @@ -7,33 +7,44 @@ module Gitlab COLOR = 5 unless const_defined?(:COLOR) BLUE = 6 unless const_defined?(:BLUE) - def self.css_class_by_id(id) - themes = { - BASIC => "ui_basic", - MARS => "ui_mars", - MODERN => "ui_modern", - GRAY => "ui_gray", - COLOR => "ui_color", - BLUE => "ui_blue" + def self.classes + @classes ||= { + BASIC => 'ui_basic', + MARS => 'ui_mars', + MODERN => 'ui_modern', + GRAY => 'ui_gray', + COLOR => 'ui_color', + BLUE => 'ui_blue' } + end + def self.css_class_by_id(id) id ||= Gitlab.config.gitlab.default_theme - - themes[id] + classes[id] end - def self.type_css_class_by_id(id) - types = { + def self.types + @types ||= { BASIC => 'light_theme', MARS => 'dark_theme', MODERN => 'dark_theme', GRAY => 'dark_theme', - COLOR => 'dark_theme' + COLOR => 'dark_theme', + BLUE => 'light_theme' } + end + def self.type_css_class_by_id(id) id ||= Gitlab.config.gitlab.default_theme - types[id] end + + # Convenience method to get a space-separated String of all the theme + # classes that mighty be applied to the `body` element + # + # Returns a String + def self.body_classes + (classes.values + types.values).uniq.join(' ') + end end end |