nav views refactoring
This commit is contained in:
parent
19ab03f461
commit
8cadeb6750
13 changed files with 218 additions and 205 deletions
|
@ -1,68 +1,64 @@
|
|||
/*
|
||||
* Main Menu of Application
|
||||
*
|
||||
*/
|
||||
ul.main_menu {
|
||||
margin: auto;
|
||||
.main-nav {
|
||||
margin: 30px 0;
|
||||
margin-top: 10px;
|
||||
height: 38px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
.count {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
display: inline-block;
|
||||
height: 15px;
|
||||
margin: 0 0 0 5px;
|
||||
padding: 0 8px 1px 8px;
|
||||
height: auto;
|
||||
font-size: 0.82em;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
color: #777;
|
||||
}
|
||||
.label {
|
||||
background: $hover;
|
||||
text-shadow: none;
|
||||
color: $style_color;
|
||||
}
|
||||
li {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
display: table-cell;
|
||||
width: 1%;
|
||||
border-bottom: 2px solid #EEE;
|
||||
&.active {
|
||||
border-bottom: 2px solid #474D57;
|
||||
a {
|
||||
color: $style_color;
|
||||
}
|
||||
}
|
||||
border-bottom: 1px solid #E1E1E1;
|
||||
|
||||
&.home {
|
||||
a {
|
||||
i {
|
||||
font-size: 20px;
|
||||
position: relative;
|
||||
top: 4px;
|
||||
ul {
|
||||
margin: auto;
|
||||
height: 39px;
|
||||
position: relative;
|
||||
top: 3px;
|
||||
overflow: hidden;
|
||||
.count {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
display: inline-block;
|
||||
height: 15px;
|
||||
margin: 0 0 0 5px;
|
||||
padding: 0 8px 1px 8px;
|
||||
height: auto;
|
||||
font-size: 0.82em;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
color: #777;
|
||||
}
|
||||
.label {
|
||||
background: $hover;
|
||||
text-shadow: none;
|
||||
color: $style_color;
|
||||
}
|
||||
li {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
display: table-cell;
|
||||
width: 1%;
|
||||
&.active {
|
||||
border-bottom: 3px solid #777;
|
||||
a {
|
||||
color: $style_color;
|
||||
font-weight: bolder;
|
||||
}
|
||||
}
|
||||
|
||||
&.home {
|
||||
a {
|
||||
i {
|
||||
font-size: 20px;
|
||||
position: relative;
|
||||
top: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
a {
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-weight: normal;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
color: #777;
|
||||
text-shadow: 0 1px 1px white;
|
||||
padding: 0 10px;
|
||||
a {
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-weight: normal;
|
||||
height: 36px;
|
||||
line-height: 34px;
|
||||
color: #777;
|
||||
text-shadow: 0 1px 1px white;
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
* End of Main Menu
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -4,24 +4,8 @@
|
|||
%body{class: "#{app_theme} admin"}
|
||||
= render "layouts/head_panel", title: "Admin area"
|
||||
= render "layouts/flash"
|
||||
.container
|
||||
%ul.main_menu
|
||||
= nav_link(controller: :dashboard, html_options: {class: 'home'}) do
|
||||
= link_to admin_root_path, title: "Stats" do
|
||||
%i.icon-home
|
||||
= nav_link(controller: :projects) do
|
||||
= link_to "Projects", admin_projects_path
|
||||
= nav_link(controller: :teams) do
|
||||
= link_to "Teams", admin_teams_path
|
||||
= nav_link(controller: :groups) do
|
||||
= link_to "Groups", admin_groups_path
|
||||
= nav_link(controller: :users) do
|
||||
= link_to "Users", admin_users_path
|
||||
= nav_link(controller: :logs) do
|
||||
= link_to "Logs", admin_logs_path
|
||||
= nav_link(controller: :hooks) do
|
||||
= link_to "Hooks", admin_hooks_path
|
||||
= nav_link(controller: :resque) do
|
||||
= link_to "Background Jobs", admin_resque_path
|
||||
%nav.main-nav
|
||||
.container= render 'layouts/nav/admin'
|
||||
|
||||
.container
|
||||
.content= yield
|
||||
|
|
|
@ -4,25 +4,8 @@
|
|||
%body{class: "#{app_theme} application"}
|
||||
= render "layouts/head_panel", title: "Dashboard"
|
||||
= render "layouts/flash"
|
||||
.container
|
||||
%ul.main_menu
|
||||
= nav_link(path: 'dashboard#show', html_options: {class: 'home'}) do
|
||||
= link_to root_path, title: "Home" do
|
||||
%i.icon-home
|
||||
= nav_link(path: 'dashboard#projects') do
|
||||
= link_to projects_dashboard_path do
|
||||
Projects
|
||||
= nav_link(path: 'dashboard#issues') do
|
||||
= link_to issues_dashboard_path do
|
||||
Issues
|
||||
%span.count= current_user.assigned_issues.opened.count
|
||||
= nav_link(path: 'dashboard#merge_requests') do
|
||||
= link_to merge_requests_dashboard_path do
|
||||
Merge Requests
|
||||
%span.count= current_user.cared_merge_requests.opened.count
|
||||
= nav_link(path: 'search#show') do
|
||||
= link_to "Search", search_path
|
||||
= nav_link(controller: :help) do
|
||||
= link_to "Help", help_path
|
||||
%nav.main-nav
|
||||
.container= render 'layouts/nav/dashboard'
|
||||
|
||||
.container
|
||||
.content= yield
|
||||
|
|
|
@ -4,25 +4,8 @@
|
|||
%body{class: "#{app_theme} application"}
|
||||
= render "layouts/head_panel", title: "group: #{@group.name}"
|
||||
= render "layouts/flash"
|
||||
%nav.main-nav
|
||||
.container= render 'layouts/nav/group'
|
||||
|
||||
.container
|
||||
%ul.main_menu
|
||||
= nav_link(path: 'groups#show', html_options: {class: 'home'}) do
|
||||
= link_to group_path(@group), title: "Home" do
|
||||
%i.icon-home
|
||||
= nav_link(path: 'groups#issues') do
|
||||
= link_to issues_group_path(@group) do
|
||||
Issues
|
||||
%span.count= current_user.assigned_issues.opened.of_group(@group).count
|
||||
= nav_link(path: 'groups#merge_requests') do
|
||||
= link_to merge_requests_group_path(@group) do
|
||||
Merge Requests
|
||||
%span.count= current_user.cared_merge_requests.opened.of_group(@group).count
|
||||
= nav_link(path: 'groups#people') do
|
||||
= link_to "People", people_group_path(@group)
|
||||
|
||||
- if can?(current_user, :manage_group, @group)
|
||||
= nav_link(path: 'groups#edit') do
|
||||
= link_to edit_group_path(@group), class: "tab " do
|
||||
Settings
|
||||
|
||||
.content= yield
|
||||
|
|
19
app/views/layouts/nav/_admin.html.haml
Normal file
19
app/views/layouts/nav/_admin.html.haml
Normal file
|
@ -0,0 +1,19 @@
|
|||
%ul
|
||||
= nav_link(controller: :dashboard, html_options: {class: 'home'}) do
|
||||
= link_to admin_root_path, title: "Stats" do
|
||||
%i.icon-home
|
||||
= nav_link(controller: :projects) do
|
||||
= link_to "Projects", admin_projects_path
|
||||
= nav_link(controller: :teams) do
|
||||
= link_to "Teams", admin_teams_path
|
||||
= nav_link(controller: :groups) do
|
||||
= link_to "Groups", admin_groups_path
|
||||
= nav_link(controller: :users) do
|
||||
= link_to "Users", admin_users_path
|
||||
= nav_link(controller: :logs) do
|
||||
= link_to "Logs", admin_logs_path
|
||||
= nav_link(controller: :hooks) do
|
||||
= link_to "Hooks", admin_hooks_path
|
||||
= nav_link(controller: :resque) do
|
||||
= link_to "Background Jobs", admin_resque_path
|
||||
|
20
app/views/layouts/nav/_dashboard.html.haml
Normal file
20
app/views/layouts/nav/_dashboard.html.haml
Normal file
|
@ -0,0 +1,20 @@
|
|||
%ul
|
||||
= nav_link(path: 'dashboard#show', html_options: {class: 'home'}) do
|
||||
= link_to root_path, title: "Home" do
|
||||
%i.icon-home
|
||||
= nav_link(path: 'dashboard#projects') do
|
||||
= link_to projects_dashboard_path do
|
||||
Projects
|
||||
= nav_link(path: 'dashboard#issues') do
|
||||
= link_to issues_dashboard_path do
|
||||
Issues
|
||||
%span.count= current_user.assigned_issues.opened.count
|
||||
= nav_link(path: 'dashboard#merge_requests') do
|
||||
= link_to merge_requests_dashboard_path do
|
||||
Merge Requests
|
||||
%span.count= current_user.cared_merge_requests.opened.count
|
||||
= nav_link(path: 'search#show') do
|
||||
= link_to "Search", search_path
|
||||
= nav_link(controller: :help) do
|
||||
= link_to "Help", help_path
|
||||
|
20
app/views/layouts/nav/_group.html.haml
Normal file
20
app/views/layouts/nav/_group.html.haml
Normal file
|
@ -0,0 +1,20 @@
|
|||
%ul
|
||||
= nav_link(path: 'groups#show', html_options: {class: 'home'}) do
|
||||
= link_to group_path(@group), title: "Home" do
|
||||
%i.icon-home
|
||||
= nav_link(path: 'groups#issues') do
|
||||
= link_to issues_group_path(@group) do
|
||||
Issues
|
||||
%span.count= current_user.assigned_issues.opened.of_group(@group).count
|
||||
= nav_link(path: 'groups#merge_requests') do
|
||||
= link_to merge_requests_group_path(@group) do
|
||||
Merge Requests
|
||||
%span.count= current_user.cared_merge_requests.opened.of_group(@group).count
|
||||
= nav_link(path: 'groups#people') do
|
||||
= link_to "People", people_group_path(@group)
|
||||
|
||||
- if can?(current_user, :manage_group, @group)
|
||||
= nav_link(path: 'groups#edit') do
|
||||
= link_to edit_group_path(@group), class: "tab " do
|
||||
Settings
|
||||
|
17
app/views/layouts/nav/_profile.html.haml
Normal file
17
app/views/layouts/nav/_profile.html.haml
Normal file
|
@ -0,0 +1,17 @@
|
|||
%ul
|
||||
= nav_link(path: 'profiles#show', html_options: {class: 'home'}) do
|
||||
= link_to profile_path, title: "Profile" do
|
||||
%i.icon-home
|
||||
= nav_link(path: 'profiles#account') do
|
||||
= link_to "Account", account_profile_path
|
||||
= nav_link(controller: :notifications) do
|
||||
= link_to "Notifications", profile_notifications_path
|
||||
= nav_link(controller: :keys) do
|
||||
= link_to keys_path do
|
||||
SSH Keys
|
||||
%span.count= current_user.keys.count
|
||||
= nav_link(path: 'profiles#design') do
|
||||
= link_to "Design", design_profile_path
|
||||
= nav_link(path: 'profiles#history') do
|
||||
= link_to "History", history_profile_path
|
||||
|
43
app/views/layouts/nav/_project.html.haml
Normal file
43
app/views/layouts/nav/_project.html.haml
Normal file
|
@ -0,0 +1,43 @@
|
|||
%ul
|
||||
= nav_link(path: 'projects#show', html_options: {class: "home"}) do
|
||||
= link_to project_path(@project), title: "Project" do
|
||||
%i.icon-home
|
||||
|
||||
- unless @project.empty_repo?
|
||||
- if can? current_user, :download_code, @project
|
||||
= nav_link(controller: %w(tree blob blame)) do
|
||||
= link_to 'Files', project_tree_path(@project, @ref || @repository.root_ref)
|
||||
= nav_link(controller: %w(commit commits compare repositories protected_branches)) do
|
||||
= link_to "Commits", project_commits_path(@project, @ref || @repository.root_ref)
|
||||
= nav_link(controller: %w(graph)) do
|
||||
= link_to "Network", project_graph_path(@project, @ref || @repository.root_ref)
|
||||
|
||||
- if @project.issues_enabled
|
||||
= nav_link(controller: %w(issues milestones labels)) do
|
||||
= link_to url_for_project_issues do
|
||||
Issues
|
||||
- if @project.used_default_issues_tracker?
|
||||
%span.count.issue_counter= @project.issues.opened.count
|
||||
|
||||
- if @project.repo_exists? && @project.merge_requests_enabled
|
||||
= nav_link(controller: :merge_requests) do
|
||||
= link_to project_merge_requests_path(@project) do
|
||||
Merge Requests
|
||||
%span.count.merge_counter= @project.merge_requests.opened.count
|
||||
|
||||
- if @project.wiki_enabled
|
||||
= nav_link(controller: :wikis) do
|
||||
= link_to 'Wiki', project_wiki_path(@project, :home)
|
||||
|
||||
- if @project.wall_enabled
|
||||
= nav_link(controller: :walls) do
|
||||
= link_to 'Wall', project_wall_path(@project)
|
||||
|
||||
- if @project.snippets_enabled
|
||||
= nav_link(controller: :snippets) do
|
||||
= link_to 'Snippets', project_snippets_path(@project)
|
||||
|
||||
- if can? current_user, :admin_project, @project
|
||||
= nav_link(html_options: {class: "#{project_tab_class}"}) do
|
||||
= link_to edit_project_path(@project), class: "stat-tab tab " do
|
||||
Settings
|
25
app/views/layouts/nav/_team.html.haml
Normal file
25
app/views/layouts/nav/_team.html.haml
Normal file
|
@ -0,0 +1,25 @@
|
|||
%ul
|
||||
= nav_link(path: 'teams#show', html_options: {class: 'home'}) do
|
||||
= link_to team_path(@team), title: "Home" do
|
||||
%i.icon-home
|
||||
|
||||
= nav_link(path: 'teams#issues') do
|
||||
= link_to issues_team_path(@team) do
|
||||
Issues
|
||||
%span.count= Issue.opened.of_user_team(@team).count
|
||||
|
||||
= nav_link(path: 'teams#merge_requests') do
|
||||
= link_to merge_requests_team_path(@team) do
|
||||
Merge Requests
|
||||
%span.count= MergeRequest.opened.of_user_team(@team).count
|
||||
|
||||
= nav_link(controller: [:members]) do
|
||||
= link_to team_members_path(@team), class: "team-tab tab" do
|
||||
Members
|
||||
%span.count= @team.members.count
|
||||
|
||||
- if can? current_user, :admin_user_team, @team
|
||||
= nav_link(path: 'teams#edit') do
|
||||
= link_to edit_team_path(@team), class: "stat-tab tab " do
|
||||
Settings
|
||||
|
|
@ -4,22 +4,8 @@
|
|||
%body{class: "#{app_theme} profile"}
|
||||
= render "layouts/head_panel", title: "Profile"
|
||||
= render "layouts/flash"
|
||||
.container
|
||||
%ul.main_menu
|
||||
= nav_link(path: 'profiles#show', html_options: {class: 'home'}) do
|
||||
= link_to profile_path, title: "Profile" do
|
||||
%i.icon-home
|
||||
= nav_link(path: 'profiles#account') do
|
||||
= link_to "Account", account_profile_path
|
||||
= nav_link(controller: :notifications) do
|
||||
= link_to "Notifications", profile_notifications_path
|
||||
= nav_link(controller: :keys) do
|
||||
= link_to keys_path do
|
||||
SSH Keys
|
||||
%span.count= current_user.keys.count
|
||||
= nav_link(path: 'profiles#design') do
|
||||
= link_to "Design", design_profile_path
|
||||
= nav_link(path: 'profiles#history') do
|
||||
= link_to "History", history_profile_path
|
||||
%nav.main-nav
|
||||
.container= render 'layouts/nav/profile'
|
||||
|
||||
.container
|
||||
.content= yield
|
||||
|
|
|
@ -7,49 +7,8 @@
|
|||
- if can?(current_user, :download_code, @project)
|
||||
= render 'shared/no_ssh'
|
||||
|
||||
%nav.main-nav
|
||||
.container= render 'layouts/nav/project'
|
||||
|
||||
.container
|
||||
%ul.main_menu
|
||||
= nav_link(path: 'projects#show', html_options: {class: "home"}) do
|
||||
= link_to project_path(@project), title: "Project" do
|
||||
%i.icon-home
|
||||
|
||||
- unless @project.empty_repo?
|
||||
- if can? current_user, :download_code, @project
|
||||
= nav_link(controller: %w(tree blob blame)) do
|
||||
= link_to 'Files', project_tree_path(@project, @ref || @repository.root_ref)
|
||||
= nav_link(controller: %w(commit commits compare repositories protected_branches)) do
|
||||
= link_to "Commits", project_commits_path(@project, @ref || @repository.root_ref)
|
||||
= nav_link(controller: %w(graph)) do
|
||||
= link_to "Network", project_graph_path(@project, @ref || @repository.root_ref)
|
||||
|
||||
- if @project.issues_enabled
|
||||
= nav_link(controller: %w(issues milestones labels)) do
|
||||
= link_to url_for_project_issues do
|
||||
Issues
|
||||
- if @project.used_default_issues_tracker?
|
||||
%span.count.issue_counter= @project.issues.opened.count
|
||||
|
||||
- if @project.repo_exists? && @project.merge_requests_enabled
|
||||
= nav_link(controller: :merge_requests) do
|
||||
= link_to project_merge_requests_path(@project) do
|
||||
Merge Requests
|
||||
%span.count.merge_counter= @project.merge_requests.opened.count
|
||||
|
||||
- if @project.wiki_enabled
|
||||
= nav_link(controller: :wikis) do
|
||||
= link_to 'Wiki', project_wiki_path(@project, :home)
|
||||
|
||||
- if @project.wall_enabled
|
||||
= nav_link(controller: :walls) do
|
||||
= link_to 'Wall', project_wall_path(@project)
|
||||
|
||||
- if @project.snippets_enabled
|
||||
= nav_link(controller: :snippets) do
|
||||
= link_to 'Snippets', project_snippets_path(@project)
|
||||
|
||||
- if can? current_user, :admin_project, @project
|
||||
= nav_link(html_options: {class: "#{project_tab_class}"}) do
|
||||
= link_to edit_project_path(@project), class: "stat-tab tab " do
|
||||
Settings
|
||||
|
||||
.content= yield
|
||||
|
|
|
@ -4,30 +4,8 @@
|
|||
%body{class: "#{app_theme} application"}
|
||||
= render "layouts/head_panel", title: "team: #{@team.name}"
|
||||
= render "layouts/flash"
|
||||
%nav.main-nav
|
||||
.container= render 'layouts/nav/team'
|
||||
|
||||
.container
|
||||
%ul.main_menu
|
||||
= nav_link(path: 'teams#show', html_options: {class: 'home'}) do
|
||||
= link_to team_path(@team), title: "Home" do
|
||||
%i.icon-home
|
||||
|
||||
= nav_link(path: 'teams#issues') do
|
||||
= link_to issues_team_path(@team) do
|
||||
Issues
|
||||
%span.count= Issue.opened.of_user_team(@team).count
|
||||
|
||||
= nav_link(path: 'teams#merge_requests') do
|
||||
= link_to merge_requests_team_path(@team) do
|
||||
Merge Requests
|
||||
%span.count= MergeRequest.opened.of_user_team(@team).count
|
||||
|
||||
= nav_link(controller: [:members]) do
|
||||
= link_to team_members_path(@team), class: "team-tab tab" do
|
||||
Members
|
||||
%span.count= @team.members.count
|
||||
|
||||
- if can? current_user, :admin_user_team, @team
|
||||
= nav_link(path: 'teams#edit') do
|
||||
= link_to edit_team_path(@team), class: "stat-tab tab " do
|
||||
Settings
|
||||
|
||||
.content= yield
|
||||
|
|
Loading…
Reference in a new issue