Commit ae7fd8b2 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'ui-improvements' into 'master'

Collection of fixes and improvements to GitLab UI

* new design colors
* new font size
* change padding and size of form inputs
* new activity page
* new groups page
* new explore projects page
Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

cc @skyruler

See merge request !1239
parents 6630a06c 211e7750
class @Activities
constructor: ->
Pager.init 20, true
$(".event_filter_link").bind "click", (event) =>
$(".event-filter .btn").bind "click", (event) =>
event.preventDefault()
@toggleFilter($(event.currentTarget))
@reloadActivities()
......
......@@ -42,17 +42,18 @@ $font-size-base: $gl-font-size;
//
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
$padding-base-vertical: 6px;
$padding-base-horizontal: 14px;
$padding-base-vertical: 9px;
$padding-base-horizontal: 18px;
$component-active-color: #fff;
$component-active-bg: $brand-info;
//== Forms
//
//##
$input-color: $text-color;
$input-border: #DDD;
$input-border-focus: $brand-info;
$input-border: #e7e9ed;
$input-border-focus: #7F8FA4;
$legend-color: $text-color;
......@@ -111,8 +112,8 @@ $alert-border-radius: 0;
$panel-border-radius: 0;
$panel-default-text: $text-color;
$panel-default-border: $border-color;
$panel-default-heading-bg: $background-color;
$panel-default-border: #E7E9ED;
$panel-default-heading-bg: #F8FAFC;
//== Wells
......@@ -131,3 +132,15 @@ $code-bg: #f9f2f4;
$kbd-color: #fff;
$kbd-bg: #333;
//== Buttons
//
//##
$btn-default-color: #7f8fa4;
$btn-default-bg: #fff;
$btn-default-border: #e7e9ed;
//== Nav
//
//##
$nav-link-padding: 13px 18px;
......@@ -21,7 +21,6 @@ html {
margin-top: 30px;
}
.container-limited {
max-width: $fixed-layout-width;
}
......@@ -55,8 +55,11 @@
}
@mixin md-typography {
font-size: 15px;
line-height: 1.5;
color: #444;
a {
color: #3084bb;
}
img {
max-width: 100%;
......@@ -190,7 +193,7 @@
&.light {
a {
color: #777;
color: $gl-gray;
}
}
}
......
$style_color: #474D57;
$hover: #FFFAF1;
$gl-text-color: #222222;
$gl-link-color: #446e9b;
$gl-text-color: #54565b;
$gl-header-color: #4c4e54;
$gl-link-color: #333c48;
$nprogress-color: #c0392b;
$gl-font-size: 14px;
$list-font-size: 15px;
$gl-font-size: 16px;
$list-font-size: 16px;
$sidebar_collapsed_width: 62px;
$sidebar_width: 230px;
$avatar_radius: 50%;
$code_font_size: 13px;
$code_line_height: 1.5;
$border-color: #E5E5E5;
$background-color: #f5f5f5;
$border-color: #E7E9ED;
$background-color: #F8FAFC;
$header-height: 73px;
$fixed-layout-width: 1200px;
$gl-gray: #7f8fa4;
/*
......@@ -21,7 +22,7 @@ $fixed-layout-width: 1200px;
*/
$gl-primary: #446e9b;
$gl-success: #44c679;
$gl-info: #029ACF;
$gl-info: #00aaff;
$gl-warning: #EB9532;
$gl-danger: #d9534f;
......
.light-well {
background: #f9f9f9;
background-color: #f8fafc;
padding: 15px;
}
.centered-light-block {
text-align: center;
color: #888;
color: $gl-gray;
margin: 20px;
}
.nothing-here-block {
text-align: center;
padding: 20px;
color: #666;
color: $gl-gray;
font-weight: normal;
font-size: 16px;
line-height: 36px;
}
.gray-content-block {
margin: -18px;
background-color: #f8fafc;
padding: 18px;
margin-bottom: 0px;
border-top: 1px solid #e7e9ed;
border-bottom: 1px solid #e7e9ed;
color: $gl-gray;
.title {
color: $gl-text-color;
}
.oneline {
line-height: 44px;
}
}
......@@ -72,3 +72,19 @@
}
}
}
.btn-group-next {
.btn {
padding: 9px 0px;
font-size: 15px;
color: #7f8fa4;
border-color: #e7e9ed;
width: 140px;
&.active {
border-color: $gl-info;
background: $gl-info;
color: #fff;
}
}
}
/** COLORS **/
.cgray { color: gray }
.cgray { color: $gl-gray; }
.clgray { color: #BBB }
.cred { color: #D12F19 }
.cgreen { color: #4a2 }
......@@ -20,10 +20,10 @@
.underlined-link { text-decoration: underline; }
.hint { font-style: italic; color: #999; }
.light { color: #888 }
.light { color: $gl-gray; }
.slead {
color: #666;
color: $gl-gray;
font-size: 15px;
margin-bottom: 12px;
font-weight: normal;
......@@ -74,8 +74,6 @@ pre {
color: $gl-link-color;
}
.help li { color:$style_color; }
.back-link {
font-size: 14px;
}
......@@ -303,7 +301,7 @@ table {
}
.btn-sign-in {
margin-top: 7px;
margin-top: 15px;
text-shadow: none;
}
......@@ -376,10 +374,10 @@ table {
list-style: none;
text-align: center;
margin-top: 5px;
margin-bottom: 12px;
margin-bottom: 18px;
height: 60px;
margin-top: -15px;
padding-top: 15px;
margin-top: -18px;
padding-top: 18px;
li {
display: inline-block;
......
......@@ -49,8 +49,6 @@
}
}
.author { color: #999; }
.list-item-name {
float: left;
position: relative;
......@@ -71,15 +69,6 @@
font-size: $list-font-size;
line-height: 18px;
}
.row_title {
color: $gray-dark;
&:hover {
color: $text-color;
text-decoration: underline;
}
}
}
}
......@@ -109,3 +98,27 @@ ul.bordered-list {
li.task-list-item {
list-style-type: none;
}
ul.content-list {
@include basic-list;
margin: 0;
padding: 0;
li {
padding: 18px;
border-color: #f1f2f4;
margin: 0 -18px;
color: $gl-gray;
.avatar {
margin-right: 15px;
}
.controls {
padding-top: 10px;
float: right;
}
}
}
......@@ -3,9 +3,9 @@
.select2-choice {
background: #FFF;
border-color: #DDD;
height: 34px;
padding: 6px 14px;
font-size: 14px;
height: 42px;
padding: 8px 18px;
font-size: $gl-font-size;
line-height: 1.42857143;
@include border-radius(4px);
......@@ -13,7 +13,7 @@
.select2-arrow {
background: #FFF;
border-left: none;
padding-top: 3px;
padding-top: 5px;
}
}
}
......
......@@ -25,8 +25,7 @@
.container-fluid {
background: #FFF;
padding-top: 15px;
padding-bottom: 15px;
padding: 18px;
border: 1px solid #e7e9ed;
min-height: 90vh;
}
......
......@@ -9,6 +9,11 @@
margin-bottom: 5px;
}
h1, h2, h3, h4, h5, h6 {
color: $gl-header-color;
font-weight: 500;
}
/** CODE **/
pre {
font-family: $monospace_font;
......
......@@ -61,10 +61,6 @@
}
}
.file-stats a {
color: $style_color;
}
.file-stats {
.new-file {
a {
......
......@@ -52,7 +52,7 @@ li.commit {
}
.commit-row-message {
color: #444;
color: $gl-link-color;
&:hover {
text-decoration: underline;
......@@ -88,12 +88,12 @@ li.commit {
}
.commit-row-info {
color: #777;
color: $gl-gray;
line-height: 24px;
font-size: 13px;
a {
color: #777;
color: $gl-gray;
}
.committed_ago {
......
......@@ -2,7 +2,7 @@
.side {
.panel {
.panel-heading {
background: #EEE;
background: $background-color;
border-top-left-radius: 0;
}
border-top-left-radius: 0;
......
/**
* Events labels
* Dashboard events feed
*
*/
.event_label {
&.pushed {
padding: 0 2px;
}
.event-item {
font-size: 16px;
padding: 18px;
margin: 0 -18px;
border-bottom: 1px solid #f1f2f4;
color: #7f8fa4;
&.opened {
padding: 0 2px;
&.event-inline {
.avatar {
position: relative;
top: -2px;
}
&.closed {
padding: 0 2px;
.event-title {
line-height: 44px;
}
&.merged {
padding: 0 2px;
.event-item-timestamp {
line-height: 44px;
}
&.left,
&.joined {
padding: 0 2px;
float: none;
}
}
/**
* Dashboard events feed
*
*/
.event-item {
&:first-child {
padding-top: 0;
a {
color: #4c4e54;
}
&.event-inline {
.avatar {
position: relative;
top: -2px;
}
margin-right: 15px;
}
padding: 12px 0px;
border-bottom: 1px solid #eee;
.event-title {
max-width: 70%;
@include str-truncated(calc(100% - 174px));
max-width: 70%;
font-weight: 500;
font-size: 14px;
.author_name {
color: #333;
}
}
.event-body {
font-size: 13px;
margin-left: 35px;
margin-left: 63px;
margin-right: 80px;
color: #777;
.event-note {
margin-top: 5px;
word-wrap: break-word;
.md {
font-size: 13px;
font-size: 16px;
iframe.twitter-share-button {
vertical-align: bottom;
......@@ -116,7 +104,7 @@
&:last-child { border:none }
.event_commits {
margin-top: 5px;
margin-top: 9px;
li {
&.commit {
......@@ -125,10 +113,12 @@
padding-left: 0;
border: none;
.commit-row-title {
font-size: 12px;
font-size: 16px;
}
}
&.commits-stat {
margin-top: 3px;
display: block;
padding: 3px;
padding-left: 0;
......@@ -142,7 +132,6 @@
.event-item-timestamp {
float: right;
color: #999;
line-height: 22px;
}
}
......@@ -186,12 +175,3 @@
}
}
}
.event_filter {
li a {
font-size: 13px;
padding: 5px 10px;
background: $background-color;
margin-left: 4px;
}
}
......@@ -10,7 +10,7 @@
}
.issue-info {
color: #999;
color: $gl-gray;
font-size: 13px;
}
......
......@@ -136,7 +136,7 @@
}
.merge-request-info {
color: #999;
color: $gl-gray;
font-size: 13px;
}
......
......@@ -184,7 +184,7 @@ ul.nav.nav-projects-tabs {
.breadcrumb.repo-breadcrumb {
padding: 0;
line-height: 34px;
line-height: 42px;
background: white;
border: none;
font-size: 16px;
......@@ -253,23 +253,12 @@ pre.light-well {
}
.projects-search-form {
margin: -15px;
margin: -18px;
background-color: #f8fafc;
padding: 18px;
margin-bottom: 10px;
margin-bottom: 0px;
border-top: 1px solid #e7e9ed;
border-bottom: 1px solid #e7e9ed;
.projects-list-filter {
@include input-big;
padding: 5px 18px;
}
.btn {
@include btn-big;
padding: 5px 18px;
}
}
/*
......@@ -281,7 +270,7 @@ pre.light-well {
.project-row {
padding: 18px;
border-color: #f1f2f4;
margin: 0 -15px;
margin: 0 -18px;
&.no-description {
.project {
......
......@@ -63,15 +63,15 @@
padding-right: 8px;
.commit-author-name {
color: gray;
color: $gl-gray;
}
}
.tree_commit {
color: gray;
color: $gl-gray;
.tree-commit-link {
color: gray;
color: $gl-gray;
&:hover {
text-decoration: underline;
......
......@@ -14,6 +14,10 @@
a {
color: $color-light;
h3 {
color: $color-light;
}
}
&:hover {
......
......@@ -27,16 +27,14 @@ module EventsHelper
key = key.to_s
active = 'active' if @event_filter.active?(key)
link_opts = {
class: 'event_filter_link',
class: "event-filter-link btn btn-default #{active}",
id: "#{key}_event_filter",
title: "Filter by #{tooltip.downcase}",
data: { toggle: 'tooltip', placement: 'top' }
}
content_tag :li, class: "filter_icon #{active}" do
link_to request.path, link_opts do
icon(icon_for_event[key]) + content_tag(:span, ' ' + tooltip)
end
content_tag(:span, ' ' + tooltip)
end
end
......
.hidden-xs
= render "events/event_last_push", event: @last_push
.gray-content-block
- if current_user
%ul.nav.nav-pills.event_filter.pull-right
%li.pull-right
= link_to dashboard_path(:atom, { private_token: current_user.private_token }), class: 'rss-btn' do
%i.fa.fa-rss
= render 'shared/event_filter'
%hr
.content_list
= spinner
- page_title "Groups"
= render 'dashboard/groups_head'
.slead
Group members have access to all group projects.
.gray-content-block
- if current_user.can_create_group?
%span.pull-right.hidden-xs
= link_to new_group_path, class: "btn btn-new btn-sm" do
= link_to new_group_path, class: "btn btn-new" do
%i.fa.fa-plus
New Group
%ul.bordered-list
.title Welcome to the groups!
Group members have access to all group projects.
%ul.content-list
- @group_members.each do |group_member|
- group = group_member.group
= render 'shared/groups/group', group: group, group_member: group_member
......
%li.commit
.commit-row-title
= link_to truncate_sha(commit[:id]), namespace_project_commit_path(project.namespace, project, commit[:id]), class: "commit_short_id", alt: ''
&nbsp;
&middot;
= gfm event_commit_title(commit[:message]), project: project
......@@ -3,8 +3,8 @@
.event-item-timestamp
#{time_ago_with_tooltip(event.created_at)}
= cache [event, "v1"] do
= image_tag avatar_icon(event.author_email, 24), class: "avatar s24", alt:''
= cache [event, "v2"] do
= image_tag avatar_icon(event.author_email, 48), class: "avatar s48", alt:''
- if event.created_project?
= render "events/event/created_project", event: event
- elsif event.push?
......
- page_title "Groups"
- if current_user
= render 'dashboard/groups_head'
.clearfix.append-bottom-10
.gray-content-block.clearfix
.pull-left
= form_tag explore_groups_path, method: :get, class: 'form-inline form-tiny' do |f|
= hidden_field_tag :sort, @sort
.form-group
= search_field_tag :search, params[:search], placeholder: "Filter by name", class: "form-control search-text-input", id: "groups_search"
.form-group
= button_tag 'Search', class: "btn btn-primary wide"
= button_tag 'Search', class: "btn btn-default"
.pull-right
.dropdown.inline
......@@ -30,7 +30,7 @@
= link_to explore_groups_path(sort: sort_value_oldest_updated) do
= sort_title_oldest_updated
%ul.bordered-list
%ul.content-list
- @groups.each do |group|
= render 'shared/groups/group', group: group
- unless @groups.present?
......
......@@ -3,7 +3,7 @@
.form-group
= search_field_tag :search, params[:search], placeholder: "Filter by name", class: "form-control search-text-input", id: "projects_search"
.form-group
= button_tag 'Search', class: "btn btn-primary wide"
= button_tag 'Search', class: "btn btn-success"
.pull-right.hidden-sm.hidden-xs
- if current_user
......
- page_title "Projects"
- if current_user
= render 'dashboard/projects_head'
.clearfix
.gray-content-block.clearfix
= render 'filter'
%br
= render 'projects', projects: @projects
= paginate @projects, theme: "gitlab"
- page_title "Starred Projects"
- if current_user
= render 'dashboard/projects_head'
.explore-trending-block
.lead
%i.fa.fa-star
See most starred projects
.gray-content-block
.pull-right
= render 'explore/projects/dropdown'
.oneline
%i.fa.fa-star
See most starred projects
= render 'projects', projects: @starred_projects
= paginate @starred_projects, theme: 'gitlab'
- page_title "Trending Projects"
- if current_user
= render 'dashboard/projects_head'
.explore-title
- else
.explore-title
%h3
Explore GitLab
%p.lead
Discover projects and groups. Share your projects with others
%hr
%br
.explore-trending-block
.lead
%i.fa.fa-comments-o
See most discussed projects for last month
.gray-content-block
.pull-right
= render 'explore/projects/dropdown'
.oneline
%i.fa.fa-comments-o
See most discussed projects for last month
= render 'projects', projects: @trending_projects
......@@ -7,4 +7,4 @@
= link_to new_project_path(namespace_id: @group.id), class: 'btn btn-success' do
New project
= render 'shared/projects/list', projects: @projects, projects_limit: 20
= render 'shared/projects/list', projects: @projects, projects_limit: 20, stars: false
......@@ -3,7 +3,7 @@
.header-content
- unless current_controller?('sessions')
.pull-right
= link_to "Sign in", new_session_path(:user, redirect_to_referer: 'yes'), class: 'btn btn-sign-in btn-success btn-sm'
= link_to "Sign in", new_session_path(:user, redirect_to_referer: 'yes'), class: 'btn btn-sign-in btn-success'
%h1.title= title
......
= render 'projects/last_push'
.hidden-xs
.gray-content-block
- if current_user
%ul.nav.nav-pills.event_filter.pull-right
%li
......@@ -7,7 +7,6 @@
%i.fa.fa-rss
= render 'shared/event_filter'
%hr
.content_list{:"data-href" => activity_project_path(@project)}
= spinner
......
......@@ -4,7 +4,7 @@
.input-group-btn
%button{ |
type: 'button', |
class: "btn btn-sm #{ 'active' if default_clone_protocol == 'ssh' }#{ ' has_tooltip' if current_user && current_user.require_ssh_key? }", |
class: "btn #{ 'active' if default_clone_protocol == 'ssh' }#{ ' has_tooltip' if current_user && current_user.require_ssh_key? }", |
:"data-clone" => project.ssh_url_to_repo, |
:"data-title" => "Add an SSH key to your profile<br> to pull or push via SSH",
:"data-html" => "true",
......@@ -13,13 +13,13 @@
.input-group-btn
%button{ |
type: 'button', |
class: "btn btn-sm #{ 'active' if default_clone_protocol == 'http' }#{ ' has_tooltip' if current_user && current_user.require_password? }", |
class: "btn #{ 'active' if default_clone_protocol == 'http' }#{ ' has_tooltip' if current_user && current_user.require_password? }", |
:"data-clone" => project.http_url_to_repo, |
:"data-title" => "Set a password on your account<br> to pull or push via #{gitlab_config.protocol.upcase}",
:"data-html" => "true",
:"data-container" => "body"}
= gitlab_config.protocol.upcase
= text_field_tag :project_clone, default_url_to_repo(project), class: "js-select-on-focus form-control input-sm", readonly: true
= text_field_tag :project_clone, default_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true
- if project.kind_of?(Project)
.input-group-addon
.visibility-level-label.has_tooltip{'data-title' => "#{visibility_level_label(project.visibility_level)} project" }
......
%ul.nav.nav-pills.event_filter
.btn-group.btn-group-next.event-filter
= event_filter_link EventFilter.push, 'Push events'
= event_filter_link EventFilter.merged, 'Merge events'
= event_filter_link EventFilter.comments, 'Comments'
......
- group_member = local_assigns[:group_member]
%li
- if group_member
.pull-right.hidden-xs
.controls.hidden-xs
- if can?(current_user, :admin_group, group)
= link_to edit_group_path(group), class: "btn-sm btn btn-grouped" do
%i.fa.fa-cogs
Settings
= link_to leave_group_group_members_path(group), data: { confirm: leave_group_message(group.name) }, method: :delete, class: "btn-sm btn btn-grouped", title: 'Leave this group' do
%i.fa.fa-sign-out
Leave
= image_tag group_icon(group), class: "avatar s40 avatar-tile hidden-xs"
= image_tag group_icon(group), class: "avatar s48 hidden-xs"
= link_to group, class: 'group-name' do
%strong= group.name
- if group_member
as
%strong #{group_member.human_access}
%span #{group_member.human_access}
%div.light
#{pluralize(group.projects.count, "project")}, #{pluralize(group.users.count, "user")}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment