Commit 7617ff56f290218dc80c78f5c941a28ac9f8538c

Authored by Dmitriy Zaporozhets
2 parents a2355c52 3567107c

Merge branch 'bootstrap3' of /home/git/repositories/gitlab/gitlabhq

Showing 171 changed files with 2451 additions and 2392 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 171 files displayed.

@@ -151,7 +151,7 @@ gem "jquery-rails", "2.1.3" @@ -151,7 +151,7 @@ gem "jquery-rails", "2.1.3"
151 gem "jquery-ui-rails", "2.0.2" 151 gem "jquery-ui-rails", "2.0.2"
152 gem "modernizr", "2.6.2" 152 gem "modernizr", "2.6.2"
153 gem "raphael-rails", "~> 2.1.2" 153 gem "raphael-rails", "~> 2.1.2"
154 -gem 'bootstrap-sass', '~> 2.3' 154 +gem 'bootstrap-sass', '~> 3.0'
155 gem "font-awesome-rails", '~> 3.2' 155 gem "font-awesome-rails", '~> 3.2'
156 gem "gemoji", "~> 1.3.0" 156 gem "gemoji", "~> 1.3.0"
157 gem "gon", git: "https://github.com/gitlabhq/gon.git", ref: '58ca8e17273051cb370182cabd3602d1da6783ab' 157 gem "gon", git: "https://github.com/gitlabhq/gon.git", ref: '58ca8e17273051cb370182cabd3602d1da6783ab'
@@ -64,7 +64,7 @@ GEM @@ -64,7 +64,7 @@ GEM
64 erubis (>= 2.6.6) 64 erubis (>= 2.6.6)
65 binding_of_caller (0.7.2) 65 binding_of_caller (0.7.2)
66 debug_inspector (>= 0.0.1) 66 debug_inspector (>= 0.0.1)
67 - bootstrap-sass (2.3.2.2) 67 + bootstrap-sass (3.0.3.0)
68 sass (~> 3.2) 68 sass (~> 3.2)
69 builder (3.1.4) 69 builder (3.1.4)
70 capybara (2.1.0) 70 capybara (2.1.0)
@@ -575,7 +575,7 @@ DEPENDENCIES @@ -575,7 +575,7 @@ DEPENDENCIES
575 awesome_print 575 awesome_print
576 better_errors 576 better_errors
577 binding_of_caller 577 binding_of_caller
578 - bootstrap-sass (~> 2.3) 578 + bootstrap-sass (~> 3.0)
579 capybara 579 capybara
580 carrierwave 580 carrierwave
581 chosen-rails (= 1.0.1) 581 chosen-rails (= 1.0.1)
app/assets/javascripts/behaviors/toggler_behavior.coffee
@@ -3,7 +3,7 @@ $ -> @@ -3,7 +3,7 @@ $ ->
3 container = $(@).closest(".js-toggler-container") 3 container = $(@).closest(".js-toggler-container")
4 4
5 container.toggleClass("on") 5 container.toggleClass("on")
6 - 6 +
7 $("body").on "click", ".js-toggle-visibility-link", (e) -> 7 $("body").on "click", ".js-toggle-visibility-link", (e) ->
8 $(@).find('i'). 8 $(@).find('i').
9 toggleClass('icon-chevron-down'). 9 toggleClass('icon-chevron-down').
@@ -11,7 +11,7 @@ $ -> @@ -11,7 +11,7 @@ $ ->
11 container = $(".js-toggle-visibility-container") 11 container = $(".js-toggle-visibility-container")
12 container.toggleClass("hide") 12 container.toggleClass("hide")
13 e.preventDefault() 13 e.preventDefault()
14 - 14 +
15 $("body").on "click", ".js-toggle-button", (e) -> 15 $("body").on "click", ".js-toggle-button", (e) ->
16 $(@).closest(".js-toggle-container").find(".js-toggle-content").toggle() 16 $(@).closest(".js-toggle-container").find(".js-toggle-content").toggle()
17 e.preventDefault() 17 e.preventDefault()
app/assets/stylesheets/application.scss
@@ -9,36 +9,41 @@ @@ -9,36 +9,41 @@
9 *= require_self 9 *= require_self
10 */ 10 */
11 11
  12 +@import "main/variables.scss";
  13 +@import "main/mixins.scss";
  14 +@import "main/fonts.scss";
  15 +
12 /** 16 /**
13 - * GitLab bootstrap: 17 + * Customized Twitter bootstrap
14 */ 18 */
15 -@import "gitlab_bootstrap.scss"; 19 +@import 'gl_bootstrap';
16 20
  21 +/**
  22 + * Font icons
  23 + *
  24 + */
  25 +@import "font-awesome";
  26 +
  27 +/**
  28 + * Generic css (forms, nav etc):
  29 + */
  30 +@import "generic.scss";
  31 +
  32 +
  33 +/**
  34 + * Unrefactored css
  35 + */
17 @import "common.scss"; 36 @import "common.scss";
18 -@import "selects.scss";  
19 -  
20 -@import "sections/header.scss";  
21 -@import "sections/nav.scss";  
22 -@import "sections/commits.scss";  
23 -@import "sections/issues.scss";  
24 -@import "sections/projects.scss";  
25 -@import "sections/snippets.scss";  
26 -@import "sections/votes.scss";  
27 -@import "sections/merge_requests.scss";  
28 -@import "sections/graph.scss";  
29 -@import "sections/events.scss";  
30 -@import "sections/themes.scss";  
31 -@import "sections/tree.scss";  
32 -@import "sections/notes.scss";  
33 -@import "sections/profile.scss";  
34 -@import "sections/login.scss";  
35 -@import "sections/editor.scss";  
36 -@import "sections/admin.scss";  
37 -@import "sections/wiki.scss";  
38 -@import "sections/wall.scss";  
39 -@import "sections/dashboard.scss";  
40 -@import "sections/stat_graph.scss";  
41 37
  38 +
  39 +/**
  40 + * Page specific styles (issues, projects etc):
  41 + */
  42 +@import "sections.scss";
  43 +
  44 +/**
  45 + * Code ighlight
  46 + */
42 @import "highlight/white.scss"; 47 @import "highlight/white.scss";
43 @import "highlight/dark.scss"; 48 @import "highlight/dark.scss";
44 @import "highlight/solarized_dark.scss"; 49 @import "highlight/solarized_dark.scss";
@@ -57,4 +62,3 @@ @@ -57,4 +62,3 @@
57 * Styles for JS behaviors. 62 * Styles for JS behaviors.
58 */ 63 */
59 @import "behaviors.scss"; 64 @import "behaviors.scss";
60 -  
app/assets/stylesheets/common.scss
@@ -119,18 +119,6 @@ p.time { @@ -119,18 +119,6 @@ p.time {
119 margin: 30px 3px 3px 2px; 119 margin: 30px 3px 3px 2px;
120 } 120 }
121 121
122 -.search-holder {  
123 - label, input {  
124 - height: 30px;  
125 - padding: 0;  
126 - font-size: 14px;  
127 - }  
128 - label {  
129 - line-height: 30px;  
130 - color: #666;  
131 - }  
132 -}  
133 -  
134 .highlight { 122 .highlight {
135 text-shadow: none; 123 text-shadow: none;
136 } 124 }
@@ -209,7 +197,7 @@ li.note { @@ -209,7 +197,7 @@ li.note {
209 } 197 }
210 198
211 .git_error_tips { 199 .git_error_tips {
212 - @extend .span6; 200 + @extend .col-md-6;
213 text-align: left; 201 text-align: left;
214 margin-top: 40px; 202 margin-top: 40px;
215 pre { 203 pre {
@@ -395,3 +383,9 @@ table { @@ -395,3 +383,9 @@ table {
395 font-weight: bolder; 383 font-weight: bolder;
396 } 384 }
397 } 385 }
  386 +
  387 +.side-filters {
  388 + fieldset {
  389 + margin-bottom: 15px;
  390 + }
  391 +}
app/assets/stylesheets/generic.scss 0 → 100644
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +@import "generic/avatar.scss";
  2 +@import "generic/nav.scss";
  3 +@import "generic/common.scss";
  4 +@import "generic/typography.scss";
  5 +@import "generic/buttons.scss";
  6 +@import "generic/blocks.scss";
  7 +@import "generic/ui_box.scss";
  8 +@import "generic/issue_box.scss";
  9 +@import "generic/files.scss";
  10 +@import "generic/lists.scss";
  11 +@import "generic/forms.scss";
  12 +@import "generic/selects.scss";
app/assets/stylesheets/generic/avatar.scss 0 → 100644
@@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
  1 +.avatar {
  2 + float: left;
  3 + margin-right: 12px;
  4 + width: 40px;
  5 + padding: 1px;
  6 + @include border-radius(4px);
  7 +
  8 + &.avatar-inline {
  9 + float: none;
  10 + margin-left: 3px;
  11 +
  12 + &.s16 { margin-right: 2px; }
  13 + &.s24 { margin-right: 2px; }
  14 + }
  15 +
  16 + &.s16 { width: 16px; height: 16px; margin-right: 6px; }
  17 + &.s24 { width: 24px; height: 24px; margin-right: 8px; }
  18 + &.s26 { width: 26px; height: 26px; margin-right: 8px; }
  19 + &.s32 { width: 32px; height: 32px; margin-right: 10px; }
  20 + &.s60 { width: 60px; height: 60px; margin-right: 12px; }
  21 + &.s90 { width: 90px; height: 90px; margin-right: 15px; }
  22 + &.s160 { width: 160px; height: 160px; margin-right: 20px; }
  23 +}
app/assets/stylesheets/generic/blocks.scss 0 → 100644
@@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
  1 +.light-well {
  2 + background: #f9f9f9;
  3 + padding: 15px;
  4 +}
app/assets/stylesheets/generic/buttons.scss 0 → 100644
@@ -0,0 +1,158 @@ @@ -0,0 +1,158 @@
  1 +.btn {
  2 + display: inline-block;
  3 + margin-bottom: 0;
  4 + font-weight: normal;
  5 + text-align: center;
  6 + vertical-align: middle;
  7 + cursor: pointer;
  8 + background-image: none;
  9 + border: 1px solid transparent;
  10 + white-space: nowrap;
  11 + padding: 6px 12px;
  12 + font-size: 13px;
  13 + line-height: 18px;
  14 + border-radius: 4px;
  15 + -webkit-user-select: none;
  16 + -moz-user-select: none;
  17 + -ms-user-select: none;
  18 + -o-user-select: none;
  19 + user-select: none;
  20 + color: #444444;
  21 + background-color: #fff;
  22 + border-color: #ccc;
  23 + text-shadow: none;
  24 +
  25 + &.hover,
  26 + &:hover {
  27 + color: #444444;
  28 + text-decoration: none;
  29 + background-color: #ebebeb;
  30 + border-color: #adadad;
  31 + }
  32 +
  33 + &.focus,
  34 + &:focus {
  35 + color: #444444;
  36 + text-decoration: none;
  37 + outline: thin dotted #333;
  38 + outline: 5px auto -webkit-focus-ring-color;
  39 + outline-offset: -2px;
  40 + }
  41 +
  42 + &.active,
  43 + &:active {
  44 + outline: 0;
  45 + background-image: none;
  46 + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  47 + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  48 + }
  49 +
  50 + &.disabled,
  51 + &[disabled] {
  52 + cursor: not-allowed;
  53 + pointer-events: none;
  54 + opacity: 0.65;
  55 + filter: alpha(opacity=65);
  56 + -webkit-box-shadow: none;
  57 + box-shadow: none;
  58 + }
  59 +
  60 + &.btn-primary {
  61 + color: #ffffff;
  62 + background-color: #429bca;
  63 + border-color: #358ebd;
  64 +
  65 + &.hover,
  66 + &:hover,
  67 + &.disabled,
  68 + &[disabled] {
  69 + color: #ffffff;
  70 + background-color: #3286b1;
  71 + border-color: #286e8e;
  72 + }
  73 + }
  74 +
  75 + &.btn-success {
  76 + color: #ffffff;
  77 + background-color: #5cb85c;
  78 + border-color: #4cae4c;
  79 +
  80 +
  81 + &.hover,
  82 + &:hover,
  83 + &.disabled,
  84 + &[disabled] {
  85 + color: #ffffff;
  86 + background-color: #47a447;
  87 + border-color: #398439;
  88 + }
  89 + }
  90 +
  91 + &.btn-danger {
  92 + color: #ffffff;
  93 + background-color: #d9534f;
  94 + border-color: #d43f3a;
  95 +
  96 +
  97 + &.hover,
  98 + &:hover,
  99 + &.disabled,
  100 + &[disabled] {
  101 + color: #ffffff;
  102 + background-color: #d2322d;
  103 + border-color: #ac2925;
  104 + }
  105 + }
  106 +
  107 + &.btn-new {
  108 + @extend .btn-success;
  109 + }
  110 +
  111 + &.btn-create {
  112 + @extend .wide;
  113 + @extend .btn-success;
  114 + }
  115 +
  116 + &.btn-save {
  117 + @extend .wide;
  118 + @extend .btn-primary;
  119 + }
  120 +
  121 + &.btn-close,
  122 + &.btn-remove {
  123 + @extend .btn-danger;
  124 + }
  125 +
  126 + &.btn-cancel {
  127 + float: right;
  128 + }
  129 +
  130 + &.wide {
  131 + padding-left: 20px;
  132 + padding-right: 20px;
  133 + }
  134 +
  135 + &.btn-small {
  136 + padding: 2px 10px;
  137 + font-size: 12px;
  138 + }
  139 +
  140 + &.btn-tiny {
  141 + font-size: 11px;
  142 + padding: 2px 6px;
  143 + line-height: 16px;
  144 + margin: 2px;
  145 + }
  146 +
  147 + &.grouped {
  148 + margin-right: 7px;
  149 + float: left;
  150 + }
  151 +
  152 + &.btn-block {
  153 + width: 100%;
  154 + margin: 0;
  155 + padding: 6px 0;
  156 + margin-bottom: 15px;
  157 + }
  158 +}
app/assets/stylesheets/generic/common.scss 0 → 100644
@@ -0,0 +1,138 @@ @@ -0,0 +1,138 @@
  1 +/** COLORS **/
  2 +.cgray { color: gray }
  3 +.clgray { color: #BBB }
  4 +.cred { color: #D12F19 }
  5 +.cgreen { color: #4a2 }
  6 +.cblue { color: #29A }
  7 +.cblack { color: #111 }
  8 +.cdark { color: #444 }
  9 +.camber { color: #ffc000 }
  10 +.cwhite { color: #fff!important }
  11 +.bgred { background: #F2DEDE!important }
  12 +
  13 +/** COMMON CLASSES **/
  14 +.left { float:left }
  15 +
  16 +.prepend-top-10 { margin-top:10px }
  17 +.prepend-top-20 { margin-top:20px }
  18 +.prepend-left-10 { margin-left:10px }
  19 +.prepend-left-20 { margin-left:20px }
  20 +.append-right-10 { margin-right:10px }
  21 +.append-right-20 { margin-right:20px }
  22 +.append-bottom-10 { margin-bottom:10px }
  23 +.append-bottom-15 { margin-bottom:15px }
  24 +.append-bottom-20 { margin-bottom:20px }
  25 +.inline { display: inline-block }
  26 +
  27 +.padded { padding:20px }
  28 +.ipadded { padding:20px!important }
  29 +.lborder { border-left:1px solid #eee }
  30 +.underlined_link { text-decoration: underline; }
  31 +.hint { font-style: italic; color: #999; }
  32 +.light { color: #888 }
  33 +.tiny { font-weight: normal }
  34 +.vtop { vertical-align: top !important; }
  35 +
  36 +
  37 +/** ALERT MESSAGES **/
  38 +.alert.alert-disabled {
  39 + background: #EEE;
  40 + color: #777;
  41 + border-color: #DDD;
  42 +}
  43 +
  44 +/** HELPERS **/
  45 +.nothing_here_message {
  46 + text-align: center;
  47 + padding: 20px;
  48 + color: #666;
  49 + font-weight: normal;
  50 + font-size: 16px;
  51 + line-height: 36px;
  52 +}
  53 +
  54 +.slead {
  55 + color: #666;
  56 + font-size: 14px;
  57 + margin-bottom: 12px;
  58 + font-weight: normal;
  59 + line-height: 24px;
  60 +}
  61 +
  62 +
  63 +.tab-content {
  64 + overflow: visible;
  65 +}
  66 +
  67 +@media (max-width: 1200px) {
  68 + .only-wide {
  69 + display: none;
  70 + }
  71 +}
  72 +
  73 +pre.well-pre {
  74 + border: 1px solid #EEE;
  75 + background: #f9f9f9;
  76 + border-radius: 0;
  77 + color: #555;
  78 +}
  79 +
  80 +.input-append .btn.active, .input-prepend .btn.active {
  81 + background: #CCC;
  82 + border-color: #BBB;
  83 + text-shadow: 0 1px 1px #fff;
  84 + font-weight: bold;
  85 + @include box-shadow(inset 0 2px 4px rgba(0,0,0,.15));
  86 +}
  87 +
  88 +.label {
  89 + padding: 2px 4px;
  90 + font-size: 12px;
  91 + font-style: normal;
  92 + font-weight: normal;
  93 +
  94 + &.label-gray {
  95 + background-color: #eee;
  96 + color: #999;
  97 + text-shadow: none;
  98 + }
  99 +
  100 + &.label-inverse {
  101 + background-color: #333333;
  102 + }
  103 +}
  104 +
  105 +/** Big Labels **/
  106 +.state-label {
  107 + font-size: 14px;
  108 + padding: 6px 25px;
  109 + text-align: center;
  110 + @include border-radius(4px);
  111 + text-shadow: none;
  112 + margin-left: 10px;
  113 +
  114 + &.state-label-green {
  115 + background: #4A4;
  116 + color: #FFF;
  117 + }
  118 +
  119 + &.state-label-red {
  120 + background: #DA4E49;
  121 + color: #FFF;
  122 + }
  123 +}
  124 +
  125 +.dropdown-menu > li > a {
  126 + text-shadow: none;
  127 +}
  128 +
  129 +.dropdown-menu > li > a:hover,
  130 +.dropdown-menu > li > a:focus {
  131 + background: #29b;
  132 +}
  133 +
  134 +.breadcrumb > li + li:before {
  135 + content: "/";
  136 + padding: 0;
  137 + color: #666;
  138 +}
app/assets/stylesheets/generic/files.scss 0 → 100644
@@ -0,0 +1,218 @@ @@ -0,0 +1,218 @@
  1 +/**
  2 + * File content holder
  3 + *
  4 + */
  5 +.file-holder {
  6 + border: 1px solid #CCC;
  7 + margin-bottom: 1em;
  8 +
  9 + table {
  10 + @extend .table;
  11 + }
  12 +
  13 + .file-title {
  14 + background: #DDD;
  15 + border-bottom: 1px solid #CCC;
  16 + text-shadow: 0 1px 1px #fff;
  17 + margin: 0;
  18 + font-weight: normal;
  19 + font-weight: bold;
  20 + text-align: left;
  21 + color: $style_color;
  22 + padding: 9px 10px;
  23 +
  24 + .options {
  25 + float: right;
  26 + margin-top: -5px;
  27 + }
  28 +
  29 + .file_name {
  30 + color: $style_color;
  31 + font-size: 14px;
  32 + text-shadow: 0 1px 1px #fff;
  33 + small {
  34 + color: #999;
  35 + font-size: 13px;
  36 + }
  37 + }
  38 + }
  39 + .file-content {
  40 + background: #fff;
  41 + font-size: 11px;
  42 +
  43 + &.image_file {
  44 + background: #eee;
  45 + text-align: center;
  46 + img {
  47 + padding: 100px;
  48 + max-width: 300px;
  49 + }
  50 + }
  51 +
  52 + &.wiki {
  53 + padding: 20px;
  54 + font-size: 14px;
  55 + line-height: 1.6;
  56 +
  57 + .highlight {
  58 + margin-bottom: 9px;
  59 + @include border-radius(4px);
  60 +
  61 + > pre {
  62 + margin: 0;
  63 + }
  64 + }
  65 + }
  66 +
  67 + &.blob_file {
  68 +
  69 + }
  70 +
  71 + &.blob-no-preview {
  72 + background: #eee;
  73 + text-shadow: 0 1px 2px #FFF;
  74 + padding: 100px 0;
  75 + }
  76 +
  77 + /**
  78 + * Blame file
  79 + */
  80 + &.blame {
  81 + table {
  82 + border: none;
  83 + box-shadow: none;
  84 + margin: 0;
  85 + }
  86 + tr {
  87 + border-bottom: 1px solid #eee;
  88 + }
  89 + td {
  90 + &:first-child {
  91 + border-left: none;
  92 + }
  93 + &:last-child {
  94 + border-right: none;
  95 + }
  96 + background: #fff;
  97 + padding: 5px;
  98 + }
  99 + .author,
  100 + .blame_commit {
  101 + background: #f5f5f5;
  102 + vertical-align: top;
  103 + }
  104 + .lines {
  105 + pre {
  106 + padding: 0;
  107 + margin: 0;
  108 + background: none;
  109 + border: none;
  110 + }
  111 + }
  112 + }
  113 +
  114 + &.logs {
  115 + background: #eee;
  116 + max-height: 700px;
  117 + overflow-y: auto;
  118 +
  119 + ol {
  120 + margin-left: 40px;
  121 + padding: 10px 0;
  122 + border-left: 1px solid #CCC;
  123 + margin-bottom: 0;
  124 + background: white;
  125 + li {
  126 + color: #888;
  127 + p {
  128 + margin: 0;
  129 + color: #333;
  130 + line-height: 24px;
  131 + padding-left: 10px;
  132 + }
  133 +
  134 + &:hover {
  135 + background: $hover;
  136 + }
  137 + }
  138 + }
  139 + }
  140 +
  141 + /**
  142 + * Code file
  143 + */
  144 + &.code {
  145 + padding: 0;
  146 +
  147 + table.lines {
  148 + border: none;
  149 + box-shadow: none;
  150 + margin: 0px;
  151 + padding: 0px;
  152 + table-layout: fixed;
  153 +
  154 + pre {
  155 + border: none;
  156 + border-radius: 0;
  157 + font-family: $monospace_font;
  158 + font-size: 12px !important;
  159 + line-height: 16px !important;
  160 + margin: 0;
  161 + padding: 10px 0;
  162 + }
  163 + td {
  164 + border: none;
  165 + margin: 0;
  166 + padding: 0;
  167 + vertical-align: top;
  168 +
  169 + &:first-child {
  170 + background: #eee;
  171 + width: 50px;
  172 + }
  173 + &:last-child {
  174 + }
  175 + }
  176 + tr:hover {
  177 + background: none;
  178 + }
  179 +
  180 + pre.line_numbers {
  181 + color: #666;
  182 + padding: 10px 6px 10px 0;
  183 + text-align: right;
  184 + background: #EEE;
  185 +
  186 + a {
  187 + color: #666;
  188 +
  189 + i {
  190 + display: none;
  191 + font-size: 14px;
  192 + line-height: 14px;
  193 + }
  194 + &:hover i {
  195 + display: inherit;
  196 + }
  197 + }
  198 + }
  199 +
  200 + .highlight {
  201 + border-left: 1px solid #DEE2E3;
  202 + overflow: auto;
  203 + overflow-y: hidden;
  204 +
  205 + pre {
  206 + white-space: pre;
  207 + word-wrap: normal;
  208 +
  209 + .line {
  210 + padding: 0 10px;
  211 + }
  212 + }
  213 + }
  214 + }
  215 + }
  216 + }
  217 +}
  218 +
app/assets/stylesheets/generic/forms.scss 0 → 100644
@@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
  1 +input[type='search'].search-text-input {
  2 + background-image: url("icon-search.png");
  3 + background-repeat: no-repeat;
  4 + background-position: 10px;
  5 + padding-left: 25px;
  6 +}
  7 +
  8 +input[type='text'].danger {
  9 + background: #F2DEDE!important;
  10 + border-color: #D66;
  11 + text-shadow: 0 1px 1px #fff
  12 +}
  13 +
  14 +fieldset legend {
  15 + font-size: 16px;
  16 +}
  17 +
  18 +.datetime-controls {
  19 + select {
  20 + width: 100px;
  21 + }
  22 +}
  23 +
  24 +.form-actions {
  25 + padding: 17px 20px 18px;
  26 + margin-top: 18px;
  27 + margin-bottom: 18px;
  28 + background-color: whitesmoke;
  29 + border-top: 1px solid #e5e5e5;
  30 + padding-left: 17%;
  31 +}
  32 +
  33 +label.control-label {
  34 + @extend .col-sm-2;
  35 +}
  36 +
  37 +.inline-input-group {
  38 + width: 250px;
  39 +}
app/assets/stylesheets/generic/issue_box.scss 0 → 100644
@@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
  1 +/**
  2 + * Issue box:
  3 + * Huge block (one per page) for storing title, descripion and other information.
  4 + * Used for Issue#show page, MergeRequest#show page etc
  5 + *
  6 + * CLasses:
  7 + * .issue-box - Regular box
  8 + */
  9 +
  10 +.issue-box {
  11 + color: #666;
  12 + margin:20px 0;
  13 + background: #FAFAFA;
  14 + border: 1px solid #DDD;
  15 +
  16 + .control-group {
  17 + margin-bottom: 0;
  18 + }
  19 +
  20 + .title {
  21 + font-size: 20px;
  22 + font-weight: 500;
  23 + line-height: 28px;
  24 + margin: 0;
  25 + color: #444;
  26 + }
  27 +
  28 + .context {
  29 + border: none;
  30 + background-color: #f5f5f5;
  31 + border: none;
  32 + border-top: 1px solid #eee;
  33 + }
  34 +
  35 + .description {
  36 + border-top: 1px solid #eee;
  37 + }
  38 +
  39 + .title, .context, .description {
  40 + padding: 15px;
  41 +
  42 + .clearfix {
  43 + margin: 0;
  44 + }
  45 + }
  46 +}
app/assets/stylesheets/generic/lists.scss 0 → 100644
@@ -0,0 +1,97 @@ @@ -0,0 +1,97 @@
  1 +/**
  2 + * Well styled list
  3 + *
  4 + */
  5 +.well-list {
  6 + margin: 0;
  7 + padding: 0;
  8 + list-style: none;
  9 +
  10 + li {
  11 + padding: 10px;
  12 + min-height: 20px;
  13 + border-bottom: 1px solid #eee;
  14 + border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  15 +
  16 + &.disabled {
  17 + color: #888;
  18 + }
  19 +
  20 + &.unstyled {
  21 + &:hover {
  22 + background: none;
  23 + }
  24 + }
  25 +
  26 + &.smoke { background-color: #f5f5f5; }
  27 +
  28 + &:hover {
  29 + background: $hover;
  30 + border-bottom: 1px solid #ADF;
  31 + }
  32 +
  33 + &:last-child {
  34 + border-bottom: none;
  35 +
  36 + &.bottom {
  37 + background: #f5f5f5;
  38 + }
  39 + }
  40 +
  41 + .author { color: #999; }
  42 +
  43 + p {
  44 + padding-top: 1px;
  45 + margin: 0;
  46 + color: #222;
  47 + img {
  48 + position: relative;
  49 + top: 3px;
  50 + }
  51 + }
  52 +
  53 + .well-title {
  54 + font-size: 14px;
  55 + line-height: 18px;
  56 + }
  57 + }
  58 +}
  59 +
  60 +ol, ul {
  61 + &.styled {
  62 + li {
  63 + padding: 2px;
  64 + }
  65 + }
  66 +}
  67 +
  68 +/** light list with border-bottom between li **/
  69 +ul.bordered-list {
  70 + margin: 5px 0px;
  71 + padding: 0px;
  72 + li {
  73 + padding: 5px 0;
  74 + border-bottom: 1px solid #EEE;
  75 + overflow: hidden;
  76 + display: block;
  77 + margin: 0px;
  78 + &:last-child { border:none }
  79 + &.active {
  80 + background: #f9f9f9;
  81 + a { font-weight: bold; }
  82 + }
  83 +
  84 + &.light {
  85 + a { color: #777; }
  86 + }
  87 + }
  88 +
  89 + &.top-list {
  90 + li:first-child {
  91 + padding-top: 0;
  92 + h4, h5 {
  93 + margin-top: 0;
  94 + }
  95 + }
  96 + }
  97 +}
app/assets/stylesheets/generic/nav.scss 0 → 100644
@@ -0,0 +1,91 @@ @@ -0,0 +1,91 @@
  1 +/**
  2 + * nav-pills
  3 + *
  4 + */
  5 +.nav-pills {
  6 + .active a {
  7 + background: $primary_color;
  8 + }
  9 +
  10 + > li > a {
  11 + @include border-radius(0);
  12 + }
  13 +
  14 + &.nav-stacked {
  15 + > li > a {
  16 + border-left: 4px solid #EEE;
  17 + padding: 12px;
  18 + color: #777;
  19 + }
  20 + > .active > a {
  21 + border-color: $primary_color;
  22 + background: none;
  23 + color: #333;
  24 + font-weight: bolder;
  25 + }
  26 +
  27 + &.nav-stacked-menu {
  28 + li > a {
  29 + padding: 16px;
  30 + }
  31 + }
  32 + }
  33 +
  34 + &.nav-pills-small {
  35 + > li > a {
  36 + padding: 8px 12px;
  37 + font-size: 12px;
  38 + }
  39 + }
  40 +}
  41 +
  42 +.nav-pills > .active > a > i[class^="icon-"] { background: inherit; }
  43 +
  44 +
  45 +
  46 +/**
  47 + * nav-tabs
  48 + *
  49 + */
  50 +.nav-tabs > li > a, .nav-pills > li > a { color: $style_color; }
  51 +.nav.nav-tabs {
  52 + li {
  53 + > a {
  54 + padding: 8px 20px;
  55 + margin-right: 7px;
  56 + line-height: 20px;
  57 + border-color: #EEE;
  58 + color: #888;
  59 + border-bottom: 1px solid #ddd;
  60 + .badge {
  61 + background-color: #eee;
  62 + color: #888;
  63 + text-shadow: 0 1px 1px #fff;
  64 + }
  65 + i[class^="icon-"] {
  66 + line-height: 14px;
  67 + }
  68 + }
  69 + &.active {
  70 + > a {
  71 + border-color: #CCC;
  72 + border-bottom: 1px solid #fff;
  73 + color: #333;
  74 + font-weight: bold;
  75 + }
  76 + }
  77 + }
  78 +
  79 + &.nav-small-tabs > li > a { padding: 6px 9px; }
  80 +}
  81 +
  82 +
  83 +
  84 +/**
  85 + * fix to keep tooltips position in top navigation bar
  86 + *
  87 + */
  88 +.navbar .nav > li {
  89 + position: relative;
  90 + white-space: nowrap;
  91 +}
app/assets/stylesheets/generic/selects.scss 0 → 100644
@@ -0,0 +1,68 @@ @@ -0,0 +1,68 @@
  1 +/** Chosen.js selectbox style override **/
  2 +.chosen-container {
  3 + min-width: 100px;
  4 +
  5 + .chosen-single {
  6 + height: 26px;
  7 + background: #EEE !important;
  8 + border: 1px solid #DDD !important;
  9 + @include box-shadow(none !important);
  10 + @include border-radius(4px !important);
  11 + }
  12 +
  13 + .chosen-results li.highlighted {
  14 + background: #29b;
  15 + }
  16 +
  17 + .chosen-drop {
  18 + margin-top: 10px;
  19 + border: 1px solid #DDD !important;
  20 + @include border-radius(4px !important);
  21 + }
  22 +
  23 + .chosen-search input {
  24 + border: 1px solid #CCC !important;
  25 + @include box-shadow(none !important);
  26 + }
  27 +}
  28 +
  29 +/** Select2 styling **/
  30 +.select2-container .select2-choice {
  31 + @include bg-light-gray-gradient;
  32 +}
  33 +
  34 +.select2-container .select2-choice div {
  35 + border: none;
  36 + background: none;
  37 +}
  38 +
  39 +.select2-drop {
  40 + padding-top: 8px;
  41 +}
  42 +
  43 +.select2-no-results, .select2-searching {
  44 + padding: 7px;
  45 + color: #666;
  46 +}
  47 +
  48 +.chosen-container .chosen-single div b {
  49 + background-position-y: 0px !important;
  50 +}
  51 +
  52 +.chosen-container .chosen-drop .chosen-search input {
  53 + background-position-y: -24px !important;
  54 +}
  55 +
  56 +.chosen-compact {
  57 + max-width: 170px !important;
  58 +}
  59 +
  60 +select {
  61 + &.chosen {
  62 + min-width: 200px;
  63 + }
  64 +
  65 + &.chosen-sm {
  66 + min-width: 100px;
  67 + }
  68 +}
app/assets/stylesheets/generic/typography.scss 0 → 100644
@@ -0,0 +1,104 @@ @@ -0,0 +1,104 @@
  1 +/**
  2 + * Headers
  3 + *
  4 + */
  5 +h1.page-title {
  6 + @include page-title;
  7 + font-size: 28px;
  8 +}
  9 +
  10 +h2.page-title {
  11 + @include page-title;
  12 + font-size: 24px;
  13 +}
  14 +
  15 +h3.page-title {
  16 + @include page-title;
  17 +}
  18 +
  19 +h6 {
  20 + color: #888;
  21 + text-transform: uppercase;
  22 +}
  23 +
  24 +/** CODE **/
  25 +pre {
  26 + font-family: $monospace_font;
  27 +
  28 + &.dark {
  29 + background: #333;
  30 + color: #f5f5f5;
  31 + }
  32 +}
  33 +
  34 +/**
  35 + * Links
  36 + *
  37 + */
  38 +a {
  39 + outline: none;
  40 + color: $link_color;
  41 + &:hover {
  42 + text-decoration: none;
  43 + color: $primary_color;
  44 + }
  45 +
  46 + &:focus {
  47 + text-decoration: underline;
  48 + }
  49 +
  50 + &.dark {
  51 + color: $style_color;
  52 + }
  53 +
  54 + &.lined {
  55 + text-decoration: underline;
  56 + &:hover { text-decoration: underline; }
  57 + }
  58 +
  59 + &.gray {
  60 + color: gray;
  61 + }
  62 +
  63 + &.supp_diff_link {
  64 + text-align: center;
  65 + padding: 20px 0;
  66 + background: #f1f1f1;
  67 + width: 100%;
  68 + float: left;
  69 + }
  70 +
  71 + &.neib {
  72 + margin-right: 15px;
  73 + }
  74 +}
  75 +
  76 +a:focus {
  77 + outline: none;
  78 +}
  79 +
  80 +.monospace {
  81 + font-family: $monospace_font;
  82 +}
  83 +
  84 +/**
  85 + * Wiki typography
  86 + *
  87 + */
  88 +.wiki {
  89 + @include md-typography;
  90 +
  91 + font-size: 14px;
  92 + line-height: 1.6;
  93 + .white .highlight pre {
  94 + background: #f5f5f5;
  95 + }
  96 + ul {
  97 + padding: 0;
  98 + margin: 0 0 9px 25px !important;
  99 + }
  100 +}
  101 +
  102 +.md {
  103 + @include md-typography;
  104 +}
app/assets/stylesheets/generic/ui_box.scss 0 → 100644
@@ -0,0 +1,173 @@ @@ -0,0 +1,173 @@
  1 +/**
  2 + * UI box:
  3 + * Block element for separating information on page.
  4 + * Used for storing issues lists, grouped data.
  5 + * You can have multiple ui boxes on one page
  6 + *
  7 + * Classes:
  8 + * .ui-box - for any block & widgets
  9 + * .ui-box.ui-box-small - same but with smaller title
  10 + * .ui-box.ui-box-danger - with red title
  11 + *
  12 + * Ex. 1: List
  13 + * .ui-box
  14 + * .title
  15 + * # title here
  16 + * %ul
  17 + * # content here
  18 + *
  19 + * Ex. 2: Block data
  20 + * .ui-box
  21 + * .title
  22 + * # title here
  23 + * .body
  24 + * # content here
  25 + *
  26 + */
  27 +
  28 +.ui-box {
  29 + background: #FFF;
  30 + margin-bottom: 20px;
  31 + border: 1px solid #DDD;
  32 + word-wrap: break-word;
  33 +
  34 + img {
  35 + max-width: 100%;
  36 + }
  37 +
  38 + pre {
  39 + code {
  40 + background: none !important;
  41 + }
  42 + }
  43 +
  44 + ul {
  45 + margin: 0;
  46 + padding: 0;
  47 + }
  48 +
  49 + .title {
  50 + background-color: #EEE;
  51 + border-bottom: 1px solid #DDD;
  52 + color: #666;
  53 + font-size: 16px;
  54 + text-shadow: 0 1px 1px #fff;
  55 + padding: 0 10px;
  56 + font-size: 14px;
  57 + line-height: 40px;
  58 + font-weight: normal;
  59 + margin: 0;
  60 +
  61 + > a {
  62 + text-shadow: 0 1px 1px #fff;
  63 + }
  64 +
  65 + form {
  66 + margin-bottom: 0;
  67 + margin-top: 0;
  68 + }
  69 +
  70 + .btn {
  71 + vertical-align: middle;
  72 + padding: 4px 12px;
  73 + @include box-shadow(0 0px 1px 1px #f2f2f2);
  74 + }
  75 +
  76 + .nav-pills {
  77 + > li {
  78 + > a {
  79 + padding: 13px;
  80 + margin: 0;
  81 + font-size: 13px;
  82 + }
  83 + &.active {
  84 + > a {
  85 + background: #D5D5D5;
  86 + color: $style_color;
  87 + @include border-radius(0);
  88 + border-radius: 0;
  89 + border-left: 1px solid #CCC;
  90 + border-right: 1px solid #CCC;
  91 + }
  92 + }
  93 + }
  94 + }
  95 + }
  96 +
  97 + .body {
  98 + padding: 10px;
  99 + }
  100 +
  101 + &.padded {
  102 + h5, .title {
  103 + margin: -20px;
  104 + margin-bottom: 0;
  105 + padding: 5px 20px;
  106 + }
  107 + }
  108 +
  109 + .row_title {
  110 + font-weight: 500;
  111 + color: #444;
  112 + &:hover {
  113 + color: #444;
  114 + text-decoration: underline;
  115 + }
  116 + }
  117 +
  118 + .form-holder {
  119 + padding-top: 20px;
  120 + form {
  121 + margin-bottom: 0;
  122 + legend {
  123 + text-indent: 10px;
  124 + }
  125 + .form-actions {
  126 + margin-bottom: 0;
  127 + }
  128 + }
  129 + }
  130 +}
  131 +
  132 +/*
  133 + * Small box
  134 + */
  135 +.ui-box.ui-box-small {
  136 + margin-bottom: 10px;
  137 +
  138 + .title {
  139 + font-size: 13px;
  140 + line-height: 30px;
  141 +
  142 + a {
  143 + color: #666;
  144 + &:hover {
  145 + text-decoration: underline;
  146 + }
  147 + }
  148 + }
  149 +}
  150 +
  151 +/*
  152 + * Danger box
  153 + */
  154 +.ui-box.ui-box-danger {
  155 + background: #f7f7f7;
  156 + border: none;
  157 +
  158 + .title {
  159 + background: #D65;
  160 + color: #fff;
  161 + text-shadow: none;
  162 + font-weight: 500;
  163 + }
  164 +}
  165 +
  166 +/*
  167 + * Block under tw-bootstrap tabs
  168 + */
  169 +.tab-pane {
  170 + .ui-box {
  171 + margin: 3px 3px 25px 3px;
  172 + }
  173 +}
app/assets/stylesheets/gitlab_bootstrap.scss
@@ -1,68 +0,0 @@ @@ -1,68 +0,0 @@
1 -/** Override bootstrap variables **/  
2 -$baseFontSize: 13px !default;  
3 -$baseLineHeight: 18px !default;  
4 -  
5 -/**  
6 - * BOOTSTRAP  
7 - */  
8 -@import "bootstrap/variables";  
9 -@import "bootstrap/mixins";  
10 -@import "bootstrap/reset";  
11 -@import "bootstrap/scaffolding";  
12 -@import "bootstrap/grid";  
13 -@import "bootstrap/layouts";  
14 -@import "bootstrap/type";  
15 -@import "bootstrap/code";  
16 -@import "bootstrap/forms";  
17 -@import "bootstrap/tables";  
18 -@import "bootstrap/sprites";  
19 -@import "bootstrap/dropdowns";  
20 -@import "bootstrap/wells";  
21 -@import "bootstrap/component-animations";  
22 -@import "bootstrap/close";  
23 -@import "bootstrap/button-groups";  
24 -@import "bootstrap/alerts";  
25 -@import "bootstrap/navs";  
26 -@import "bootstrap/navbar";  
27 -@import "bootstrap/breadcrumbs";  
28 -@import "bootstrap/pagination";  
29 -@import "bootstrap/pager";  
30 -@import "bootstrap/modals";  
31 -@import "bootstrap/tooltip";  
32 -@import "bootstrap/popovers";  
33 -@import "bootstrap/thumbnails";  
34 -@import "bootstrap/media";  
35 -@import "bootstrap/labels-badges";  
36 -@import "bootstrap/progress-bars";  
37 -@import "bootstrap/accordion";  
38 -@import "bootstrap/carousel";  
39 -@import "bootstrap/hero-unit";  
40 -@import "bootstrap/utilities";  
41 -@import "bootstrap/responsive-utilities";  
42 -@import "bootstrap/responsive-1200px-min";  
43 -  
44 -/**  
45 - * Font icons  
46 - *  
47 - */  
48 -@import "font-awesome";  
49 -  
50 -/**  
51 - * GitLab bootstrap.  
52 - * Overrides some styles of twitter bootstrap.  
53 - * Also give some common classes for GitLab app  
54 - */  
55 -@import "gitlab_bootstrap/variables.scss";  
56 -@import "gitlab_bootstrap/fonts.scss";  
57 -@import "gitlab_bootstrap/mixins.scss";  
58 -@import "gitlab_bootstrap/avatar.scss";  
59 -@import "gitlab_bootstrap/nav.scss";  
60 -@import "gitlab_bootstrap/common.scss";  
61 -@import "gitlab_bootstrap/typography.scss";  
62 -@import "gitlab_bootstrap/buttons.scss";  
63 -@import "gitlab_bootstrap/blocks.scss";  
64 -@import "gitlab_bootstrap/ui_box.scss";  
65 -@import "gitlab_bootstrap/issue_box.scss";  
66 -@import "gitlab_bootstrap/files.scss";  
67 -@import "gitlab_bootstrap/lists.scss";  
68 -@import "gitlab_bootstrap/forms.scss";  
app/assets/stylesheets/gitlab_bootstrap/avatar.scss
@@ -1,23 +0,0 @@ @@ -1,23 +0,0 @@
1 -.avatar {  
2 - float: left;  
3 - margin-right: 12px;  
4 - width: 40px;  
5 - padding: 1px;  
6 - @include border-radius(4px);  
7 -  
8 - &.avatar-inline {  
9 - float: none;  
10 - margin-left: 3px;  
11 -  
12 - &.s16 { margin-right: 2px; }  
13 - &.s24 { margin-right: 2px; }  
14 - }  
15 -  
16 - &.s16 { width: 16px; height: 16px; margin-right: 6px; }  
17 - &.s24 { width: 24px; height: 24px; margin-right: 8px; }  
18 - &.s26 { width: 26px; height: 26px; margin-right: 8px; }  
19 - &.s32 { width: 32px; height: 32px; margin-right: 10px; }  
20 - &.s60 { width: 60px; height: 60px; margin-right: 12px; }  
21 - &.s90 { width: 90px; height: 90px; margin-right: 15px; }  
22 - &.s160 { width: 160px; height: 160px; margin-right: 20px; }  
23 -}  
app/assets/stylesheets/gitlab_bootstrap/blocks.scss
@@ -1,4 +0,0 @@ @@ -1,4 +0,0 @@
1 -.light-well {  
2 - background: #f9f9f9;  
3 - padding: 15px;  
4 -}  
app/assets/stylesheets/gitlab_bootstrap/buttons.scss
@@ -1,158 +0,0 @@ @@ -1,158 +0,0 @@
1 -.btn {  
2 - display: inline-block;  
3 - margin-bottom: 0;  
4 - font-weight: normal;  
5 - text-align: center;  
6 - vertical-align: middle;  
7 - cursor: pointer;  
8 - background-image: none;  
9 - border: 1px solid transparent;  
10 - white-space: nowrap;  
11 - padding: 6px 12px;  
12 - font-size: 13px;  
13 - line-height: 18px;  
14 - border-radius: 4px;  
15 - -webkit-user-select: none;  
16 - -moz-user-select: none;  
17 - -ms-user-select: none;  
18 - -o-user-select: none;  
19 - user-select: none;  
20 - color: #444444;  
21 - background-color: #fff;  
22 - border-color: #ccc;  
23 - text-shadow: none;  
24 -  
25 - &.hover,  
26 - &:hover {  
27 - color: #444444;  
28 - text-decoration: none;  
29 - background-color: #ebebeb;  
30 - border-color: #adadad;  
31 - }  
32 -  
33 - &.focus,  
34 - &:focus {  
35 - color: #444444;  
36 - text-decoration: none;  
37 - outline: thin dotted #333;  
38 - outline: 5px auto -webkit-focus-ring-color;  
39 - outline-offset: -2px;  
40 - }  
41 -  
42 - &.active,  
43 - &:active {  
44 - outline: 0;  
45 - background-image: none;  
46 - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);  
47 - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);  
48 - }  
49 -  
50 - &.disabled,  
51 - &[disabled] {  
52 - cursor: not-allowed;  
53 - pointer-events: none;  
54 - opacity: 0.65;  
55 - filter: alpha(opacity=65);  
56 - -webkit-box-shadow: none;  
57 - box-shadow: none;  
58 - }  
59 -  
60 - &.btn-primary {  
61 - color: #ffffff;  
62 - background-color: #429bca;  
63 - border-color: #358ebd;  
64 -  
65 - &.hover,  
66 - &:hover,  
67 - &.disabled,  
68 - &[disabled] {  
69 - color: #ffffff;  
70 - background-color: #3286b1;  
71 - border-color: #286e8e;  
72 - }  
73 - }  
74 -  
75 - &.btn-success {  
76 - color: #ffffff;  
77 - background-color: #5cb85c;  
78 - border-color: #4cae4c;  
79 -  
80 -  
81 - &.hover,  
82 - &:hover,  
83 - &.disabled,  
84 - &[disabled] {  
85 - color: #ffffff;  
86 - background-color: #47a447;  
87 - border-color: #398439;  
88 - }  
89 - }  
90 -  
91 - &.btn-danger {  
92 - color: #ffffff;  
93 - background-color: #d9534f;  
94 - border-color: #d43f3a;  
95 -  
96 -  
97 - &.hover,  
98 - &:hover,  
99 - &.disabled,  
100 - &[disabled] {  
101 - color: #ffffff;  
102 - background-color: #d2322d;  
103 - border-color: #ac2925;  
104 - }  
105 - }  
106 -  
107 - &.btn-new {  
108 - @extend .btn-success;  
109 - }  
110 -  
111 - &.btn-create {  
112 - @extend .wide;  
113 - @extend .btn-success;  
114 - }  
115 -  
116 - &.btn-save {  
117 - @extend .wide;  
118 - @extend .btn-primary;  
119 - }  
120 -  
121 - &.btn-close,  
122 - &.btn-remove {  
123 - @extend .btn-danger;  
124 - }  
125 -  
126 - &.btn-cancel {  
127 - float: right;  
128 - }  
129 -  
130 - &.wide {  
131 - padding-left: 20px;  
132 - padding-right: 20px;  
133 - }  
134 -  
135 - &.btn-small {  
136 - padding: 2px 10px;  
137 - font-size: 12px;  
138 - }  
139 -  
140 - &.btn-tiny {  
141 - font-size: 11px;  
142 - padding: 2px 6px;  
143 - line-height: 16px;  
144 - margin: 2px;  
145 - }  
146 -  
147 - &.grouped {  
148 - margin-right: 7px;  
149 - float: left;  
150 - }  
151 -  
152 - &.btn-block {  
153 - width: 100%;  
154 - margin: 0;  
155 - padding: 6px 0;  
156 - margin-bottom: 15px;  
157 - }  
158 -}  
app/assets/stylesheets/gitlab_bootstrap/common.scss
@@ -1,133 +0,0 @@ @@ -1,133 +0,0 @@
1 -/** COLORS **/  
2 -.cgray { color: gray }  
3 -.clgray { color: #BBB }  
4 -.cred { color: #D12F19 }  
5 -.cgreen { color: #4a2 }  
6 -.cblue { color: #29A }  
7 -.cblack { color: #111 }  
8 -.cdark { color: #444 }  
9 -.camber { color: #ffc000 }  
10 -.cwhite { color: #fff!important }  
11 -.bgred { background: #F2DEDE!important }  
12 -  
13 -/** COMMON CLASSES **/  
14 -.left { float:left }  
15 -  
16 -.prepend-top-10 { margin-top:10px }  
17 -.prepend-top-20 { margin-top:20px }  
18 -.prepend-left-10 { margin-left:10px }  
19 -.prepend-left-20 { margin-left:20px }  
20 -.append-right-10 { margin-right:10px }  
21 -.append-right-20 { margin-right:20px }  
22 -.append-bottom-10 { margin-bottom:10px }  
23 -.append-bottom-20 { margin-bottom:20px }  
24 -.inline { display: inline-block }  
25 -  
26 -.padded { padding:20px }  
27 -.ipadded { padding:20px!important }  
28 -.lborder { border-left:1px solid #eee }  
29 -.underlined_link { text-decoration: underline; }  
30 -.hint { font-style: italic; color: #999; }  
31 -.light { color: #888 }  
32 -.tiny { font-weight: normal }  
33 -.vtop { vertical-align: top !important; }  
34 -  
35 -  
36 -/** ALERT MESSAGES **/  
37 -.alert.alert-disabled {  
38 - background: #EEE;  
39 - color: #777;  
40 - border-color: #DDD;  
41 -}  
42 -  
43 -/** HELPERS **/  
44 -.nothing_here_message {  
45 - text-align: center;  
46 - padding: 20px;  
47 - color: #666;  
48 - font-weight: normal;  
49 - font-size: 16px;  
50 - line-height: 36px;  
51 -}  
52 -  
53 -.slead {  
54 - color: #666;  
55 - font-size: 14px;  
56 - margin-bottom: 12px;  
57 - font-weight: normal;  
58 - line-height: 24px;  
59 -}  
60 -  
61 -  
62 -.tab-content {  
63 - overflow: visible;  
64 -}  
65 -  
66 -@media (max-width: 1200px) {  
67 - .only-wide {  
68 - display: none;  
69 - }  
70 -}  
71 -  
72 -.pagination ul > li > a, .pagination ul > li >span {  
73 - @include linear-gradient(#f1f1f1, #e1e1e1);  
74 - color: #333;  
75 - text-shadow: 0 1px 1px #FFF;  
76 -}  
77 -  
78 -pre.well-pre {  
79 - border: 1px solid #EEE;  
80 - background: #f9f9f9;  
81 - border-radius: 0;  
82 - color: #555;  
83 -}  
84 -  
85 -.input-append .btn.active, .input-prepend .btn.active {  
86 - background: #CCC;  
87 - border-color: #BBB;  
88 - text-shadow: 0 1px 1px #fff;  
89 - font-weight: bold;  
90 - @include box-shadow(inset 0 2px 4px rgba(0,0,0,.15));  
91 -}  
92 -  
93 -.label {  
94 - padding: 2px 4px;  
95 - font-size: 12px;  
96 - font-style: normal;  
97 - font-weight: normal;  
98 -  
99 - &.label-gray {  
100 - background-color: #eee;  
101 - color: #999;  
102 - text-shadow: none;  
103 - }  
104 -}  
105 -  
106 -/** Big Labels **/  
107 -.state-label {  
108 - font-size: 14px;  
109 - padding: 6px 25px;  
110 - text-align: center;  
111 - @include border-radius(4px);  
112 - text-shadow: none;  
113 - margin-left: 10px;  
114 -  
115 - &.state-label-green {  
116 - background: #4A4;  
117 - color: #FFF;  
118 - }  
119 -  
120 - &.state-label-red {  
121 - background: #DA4E49;  
122 - color: #FFF;  
123 - }  
124 -}  
125 -  
126 -.dropdown-menu > li > a {  
127 - text-shadow: none;  
128 -}  
129 -  
130 -.dropdown-menu > li > a:hover,  
131 -.dropdown-menu > li > a:focus {  
132 - background: #29b;  
133 -}  
app/assets/stylesheets/gitlab_bootstrap/files.scss
@@ -1,219 +0,0 @@ @@ -1,219 +0,0 @@
1 -/**  
2 - * File content holder  
3 - *  
4 - */  
5 -.file-holder {  
6 - border: 1px solid #CCC;  
7 - margin-bottom: 1em;  
8 -  
9 - table {  
10 - @extend .table;  
11 - }  
12 -  
13 - .file-title {  
14 - background: #DDD;  
15 - border-bottom: 1px solid #CCC;  
16 - text-shadow: 0 1px 1px #fff;  
17 - margin: 0;  
18 - font-weight: normal;  
19 - font-weight: bold;  
20 - text-align: left;  
21 - color: $style_color;  
22 - padding: 9px 10px;  
23 - height: 18px;  
24 -  
25 - .options {  
26 - float: right;  
27 - margin-top: -5px;  
28 - }  
29 -  
30 - .file_name {  
31 - color: $style_color;  
32 - font-size: 14px;  
33 - text-shadow: 0 1px 1px #fff;  
34 - small {  
35 - color: #999;  
36 - font-size: 13px;  
37 - }  
38 - }  
39 - }  
40 - .file-content {  
41 - background: #fff;  
42 - font-size: 11px;  
43 -  
44 - &.image_file {  
45 - background: #eee;  
46 - text-align: center;  
47 - img {  
48 - padding: 100px;  
49 - max-width: 300px;  
50 - }  
51 - }  
52 -  
53 - &.wiki {  
54 - padding: 20px;  
55 - font-size: 14px;  
56 - line-height: 1.6;  
57 -  
58 - .highlight {  
59 - margin-bottom: 9px;  
60 - @include border-radius(4px);  
61 -  
62 - > pre {  
63 - margin: 0;  
64 - }  
65 - }  
66 - }  
67 -  
68 - &.blob_file {  
69 -  
70 - }  
71 -  
72 - &.blob-no-preview {  
73 - background: #eee;  
74 - text-shadow: 0 1px 2px #FFF;  
75 - padding: 100px 0;  
76 - }  
77 -  
78 - /**  
79 - * Blame file  
80 - */  
81 - &.blame {  
82 - table {  
83 - border: none;  
84 - box-shadow: none;  
85 - margin: 0;  
86 - }  
87 - tr {  
88 - border-bottom: 1px solid #eee;  
89 - }  
90 - td {  
91 - &:first-child {  
92 - border-left: none;  
93 - }  
94 - &:last-child {  
95 - border-right: none;  
96 - }  
97 - background: #fff;  
98 - padding: 5px;  
99 - }  
100 - .author,  
101 - .blame_commit {  
102 - background: #f5f5f5;  
103 - vertical-align: top;  
104 - }  
105 - .lines {  
106 - pre {  
107 - padding: 0;  
108 - margin: 0;  
109 - background: none;  
110 - border: none;  
111 - }  
112 - }  
113 - }  
114 -  
115 - &.logs {  
116 - background: #eee;  
117 - max-height: 700px;  
118 - overflow-y: auto;  
119 -  
120 - ol {  
121 - margin-left: 40px;  
122 - padding: 10px 0;  
123 - border-left: 1px solid #CCC;  
124 - margin-bottom: 0;  
125 - background: white;  
126 - li {  
127 - color: #888;  
128 - p {  
129 - margin: 0;  
130 - color: #333;  
131 - line-height: 24px;  
132 - padding-left: 10px;  
133 - }  
134 -  
135 - &:hover {  
136 - background: $hover;  
137 - }  
138 - }  
139 - }  
140 - }  
141 -  
142 - /**  
143 - * Code file  
144 - */  
145 - &.code {  
146 - padding: 0;  
147 -  
148 - table.lines {  
149 - border: none;  
150 - box-shadow: none;  
151 - margin: 0px;  
152 - padding: 0px;  
153 - table-layout: fixed;  
154 -  
155 - pre {  
156 - border: none;  
157 - border-radius: 0;  
158 - font-family: $monospace_font;  
159 - font-size: 12px !important;  
160 - line-height: 16px !important;  
161 - margin: 0;  
162 - padding: 10px 0;  
163 - }  
164 - td {  
165 - border: none;  
166 - margin: 0;  
167 - padding: 0;  
168 - vertical-align: top;  
169 -  
170 - &:first-child {  
171 - background: #eee;  
172 - width: 50px;  
173 - }  
174 - &:last-child {  
175 - }  
176 - }  
177 - tr:hover {  
178 - background: none;  
179 - }  
180 -  
181 - pre.line_numbers {  
182 - color: #666;  
183 - padding: 10px 6px 10px 0;  
184 - text-align: right;  
185 - background: #EEE;  
186 -  
187 - a {  
188 - color: #666;  
189 -  
190 - i {  
191 - display: none;  
192 - font-size: 14px;  
193 - line-height: 14px;  
194 - }  
195 - &:hover i {  
196 - display: inherit;  
197 - }  
198 - }  
199 - }  
200 -  
201 - .highlight {  
202 - border-left: 1px solid #DEE2E3;  
203 - overflow: auto;  
204 - overflow-y: hidden;  
205 -  
206 - pre {  
207 - white-space: pre;  
208 - word-wrap: normal;  
209 -  
210 - .line {  
211 - padding: 0 10px;  
212 - }  
213 - }  
214 - }  
215 - }  
216 - }  
217 - }  
218 -}  
219 -  
app/assets/stylesheets/gitlab_bootstrap/fonts.scss
@@ -1,2 +0,0 @@ @@ -1,2 +0,0 @@
1 -/** Typo **/  
2 -$monospace_font: 'Menlo', 'Liberation Mono', 'Consolas', 'Courier New', 'andale mono', 'lucida console', monospace;  
app/assets/stylesheets/gitlab_bootstrap/forms.scss
@@ -1,78 +0,0 @@ @@ -1,78 +0,0 @@
1 -form {  
2 - @extend .form-horizontal;  
3 -  
4 - label {  
5 - @extend .control-label;  
6 -  
7 - &.radio-label {  
8 - text-align: left;  
9 - width: 100%;  
10 - margin-left: 0;  
11 -  
12 - input[type="radio"] {  
13 - margin-top: 1px !important;  
14 - }  
15 - }  
16 -  
17 - &.list-label {  
18 - float: none;  
19 - padding: 0 !important;  
20 - margin: 0;  
21 - text-align: left;  
22 - }  
23 - }  
24 -  
25 - &.form-tiny {  
26 - margin: 0;  
27 - }  
28 -}  
29 -  
30 -input.input-xpadding,  
31 -.add-on.input-xpadding {  
32 - padding: 6px 10px;  
33 -}  
34 -  
35 -.control-group {  
36 - .control-label {  
37 - padding-top: 6px;  
38 - }  
39 - .controls {  
40 - input, textarea {  
41 - padding: 6px 10px;  
42 - }  
43 -  
44 - input[type="radio"], input[type="checkbox"] {  
45 - margin-top: 6px;  
46 - }  
47 -  
48 - .add-on {  
49 - padding: 6px;  
50 - }  
51 - }  
52 -}  
53 -  
54 -input[type='search'].search-text-input {  
55 - background-image: url("icon-search.png");  
56 - background-repeat: no-repeat;  
57 - background-position: 10px;  
58 - padding-left: 25px;  
59 - @include border-radius(4px);  
60 - border: 1px solid #ccc;  
61 -}  
62 -  
63 -input[type='text'].danger {  
64 - background: #F2DEDE!important;  
65 - border-color: #D66;  
66 - text-shadow: 0 1px 1px #fff  
67 -}  
68 -  
69 -fieldset legend {  
70 - font-size: 16px;  
71 - margin-bottom: 10px;  
72 -}  
73 -  
74 -.datetime-controls {  
75 - select {  
76 - width: 100px;  
77 - }  
78 -}  
app/assets/stylesheets/gitlab_bootstrap/issue_box.scss
@@ -1,46 +0,0 @@ @@ -1,46 +0,0 @@
1 -/**  
2 - * Issue box:  
3 - * Huge block (one per page) for storing title, descripion and other information.  
4 - * Used for Issue#show page, MergeRequest#show page etc  
5 - *  
6 - * CLasses:  
7 - * .issue-box - Regular box  
8 - */  
9 -  
10 -.issue-box {  
11 - color: #666;  
12 - margin:20px 0;  
13 - background: #FAFAFA;  
14 - border: 1px solid #DDD;  
15 -  
16 - .control-group {  
17 - margin-bottom: 0;  
18 - }  
19 -  
20 - .title {  
21 - font-size: 20px;  
22 - font-weight: 500;  
23 - line-height: 28px;  
24 - margin: 0;  
25 - color: #444;  
26 - }  
27 -  
28 - .context {  
29 - border: none;  
30 - background-color: #f5f5f5;  
31 - border: none;  
32 - border-top: 1px solid #eee;  
33 - }  
34 -  
35 - .description {  
36 - border-top: 1px solid #eee;  
37 - }  
38 -  
39 - .title, .context, .description {  
40 - padding: 15px;  
41 -  
42 - .clearfix {  
43 - margin: 0;  
44 - }  
45 - }  
46 -}  
app/assets/stylesheets/gitlab_bootstrap/lists.scss
@@ -1,95 +0,0 @@ @@ -1,95 +0,0 @@
1 -/**  
2 - * Well styled list  
3 - *  
4 - */  
5 -.well-list {  
6 - margin: 0;  
7 - list-style: none;  
8 - li {  
9 - padding: 10px;  
10 - min-height: 20px;  
11 - border-bottom: 1px solid #eee;  
12 - border-bottom: 1px solid rgba(0, 0, 0, 0.05);  
13 -  
14 - &.disabled {  
15 - color: #888;  
16 - }  
17 -  
18 - &.unstyled {  
19 - &:hover {  
20 - background: none;  
21 - }  
22 - }  
23 -  
24 - &.smoke { background-color: #f5f5f5; }  
25 -  
26 - &:hover {  
27 - background: $hover;  
28 - border-bottom: 1px solid #ADF;  
29 - }  
30 -  
31 - &:last-child {  
32 - border-bottom: none;  
33 -  
34 - &.bottom {  
35 - background: #f5f5f5;  
36 - }  
37 - }  
38 -  
39 - .author { color: #999; }  
40 -  
41 - p {  
42 - padding-top: 1px;  
43 - margin: 0;  
44 - color: #222;  
45 - img {  
46 - position: relative;  
47 - top: 3px;  
48 - }  
49 - }  
50 -  
51 - .well-title {  
52 - font-size: 14px;  
53 - line-height: 18px;  
54 - }  
55 - }  
56 -}  
57 -  
58 -ol, ul {  
59 - &.styled {  
60 - li {  
61 - padding: 2px;  
62 - }  
63 - }  
64 -}  
65 -  
66 -/** light list with border-bottom between li **/  
67 -ul.bordered-list {  
68 - margin: 5px 0px;  
69 - padding: 0px;  
70 - li {  
71 - padding: 5px 0;  
72 - border-bottom: 1px solid #EEE;  
73 - overflow: hidden;  
74 - display: block;  
75 - margin: 0px;  
76 - &:last-child { border:none }  
77 - &.active {  
78 - background: #f9f9f9;  
79 - a { font-weight: bold; }  
80 - }  
81 -  
82 - &.light {  
83 - a { color: #777; }  
84 - }  
85 - }  
86 -  
87 - &.top-list {  
88 - li:first-child {  
89 - padding-top: 0;  
90 - h4, h5 {  
91 - margin-top: 0;  
92 - }  
93 - }  
94 - }  
95 -}  
app/assets/stylesheets/gitlab_bootstrap/mixins.scss
@@ -1,144 +0,0 @@ @@ -1,144 +0,0 @@
1 -/**  
2 - * Generic mixins  
3 - */  
4 - @mixin box-shadow($shadow) {  
5 - -webkit-box-shadow: $shadow;  
6 - -moz-box-shadow: $shadow;  
7 - -ms-box-shadow: $shadow;  
8 - -o-box-shadow: $shadow;  
9 - box-shadow: $shadow;  
10 -}  
11 -  
12 -@mixin border-radius($radius) {  
13 - -webkit-border-radius: $radius;  
14 - -moz-border-radius: $radius;  
15 - -ms-border-radius: $radius;  
16 - -o-border-radius: $radius;  
17 - border-radius: $radius;  
18 -}  
19 -  
20 -@mixin border-radius-left($radius) {  
21 - @include border-radius($radius 0 0 $radius)  
22 -}  
23 -  
24 -@mixin linear-gradient($from, $to) {  
25 - background-image: -webkit-gradient(linear, 0 0, 0 100%, from($from), to($to));  
26 - background-image: -webkit-linear-gradient($from, $to);  
27 - background-image: -moz-linear-gradient($from, $to);  
28 - background-image: -ms-linear-gradient($from, $to);  
29 - background-image: -o-linear-gradient($from, $to);  
30 -}  
31 -  
32 -@mixin transition($transition) {  
33 - -webkit-transition: $transition;  
34 - -moz-transition: $transition;  
35 - -ms-transition: $transition;  
36 - -o-transition: $transition;  
37 - transition: $transition;  
38 -}  
39 -  
40 -/**  
41 - * Prefilled mixins  
42 - * Mixins with fixed values  
43 - */  
44 -@mixin bg-light-gray-gradient {  
45 - background: #f1f1f1;  
46 - background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #f5f5f5), to(#e1e1e1));  
47 - background-image: -webkit-linear-gradient(#f5f5f5 6.6%, #e1e1e1);  
48 - background-image: -moz-linear-gradient(#f5f5f5 6.6%, #e1e1e1);  
49 - background-image: -ms-linear-gradient(#f5f5f5 6.6%, #e1e1e1);  
50 - background-image: -o-linear-gradient(#f5f5f5 6.6%, #e1e1e1);  
51 -}  
52 -  
53 -@mixin bg-gray-gradient {  
54 - background: #eee;  
55 - background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf));  
56 - background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf);  
57 - background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf);  
58 - background-image: -ms-linear-gradient(#eee 6.6%, #dfdfdf);  
59 - background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);  
60 -}  
61 -  
62 -@mixin bg-dark-gray-gradient {  
63 - background: #eee;  
64 - background-image: -webkit-linear-gradient(#e9e9e9, #d7d7d7);  
65 - background-image: -moz-linear-gradient(#e9e9e9, #d7d7d7);  
66 - background-image: -ms-linear-gradient(#e9e9e9, #d7d7d7);  
67 - background-image: -o-linear-gradient(#e9e9e9, #d7d7d7);  
68 -}  
69 -  
70 -@mixin shade {  
71 - @include box-shadow(0 0 3px #ddd);  
72 -}  
73 -  
74 -@mixin solid-shade {  
75 - @include box-shadow(0 0 0 3px #f1f1f1);  
76 -}  
77 -  
78 -@mixin header-font {  
79 - color: $style_color;  
80 - text-shadow: 0 1px 1px #FFF;  
81 - font-size: 16px;  
82 - line-height: 40px;  
83 - font-weight: normal;  
84 -}  
85 -  
86 -@mixin md-typography {  
87 - *:first-child {  
88 - margin-top: 0;  
89 - }  
90 -  
91 - code { padding: 0 4px; }  
92 -  
93 - h1 {  
94 - margin-top: 45px;  
95 - font-size: 2.5em;  
96 - }  
97 -  
98 - h2 {  
99 - margin-top: 40px;  
100 - font-size: 2em;  
101 - }  
102 -  
103 - h3 {  
104 - margin-top: 35px;  
105 - font-size: 2em;  
106 - }  
107 -  
108 - h4 {  
109 - margin-top: 30px;  
110 - font-size: 1.5em;  
111 - }  
112 -  
113 - blockquote p {  
114 - color: #888;  
115 - font-size: 14px;  
116 - line-height: 1.5;  
117 - }  
118 -  
119 - table {  
120 - @extend .table;  
121 - @extend .table-bordered;  
122 - th {  
123 - background: #EEE;  
124 - }  
125 - }  
126 -  
127 - code {  
128 - font-size: inherit;  
129 - font-weight: inherit;  
130 - color: #555;  
131 - }  
132 -  
133 - li {  
134 - line-height: 1.5;  
135 - }  
136 -}  
137 -  
138 -@mixin page-title {  
139 - color: #333;  
140 - font-size: 20px;  
141 - line-height: 1.5;  
142 - margin-top: 0px;  
143 - margin-bottom: 15px;  
144 -}  
app/assets/stylesheets/gitlab_bootstrap/nav.scss
@@ -1,91 +0,0 @@ @@ -1,91 +0,0 @@
1 -/**  
2 - * nav-pills  
3 - *  
4 - */  
5 -.nav-pills {  
6 - .active a {  
7 - background: $primary_color;  
8 - }  
9 -  
10 - > li > a {  
11 - @include border-radius(0);  
12 - }  
13 -  
14 - &.nav-stacked {  
15 - > li > a {  
16 - border-left: 4px solid #EEE;  
17 - padding: 12px;  
18 - color: #777;  
19 - }  
20 - > .active > a {  
21 - border-color: $primary_color;  
22 - background: none;  
23 - color: #333;  
24 - font-weight: bolder;  
25 - }  
26 -  
27 - &.nav-stacked-menu {  
28 - li > a {  
29 - padding: 16px;  
30 - }  
31 - }  
32 - }  
33 -  
34 - &.nav-pills-small {  
35 - > li > a {  
36 - padding: 8px 12px;  
37 - font-size: 12px;  
38 - }  
39 - }  
40 -}  
41 -  
42 -.nav-pills > .active > a > i[class^="icon-"] { background: inherit; }  
43 -  
44 -  
45 -  
46 -/**  
47 - * nav-tabs  
48 - *  
49 - */  
50 -.nav-tabs > li > a, .nav-pills > li > a { color: $style_color; }  
51 -.nav.nav-tabs {  
52 - li {  
53 - > a {  
54 - padding: 8px 20px;  
55 - margin-right: 7px;  
56 - line-height: 20px;  
57 - border-color: #EEE;  
58 - color: #888;  
59 - border-bottom: 1px solid #ddd;  
60 - .badge {  
61 - background-color: #eee;  
62 - color: #888;  
63 - text-shadow: 0 1px 1px #fff;  
64 - }  
65 - i[class^="icon-"] {  
66 - line-height: 14px;  
67 - }  
68 - }  
69 - &.active {  
70 - > a {  
71 - border-color: #CCC;  
72 - border-bottom: 1px solid #fff;  
73 - color: #333;  
74 - font-weight: bold;  
75 - }  
76 - }  
77 - }  
78 -  
79 - &.nav-small-tabs > li > a { padding: 6px 9px; }  
80 -}  
81 -  
82 -  
83 -  
84 -/**  
85 - * fix to keep tooltips position in top navigation bar  
86 - *  
87 - */  
88 -.navbar .nav > li {  
89 - position: relative;  
90 - white-space: nowrap;  
91 -}  
app/assets/stylesheets/gitlab_bootstrap/typography.scss
@@ -1,108 +0,0 @@ @@ -1,108 +0,0 @@
1 -/**  
2 - * Headers  
3 - *  
4 - */  
5 -h1, h2, h3, h4, h5, h6 {  
6 - font-weight: 500;  
7 - line-height: 1.1;  
8 -}  
9 -  
10 -h1.page-title {  
11 - @include page-title;  
12 - font-size: 28px;  
13 -}  
14 -  
15 -h2.page-title {  
16 - @include page-title;  
17 - font-size: 24px;  
18 -}  
19 -  
20 -h3.page-title {  
21 - @include page-title;  
22 -}  
23 -  
24 -h6 {  
25 - color: #888;  
26 - text-transform: uppercase;  
27 -}  
28 -  
29 -/** CODE **/  
30 -pre {  
31 - font-family: $monospace_font;  
32 -  
33 - &.dark {  
34 - background: #333;  
35 - color: #f5f5f5;  
36 - }  
37 -}  
38 -  
39 -/**  
40 - * Links  
41 - *  
42 - */  
43 -a {  
44 - outline: none;  
45 - color: $link_color;  
46 - &:hover {  
47 - text-decoration: none;  
48 - color: $primary_color;  
49 - }  
50 -  
51 - &:focus {  
52 - text-decoration: underline;  
53 - }  
54 -  
55 - &.dark {  
56 - color: $style_color;  
57 - }  
58 -  
59 - &.lined {  
60 - text-decoration: underline;  
61 - &:hover { text-decoration: underline; }  
62 - }  
63 -  
64 - &.gray {  
65 - color: gray;  
66 - }  
67 -  
68 - &.supp_diff_link {  
69 - text-align: center;  
70 - padding: 20px 0;  
71 - background: #f1f1f1;  
72 - width: 100%;  
73 - float: left;  
74 - }  
75 -  
76 - &.neib {  
77 - margin-right: 15px;  
78 - }  
79 -}  
80 -  
81 -a:focus {  
82 - outline: none;  
83 -}  
84 -  
85 -.monospace {  
86 - font-family: $monospace_font;  
87 -}  
88 -  
89 -/**  
90 - * Wiki typography  
91 - *  
92 - */  
93 -.wiki {  
94 - @include md-typography;  
95 -  
96 - font-size: 14px;  
97 - line-height: 1.6;  
98 - .white .highlight pre {  
99 - background: #f5f5f5;  
100 - }  
101 - ul {  
102 - margin: 0 0 9px 25px !important;  
103 - }  
104 -}  
105 -  
106 -.md {  
107 - @include md-typography;  
108 -}  
app/assets/stylesheets/gitlab_bootstrap/ui_box.scss
@@ -1,171 +0,0 @@ @@ -1,171 +0,0 @@
1 -/**  
2 - * UI box:  
3 - * Block element for separating information on page.  
4 - * Used for storing issues lists, grouped data.  
5 - * You can have multiple ui boxes on one page  
6 - *  
7 - * Classes:  
8 - * .ui-box - for any block & widgets  
9 - * .ui-box.ui-box-small - same but with smaller title  
10 - * .ui-box.ui-box-danger - with red title  
11 - *  
12 - * Ex. 1: List  
13 - * .ui-box  
14 - * .title  
15 - * # title here  
16 - * %ul  
17 - * # content here  
18 - *  
19 - * Ex. 2: Block data  
20 - * .ui-box  
21 - * .title  
22 - * # title here  
23 - * .body  
24 - * # content here  
25 - *  
26 - */  
27 -  
28 -.ui-box {  
29 - background: #FFF;  
30 - margin-bottom: 20px;  
31 - border: 1px solid #DDD;  
32 - word-wrap: break-word;  
33 -  
34 - img {  
35 - max-width: 100%;  
36 - }  
37 -  
38 - pre {  
39 - code {  
40 - background: none !important;  
41 - }  
42 - }  
43 -  
44 - ul {  
45 - margin: 0;  
46 - }  
47 -  
48 - .title {  
49 - background-color: #EEE;  
50 - border-bottom: 1px solid #DDD;  
51 - color: #666;  
52 - font-size: 16px;  
53 - text-shadow: 0 1px 1px #fff;  
54 - padding: 0 10px;  
55 - font-size: 14px;  
56 - line-height: 40px;  
57 - font-weight: normal;  
58 - margin: 0;  
59 -  
60 - > a {  
61 - text-shadow: 0 1px 1px #fff;  
62 - }  
63 -  
64 - form {  
65 - margin-bottom: 0;  
66 - margin-top: 0;  
67 - }  
68 -  
69 - .btn {  
70 - vertical-align: middle;  
71 - padding: 4px 12px;  
72 - @include box-shadow(0 0px 1px 1px #f2f2f2);  
73 - }  
74 -  
75 - .nav-pills {  
76 - > li {  
77 - > a {  
78 - padding: 13px;  
79 - margin: 0;  
80 - font-size: 13px;  
81 - }  
82 - &.active {  
83 - > a {  
84 - background: #D5D5D5;  
85 - color: $style_color;  
86 - @include border-radius(0);  
87 - border-radius: 0;  
88 - border-left: 1px solid #CCC;  
89 - border-right: 1px solid #CCC;  
90 - }  
91 - }  
92 - }  
93 - }  
94 - }  
95 -  
96 - .body {  
97 - padding: 10px;  
98 - }  
99 -  
100 - &.padded {  
101 - h5, .title {  
102 - margin: -20px;  
103 - margin-bottom: 0;  
104 - padding: 5px 20px;  
105 - }  
106 - }  
107 -  
108 - .row_title {  
109 - font-weight: 500;  
110 - color: #444;  
111 - &:hover {  
112 - color: #444;  
113 - text-decoration: underline;  
114 - }  
115 - }  
116 -  
117 - .form-holder {  
118 - padding-top: 20px;  
119 - form {  
120 - margin-bottom: 0;  
121 - legend {  
122 - text-indent: 10px;  
123 - }  
124 - .form-actions {  
125 - margin-bottom: 0;  
126 - }  
127 - }  
128 - }  
129 -}  
130 -  
131 -/*  
132 - * Small box  
133 - */  
134 -.ui-box.ui-box-small {  
135 - margin-bottom: 10px;  
136 -  
137 - .title {  
138 - font-size: 13px;  
139 - line-height: 30px;  
140 -  
141 - a {  
142 - color: #666;  
143 - &:hover {  
144 - text-decoration: underline;  
145 - }  
146 - }  
147 - }  
148 -}  
149 -  
150 -/*  
151 - * Danger box  
152 - */  
153 -.ui-box.ui-box-danger {  
154 - background: #f7f7f7;  
155 - border: none;  
156 -  
157 - .title {  
158 - background: #D65;  
159 - color: #fff;  
160 - text-shadow: 0 1px 1px #900;  
161 - }  
162 -}  
163 -  
164 -/*  
165 - * Block under tw-bootstrap tabs  
166 - */  
167 -.tab-pane {  
168 - .ui-box {  
169 - margin: 3px 3px 25px 3px;  
170 - }  
171 -}  
app/assets/stylesheets/gitlab_bootstrap/variables.scss
@@ -1,13 +0,0 @@ @@ -1,13 +0,0 @@
1 -/**  
2 - * General Colors  
3 - */  
4 -$primary_color: #2FA0BB;  
5 -$link_color: #3A89A3;  
6 -$style_color: #474D57;  
7 -$hover: #D9EDF7;  
8 -  
9 -/**  
10 - * Commit Diff Colors  
11 - */  
12 -$added: #63c363;  
13 -$deleted: #f77;  
app/assets/stylesheets/gl_bootstrap.scss 0 → 100644
@@ -0,0 +1,76 @@ @@ -0,0 +1,76 @@
  1 +// Core variables and mixins
  2 +@import "bootstrap/variables";
  3 +@import "bootstrap/mixins";
  4 +
  5 +// Reset
  6 +@import "bootstrap/normalize";
  7 +@import "bootstrap/print";
  8 +
  9 +// Core CSS
  10 +@import "bootstrap/scaffolding";
  11 +@import "bootstrap/type";
  12 +@import "bootstrap/code";
  13 +@import "bootstrap/grid";
  14 +@import "bootstrap/tables";
  15 +@import "bootstrap/forms";
  16 +
  17 +// Components
  18 +@import "bootstrap/component-animations";
  19 +@import "bootstrap/dropdowns";
  20 +@import "bootstrap/button-groups";
  21 +@import "bootstrap/input-groups";
  22 +@import "bootstrap/navs";
  23 +@import "bootstrap/navbar";
  24 +@import "bootstrap/breadcrumbs";
  25 +@import "bootstrap/pagination";
  26 +@import "bootstrap/pager";
  27 +@import "bootstrap/labels";
  28 +@import "bootstrap/badges";
  29 +@import "bootstrap/jumbotron";
  30 +@import "bootstrap/thumbnails";
  31 +@import "bootstrap/alerts";
  32 +@import "bootstrap/progress-bars";
  33 +@import "bootstrap/list-group";
  34 +@import "bootstrap/wells";
  35 +@import "bootstrap/close";
  36 +
  37 +// Components w/ JavaScript
  38 +@import "bootstrap/modals";
  39 +@import "bootstrap/tooltip";
  40 +@import "bootstrap/popovers";
  41 +@import "bootstrap/carousel";
  42 +
  43 +// Utility classes
  44 +.clearfix {
  45 + @include clearfix();
  46 +}
  47 +.center-block {
  48 + @include center-block();
  49 +}
  50 +.pull-right {
  51 + float: right !important;
  52 +}
  53 +.pull-left {
  54 + float: left !important;
  55 +}
  56 +.hide {
  57 + display: none;
  58 +}
  59 +.show {
  60 + display: block !important;
  61 +}
  62 +.invisible {
  63 + visibility: hidden;
  64 +}
  65 +.text-hide {
  66 + @include text-hide();
  67 +}
  68 +.hidden {
  69 + display: none !important;
  70 + visibility: hidden !important;
  71 +}
  72 +.affix {
  73 + position: fixed;
  74 +}
  75 +
  76 +@import "bootstrap/responsive-utilities";
app/assets/stylesheets/main/fonts.scss 0 → 100644
@@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
  1 +/** Typo **/
  2 +$monospace_font: 'Menlo', 'Liberation Mono', 'Consolas', 'Courier New', 'andale mono', 'lucida console', monospace;
app/assets/stylesheets/main/mixins.scss 0 → 100644
@@ -0,0 +1,148 @@ @@ -0,0 +1,148 @@
  1 +/**
  2 + * Generic mixins
  3 + */
  4 + @mixin box-shadow($shadow) {
  5 + -webkit-box-shadow: $shadow;
  6 + -moz-box-shadow: $shadow;
  7 + -ms-box-shadow: $shadow;
  8 + -o-box-shadow: $shadow;
  9 + box-shadow: $shadow;
  10 +}
  11 +
  12 +@mixin border-radius($radius) {
  13 + -webkit-border-radius: $radius;
  14 + -moz-border-radius: $radius;
  15 + -ms-border-radius: $radius;
  16 + -o-border-radius: $radius;
  17 + border-radius: $radius;
  18 +}
  19 +
  20 +@mixin border-radius-left($radius) {
  21 + @include border-radius($radius 0 0 $radius)
  22 +}
  23 +
  24 +@mixin linear-gradient($from, $to) {
  25 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from($from), to($to));
  26 + background-image: -webkit-linear-gradient($from, $to);
  27 + background-image: -moz-linear-gradient($from, $to);
  28 + background-image: -ms-linear-gradient($from, $to);
  29 + background-image: -o-linear-gradient($from, $to);
  30 +}
  31 +
  32 +@mixin transition($transition) {
  33 + -webkit-transition: $transition;
  34 + -moz-transition: $transition;
  35 + -ms-transition: $transition;
  36 + -o-transition: $transition;
  37 + transition: $transition;
  38 +}
  39 +
  40 +/**
  41 + * Prefilled mixins
  42 + * Mixins with fixed values
  43 + */
  44 +@mixin bg-light-gray-gradient {
  45 + background: #f1f1f1;
  46 + background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #f5f5f5), to(#e1e1e1));
  47 + background-image: -webkit-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
  48 + background-image: -moz-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
  49 + background-image: -ms-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
  50 + background-image: -o-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
  51 +}
  52 +
  53 +@mixin bg-gray-gradient {
  54 + background: #eee;
  55 + background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf));
  56 + background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf);
  57 + background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf);
  58 + background-image: -ms-linear-gradient(#eee 6.6%, #dfdfdf);
  59 + background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);
  60 +}
  61 +
  62 +@mixin bg-dark-gray-gradient {
  63 + background: #eee;
  64 + background-image: -webkit-linear-gradient(#e9e9e9, #d7d7d7);
  65 + background-image: -moz-linear-gradient(#e9e9e9, #d7d7d7);
  66 + background-image: -ms-linear-gradient(#e9e9e9, #d7d7d7);
  67 + background-image: -o-linear-gradient(#e9e9e9, #d7d7d7);
  68 +}
  69 +
  70 +@mixin shade {
  71 + @include box-shadow(0 0 3px #ddd);
  72 +}
  73 +
  74 +@mixin solid-shade {
  75 + @include box-shadow(0 0 0 3px #f1f1f1);
  76 +}
  77 +
  78 +@mixin header-font {
  79 + color: $style_color;
  80 + text-shadow: 0 1px 1px #FFF;
  81 + font-size: 16px;
  82 + line-height: 44px;
  83 + font-weight: normal;
  84 +}
  85 +
  86 +@mixin md-typography {
  87 + img {
  88 + max-width: 100%;
  89 + }
  90 +
  91 + *:first-child {
  92 + margin-top: 0;
  93 + }
  94 +
  95 + code { padding: 0 4px; }
  96 +
  97 + h1 {
  98 + margin-top: 45px;
  99 + font-size: 2.5em;
  100 + }
  101 +
  102 + h2 {
  103 + margin-top: 40px;
  104 + font-size: 2em;
  105 + }
  106 +
  107 + h3 {
  108 + margin-top: 35px;
  109 + font-size: 2em;
  110 + }
  111 +
  112 + h4 {
  113 + margin-top: 30px;
  114 + font-size: 1.5em;
  115 + }
  116 +
  117 + blockquote p {
  118 + color: #888;
  119 + font-size: 14px;
  120 + line-height: 1.5;
  121 + }
  122 +
  123 + table {
  124 + @extend .table;
  125 + @extend .table-bordered;
  126 + th {
  127 + background: #EEE;
  128 + }
  129 + }
  130 +
  131 + code {
  132 + font-size: inherit;
  133 + font-weight: inherit;
  134 + color: #555;
  135 + }
  136 +
  137 + li {
  138 + line-height: 1.5;
  139 + }
  140 +}
  141 +
  142 +@mixin page-title {
  143 + color: #333;
  144 + font-size: 20px;
  145 + line-height: 1.5;
  146 + margin-top: 0px;
  147 + margin-bottom: 15px;
  148 +}
app/assets/stylesheets/main/variables.scss 0 → 100644
@@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
  1 +/** Override bootstrap variables **/
  2 +$font-size-base: 13px !default;
  3 +
  4 +/**
  5 + * General Colors
  6 + */
  7 +$primary_color: #2FA0BB;
  8 +$link_color: #3A89A3;
  9 +$style_color: #474D57;
  10 +$hover: #D9EDF7;
  11 +
  12 +/**
  13 + * Commit Diff Colors
  14 + */
  15 +$added: #63c363;
  16 +$deleted: #f77;
app/assets/stylesheets/sections.scss 0 → 100644
@@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
  1 +@import "sections/header.scss";
  2 +@import "sections/nav.scss";
  3 +@import "sections/commits.scss";
  4 +@import "sections/issues.scss";
  5 +@import "sections/projects.scss";
  6 +@import "sections/snippets.scss";
  7 +@import "sections/votes.scss";
  8 +@import "sections/merge_requests.scss";
  9 +@import "sections/graph.scss";
  10 +@import "sections/events.scss";
  11 +@import "sections/themes.scss";
  12 +@import "sections/tree.scss";
  13 +@import "sections/notes.scss";
  14 +@import "sections/profile.scss";
  15 +@import "sections/login.scss";
  16 +@import "sections/editor.scss";
  17 +@import "sections/admin.scss";
  18 +@import "sections/wiki.scss";
  19 +@import "sections/wall.scss";
  20 +@import "sections/dashboard.scss";
  21 +@import "sections/stat_graph.scss";
app/assets/stylesheets/sections/commits.scss
@@ -80,7 +80,7 @@ @@ -80,7 +80,7 @@
80 border-right: 1px solid #ccc; 80 border-right: 1px solid #ccc;
81 text-align: right; 81 text-align: right;
82 min-width: 35px; 82 min-width: 35px;
83 - max-width: 35px; 83 + max-width: 50px;
84 width: 35px; 84 width: 35px;
85 @include user-select(none); 85 @include user-select(none);
86 a { 86 a {
@@ -399,8 +399,8 @@ @@ -399,8 +399,8 @@
399 399
400 .commits-compare-switch{ 400 .commits-compare-switch{
401 background: url("switch_icon.png") no-repeat center center; 401 background: url("switch_icon.png") no-repeat center center;
402 - width: 22px;  
403 - height: 22px; 402 + width: 32px;
  403 + height: 32px;
404 text-indent: -9999px; 404 text-indent: -9999px;
405 float: left; 405 float: left;
406 margin-right: 9px; 406 margin-right: 9px;
app/assets/stylesheets/sections/dashboard.scss
1 .dashboard { 1 .dashboard {
2 - @extend .row;  
3 - .activities {  
4 - }  
5 -  
6 .side { 2 .side {
7 - @extend .pull-right;  
8 -  
9 .ui-box { 3 .ui-box {
10 margin: 0px; 4 margin: 0px;
11 box-shadow: none; 5 box-shadow: none;
@@ -20,7 +14,7 @@ @@ -20,7 +14,7 @@
20 14
21 .search-text-input { 15 .search-text-input {
22 float:left; 16 float:left;
23 - @extend .span2; 17 + @extend .col-md-2;
24 } 18 }
25 .btn { 19 .btn {
26 margin-left: 5px; 20 margin-left: 5px;
@@ -32,14 +26,15 @@ @@ -32,14 +26,15 @@
32 .dash-filter { 26 .dash-filter {
33 margin: 7px 0; 27 margin: 7px 0;
34 padding: 4px 6px; 28 padding: 4px 6px;
35 - width: 202px; 29 + width: 220px;
36 float: left; 30 float: left;
  31 + height: inherit;
37 } 32 }
38 } 33 }
39 34
40 @media (max-width: 1200px) { 35 @media (max-width: 1200px) {
41 .dashboard .dash-filter { 36 .dashboard .dash-filter {
42 - width: 132px; 37 + width: 150px;
43 } 38 }
44 } 39 }
45 40
@@ -107,7 +102,6 @@ @@ -107,7 +102,6 @@
107 padding: 8px 12px; 102 padding: 8px 12px;
108 border-radius: 50px; 103 border-radius: 50px;
109 background: #f5f5f5; 104 background: #f5f5f5;
110 - width: 16px;  
111 text-align: center; 105 text-align: center;
112 106
113 i { 107 i {
app/assets/stylesheets/sections/editor.scss
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
42 line-height: 20px; 42 line-height: 20px;
43 } 43 }
44 textarea { 44 textarea {
45 - @extend .span8; 45 + @extend .col-md-8;
46 } 46 }
47 } 47 }
48 } 48 }
app/assets/stylesheets/sections/events.scss
@@ -75,6 +75,7 @@ @@ -75,6 +75,7 @@
75 margin-top: 4px; 75 margin-top: 4px;
76 margin-left: 0px; 76 margin-left: 0px;
77 max-width: 200px; 77 max-width: 200px;
  78 + float: none;
78 } 79 }
79 80
80 p:last-child { 81 p:last-child {
@@ -147,7 +148,7 @@ @@ -147,7 +148,7 @@
147 float: left; 148 float: left;
148 padding: 9px 6px; 149 padding: 9px 6px;
149 font-size: 18px; 150 font-size: 18px;
150 - width: 26px; 151 + width: 40px;
151 @include border-radius(3px); 152 @include border-radius(3px);
152 } 153 }
153 154
app/assets/stylesheets/sections/header.scss
@@ -4,17 +4,24 @@ @@ -4,17 +4,24 @@
4 */ 4 */
5 header { 5 header {
6 &.navbar-gitlab { 6 &.navbar-gitlab {
  7 + margin-bottom: 0;
  8 + min-height: 40px;
  9 +
7 .navbar-inner { 10 .navbar-inner {
8 - height: 40px;  
9 - padding: 3px;  
10 background: #F1F1F1; 11 background: #F1F1F1;
  12 + border-bottom: 1px solid #DDD;
11 filter: none; 13 filter: none;
12 14
13 .nav > li > a { 15 .nav > li > a {
14 color: $style_color; 16 color: $style_color;
15 text-shadow: 0 1px 0 #fff; 17 text-shadow: 0 1px 0 #fff;
16 font-size: 14px; 18 font-size: 14px;
17 - padding: 10px; 19 + line-height: 32px;
  20 + padding: 6px 10px;
  21 +
  22 + &:hover {
  23 + background: none;
  24 + }
18 } 25 }
19 26
20 /** NAV block with links and profile **/ 27 /** NAV block with links and profile **/
@@ -35,9 +42,6 @@ header { @@ -35,9 +42,6 @@ header {
35 .app_logo { 42 .app_logo {
36 float: left; 43 float: left;
37 margin-right: 9px; 44 margin-right: 9px;
38 - position: relative;  
39 - top: -3px;  
40 - padding-top: 3px;  
41 45
42 a { 46 a {
43 float: left; 47 float: left;
@@ -49,7 +53,7 @@ header { @@ -49,7 +53,7 @@ header {
49 background: url('logo-black.png') no-repeat center center; 53 background: url('logo-black.png') no-repeat center center;
50 background-size: 32px; 54 background-size: 32px;
51 float: left; 55 float: left;
52 - height: 40px; 56 + height: 46px;
53 width: 40px; 57 width: 40px;
54 @include header-font; 58 @include header-font;
55 text-indent: -9999px; 59 text-indent: -9999px;
@@ -75,7 +79,7 @@ header { @@ -75,7 +79,7 @@ header {
75 79
76 .profile-pic { 80 .profile-pic {
77 position: relative; 81 position: relative;
78 - top: -4px; 82 + top: -1px;
79 img { 83 img {
80 width: 26px; 84 width: 26px;
81 height: 26px; 85 height: 26px;
@@ -91,21 +95,25 @@ header { @@ -91,21 +95,25 @@ header {
91 .search { 95 .search {
92 margin-right: 10px; 96 margin-right: 10px;
93 margin-left: 10px; 97 margin-left: 10px;
  98 + margin-top: 8px;
  99 +
  100 + form {
  101 + margin: 0;
  102 + padding: 0;
  103 + }
94 104
95 .search-input { 105 .search-input {
96 - @extend .span3;  
97 background-image: url("icon-search.png"); 106 background-image: url("icon-search.png");
98 background-repeat: no-repeat; 107 background-repeat: no-repeat;
99 background-position: 10px; 108 background-position: 10px;
  109 + height: inherit;
  110 + padding: 4px 6px;
100 padding-left: 25px; 111 padding-left: 25px;
101 font-size: 13px; 112 font-size: 13px;
102 @include border-radius(3px); 113 @include border-radius(3px);
103 border: 1px solid #c6c6c6; 114 border: 1px solid #c6c6c6;
104 box-shadow: none; 115 box-shadow: none;
105 @include transition(all 0.15s ease-in 0s); 116 @include transition(all 0.15s ease-in 0s);
106 - &:focus {  
107 - @extend .span4;  
108 - }  
109 } 117 }
110 } 118 }
111 119
@@ -181,12 +189,26 @@ header { @@ -181,12 +189,26 @@ header {
181 .separator { 189 .separator {
182 float: left; 190 float: left;
183 height: 46px; 191 height: 46px;
184 - width: 1px; 192 + width: 2px;
185 background: white; 193 background: white;
186 border-left: 1px solid #DDD; 194 border-left: 1px solid #DDD;
187 - margin-top: -3px;  
188 margin-left: 10px; 195 margin-left: 10px;
189 margin-right: 10px; 196 margin-right: 10px;
190 } 197 }
191 } 198 }
192 199
  200 +.search .search-input {
  201 + width: 300px;
  202 + &:focus {
  203 + width: 400px;
  204 + }
  205 +}
  206 +
  207 +@media (max-width: 1200px) {
  208 + .search .search-input {
  209 + width: 200px;
  210 + &:focus {
  211 + width: 300px;
  212 + }
  213 + }
  214 +}
app/assets/stylesheets/sections/login.scss
1 /* Login Page */ 1 /* Login Page */
2 -body.login-page{  
3 - .container > .content {  
4 - padding-top: 20px; 2 +.login-page {
  3 + h1 {
  4 + font-size: 3em;
  5 + font-weight: 200;
5 } 6 }
6 -}  
7 -  
8 -.login-box{  
9 - width: 304px;  
10 - position: relative;  
11 - @include border-radius(5px);  
12 - margin: auto;  
13 - padding: 20px;  
14 - background: white;  
15 -}  
16 -  
17 -.login-box .login-logo{  
18 - margin: 10px 0 30px 0;  
19 - display: block;  
20 -}  
21 -  
22 -.login-box input.text{background-color: #f1f1f1; font-size: 16px; @include border-radius(0); padding: 14px 10px; width: 280px}  
23 -  
24 -.login-box input.text.top{  
25 - @include border-radius(5px 5px 0 0);  
26 - margin-bottom: 0px;  
27 -}  
28 7
29 -.login-box input.text.bottom{  
30 - @include border-radius(0 0 5px 5px);  
31 - border-top: 0;  
32 - margin-bottom: 20px;  
33 -}  
34 -  
35 -.login-box input.text.middle{  
36 - border-top: 0;  
37 - margin-bottom:0px;  
38 -} 8 + .login-box{
  9 + width: 304px;
  10 + position: relative;
  11 + @include border-radius(5px);
  12 + margin: auto;
  13 + padding: 20px;
  14 + background: white;
  15 + }
39 16
40 -.login-box a.forgot{float: right; padding-top: 6px} 17 + .login-logo{
  18 + margin: 10px 0 30px 0;
  19 + display: block;
  20 + }
41 21
42 -.remember_me {  
43 - text-align: left; 22 + .form-control {
  23 + background-color: #f1f1f1;
  24 + font-size: 16px;
  25 + padding: 14px 10px;
  26 + width: 280px;
  27 + height: auto;
  28 +
  29 + &.top {
  30 + @include border-radius(5px 5px 0 0);
  31 + margin-bottom: 0px;
  32 + }
  33 +
  34 + &.bottom {
  35 + @include border-radius(0 0 5px 5px);
  36 + border-top: 0;
  37 + margin-bottom: 20px;
  38 + }
  39 +
  40 + &.middle {
  41 + border-top: 0;
  42 + margin-bottom:0px;
  43 + @include border-radius(0);
  44 + }
  45 + }
44 46
45 - input {  
46 - margin: 2px; 47 + .login-box a.forgot {
  48 + float: right;
  49 + padding-top: 6px
47 } 50 }
48 -}  
49 51
50 -.devise-errors {  
51 - h2 {  
52 - font-size: 14px;  
53 - color: #a00; 52 + .devise-errors {
  53 + h2 {
  54 + font-size: 14px;
  55 + color: #a00;
  56 + }
54 } 57 }
55 } 58 }
app/assets/stylesheets/sections/merge_requests.scss
@@ -15,29 +15,9 @@ @@ -15,29 +15,9 @@
15 } 15 }
16 } 16 }
17 17
18 - .accept_group {  
19 - float: left;  
20 - border: 1px solid #ADA;  
21 - padding: 2px;  
22 - @include border-radius(5px);  
23 - background: #CEB;  
24 -  
25 - .accept_merge_request {  
26 - font-size: 13px;  
27 - float: left;  
28 - }  
29 - .remove_branch_holder {  
30 - margin-left: 20px;  
31 - margin-right: 10px;  
32 - float: left;  
33 - }  
34 - label {  
35 - color: #444;  
36 - text-align: left  
37 - } 18 + .accept-group {
38 } 19 }
39 20
40 -  
41 .how_to_merge_link { 21 .how_to_merge_link {
42 @extend .primary; 22 @extend .primary;
43 } 23 }
@@ -111,12 +91,8 @@ @@ -111,12 +91,8 @@
111 .merge-request-angle { 91 .merge-request-angle {
112 text-align: center; 92 text-align: center;
113 margin: 0 auto; 93 margin: 0 auto;
114 - background: #eee;  
115 - border-radius: 100px;  
116 - width: 60px;  
117 - line-height: 60px;  
118 - color: #777;  
119 - text-shadow: 0 1px 2px #FFF; 94 + font-size: 2em;
  95 + line-height: 1.1;
120 } 96 }
121 97
122 .merge-request-form-info { 98 .merge-request-form-info {
@@ -129,7 +105,6 @@ @@ -129,7 +105,6 @@
129 } 105 }
130 106
131 .chosen-container .chosen-single { 107 .chosen-container .chosen-single {
132 - padding: 2px 0 2px 10px;  
133 span { 108 span {
134 font-weight: bold; 109 font-weight: bold;
135 color: #555; 110 color: #555;
app/assets/stylesheets/sections/nav.scss
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
6 border-bottom: 1px solid #E1E1E1; 6 border-bottom: 1px solid #E1E1E1;
7 7
8 ul { 8 ul {
  9 + padding: 0;
9 margin: auto; 10 margin: auto;
10 height: 40px; 11 height: 40px;
11 overflow: hidden; 12 overflow: hidden;
app/assets/stylesheets/sections/notes.scss
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 * Notes 2 * Notes
3 */ 3 */
4 4
5 -@-webkit-keyframes target-note { 5 +@-webkit-keyframes targe3-note {
6 from { background:#fffff0; } 6 from { background:#fffff0; }
7 50% { background:#ffffd3; } 7 50% { background:#ffffd3; }
8 to { background:#fffff0; } 8 to { background:#fffff0; }
@@ -119,9 +119,9 @@ ul.notes { @@ -119,9 +119,9 @@ ul.notes {
119 } 119 }
120 120
121 .file .notes_holder { 121 .file .notes_holder {
122 - font-family: $sansFontFamily;  
123 font-size: 13px; 122 font-size: 13px;
124 line-height: 18px; 123 line-height: 18px;
  124 + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
125 125
126 td { 126 td {
127 border: 1px solid #ddd; 127 border: 1px solid #ddd;
@@ -138,7 +138,7 @@ ul.notes { @@ -138,7 +138,7 @@ ul.notes {
138 border-left: 1px solid #ddd !important; 138 border-left: 1px solid #ddd !important;
139 } 139 }
140 &.notes_content { 140 &.notes_content {
141 - background-color: $white; 141 + background-color: #fff;
142 border-width: 1px 0; 142 border-width: 1px 0;
143 padding-top: 0; 143 padding-top: 0;
144 144
@@ -303,7 +303,7 @@ ul.notes { @@ -303,7 +303,7 @@ ul.notes {
303 } 303 }
304 304
305 .note-image-attach { 305 .note-image-attach {
306 - @extend .span4; 306 + @extend .col-md-4;
307 @extend .thumbnail; 307 @extend .thumbnail;
308 margin-left: 45px; 308 margin-left: 45px;
309 } 309 }
app/assets/stylesheets/sections/profile.scss
1 .update-notifications { 1 .update-notifications {
2 - margin-bottom: 0;  
3 - label {  
4 - margin-bottom: 0; 2 + .radio-inline {
  3 + margin-right: 30px;
5 } 4 }
6 } 5 }
7 6
@@ -17,7 +16,7 @@ @@ -17,7 +16,7 @@
17 16
18 legend { 17 legend {
19 border: none; 18 border: none;
20 - margin: 0; 19 + margin-bottom: 10px;
21 } 20 }
22 } 21 }
23 } 22 }
app/assets/stylesheets/sections/projects.scss
@@ -52,13 +52,16 @@ @@ -52,13 +52,16 @@
52 } 52 }
53 53
54 .visibility-level-label { 54 .visibility-level-label {
55 - font-size: 14px; 55 + font-size: 17px;
56 background: #f1f1f1; 56 background: #f1f1f1;
57 - padding: 8px 10px;  
58 border-radius: 4px; 57 border-radius: 4px;
59 - margin-left: 10px;  
60 color: #888; 58 color: #888;
  59 + position: absolute;
  60 + margin-left: -55px;
61 text-shadow: 0 1px 1px #FFF; 61 text-shadow: 0 1px 1px #FFF;
  62 + width: 40px;
  63 + text-align: center;
  64 + padding: 6px;
62 65
63 i { 66 i {
64 color: inherit; 67 color: inherit;
@@ -67,7 +70,7 @@ @@ -67,7 +70,7 @@
67 } 70 }
68 71
69 .git-clone-holder { 72 .git-clone-holder {
70 - float: right; 73 + margin-right: 45px;
71 border: 1px solid #E1E1E1; 74 border: 1px solid #E1E1E1;
72 @include border-radius(4px); 75 @include border-radius(4px);
73 76
@@ -100,6 +103,11 @@ @@ -100,6 +103,11 @@
100 cursor: auto; 103 cursor: auto;
101 @extend .monospace; 104 @extend .monospace;
102 background: #FAFAFA; 105 background: #FAFAFA;
  106 + width: 100%;
  107 + }
  108 +
  109 + .protocol-clone {
  110 + overflow: hidden;
103 } 111 }
104 } 112 }
105 113
app/assets/stylesheets/sections/tree.scss
@@ -24,10 +24,10 @@ @@ -24,10 +24,10 @@
24 th { 24 th {
25 font-weight: normal; 25 font-weight: normal;
26 font-size: 15px; 26 font-size: 15px;
27 - border-bottom: 1px solid #CCC; 27 + border-bottom: 1px solid #CCC !important;
28 } 28 }
29 td { 29 td {
30 - border-color: #F1F1F1; 30 + border-color: #F1F1F1 !important;
31 } 31 }
32 &:hover { 32 &:hover {
33 td { 33 td {
@@ -111,7 +111,7 @@ @@ -111,7 +111,7 @@
111 111
112 .tree-ref-holder { 112 .tree-ref-holder {
113 float: left; 113 float: left;
114 - margin-top: 5px; 114 + margin-top: 8px;
115 } 115 }
116 116
117 .readme-holder { 117 .readme-holder {
app/assets/stylesheets/sections/votes.scss
@@ -36,3 +36,8 @@ @@ -36,3 +36,8 @@
36 display: inline-block; 36 display: inline-block;
37 margin: 0 8px; 37 margin: 0 8px;
38 } 38 }
  39 +
  40 +.votes-holder {
  41 + float: right;
  42 + width: 250px;
  43 +}
app/assets/stylesheets/sections/wall.scss
1 .wall-page { 1 .wall-page {
2 .wall-note-form { 2 .wall-note-form {
3 - @extend .span12; 3 + @extend .col-md-12;
4 4
5 margin: 0; 5 margin: 0;
6 height: 140px; 6 height: 140px;
app/assets/stylesheets/selects.scss
@@ -1,57 +0,0 @@ @@ -1,57 +0,0 @@
1 -/** Chosen.js selectbox style override **/  
2 -.chosen-container {  
3 - min-width: 100px;  
4 -  
5 - .chosen-single {  
6 - background: #EEE !important;  
7 - border: 1px solid #DDD !important;  
8 - @include box-shadow(none !important);  
9 - @include border-radius(4px !important);  
10 - }  
11 -  
12 - .chosen-results li.highlighted {  
13 - background: #29b;  
14 - }  
15 -  
16 - .chosen-drop {  
17 - margin-top: 10px;  
18 - border: 1px solid #DDD !important;  
19 - @include border-radius(4px !important);  
20 - }  
21 -  
22 - .chosen-search input {  
23 - border: 1px solid #CCC !important;  
24 - @include box-shadow(none !important);  
25 - }  
26 -}  
27 -  
28 -/** Select2 styling **/  
29 -.select2-container .select2-choice {  
30 - @include bg-light-gray-gradient;  
31 -}  
32 -  
33 -.select2-container .select2-choice div {  
34 - border: none;  
35 - background: none;  
36 -}  
37 -  
38 -.select2-drop {  
39 - padding-top: 8px;  
40 -}  
41 -  
42 -.select2-no-results, .select2-searching {  
43 - padding: 7px;  
44 - color: #666;  
45 -}  
46 -  
47 -.chosen-container .chosen-single div b {  
48 - background-position-y: 0px !important;  
49 -}  
50 -  
51 -.chosen-container .chosen-drop .chosen-search input {  
52 - background-position-y: -24px !important;  
53 -}  
54 -  
55 -.chosen-compact {  
56 - max-width: 170px !important;  
57 -}  
app/views/admin/broadcast_messages/index.html.haml
@@ -8,33 +8,33 @@ @@ -8,33 +8,33 @@
8 8
9 = form_for [:admin, @broadcast_message] do |f| 9 = form_for [:admin, @broadcast_message] do |f|
10 -if @broadcast_message.errors.any? 10 -if @broadcast_message.errors.any?
11 - .alert.alert-error 11 + .alert.alert-danger
12 - @broadcast_message.errors.full_messages.each do |msg| 12 - @broadcast_message.errors.full_messages.each do |msg|
13 %p= msg 13 %p= msg
14 - .control-group 14 + .form-group
15 = f.label :message 15 = f.label :message
16 - .controls  
17 - = f.text_area :message, class: "input-xxlarge", rows: 2, required: true 16 + .col-sm-10
  17 + = f.text_area :message, class: "form-control", rows: 2, required: true
18 %div 18 %div
19 = link_to '#', class: 'js-toggle-colors-link' do 19 = link_to '#', class: 'js-toggle-colors-link' do
20 Customize colors 20 Customize colors
21 - .control-group.js-toggle-colors-container.hide 21 + .form-group.js-toggle-colors-container.hide
22 = f.label :color, "Background Color" 22 = f.label :color, "Background Color"
23 - .controls 23 + .col-sm-10
24 = f.text_field :color, placeholder: "#AA33EE" 24 = f.text_field :color, placeholder: "#AA33EE"
25 .light Hex values as 3 double digit numbers, starting with a # sign. 25 .light Hex values as 3 double digit numbers, starting with a # sign.
26 - .control-group.js-toggle-colors-container.hide 26 + .form-group.js-toggle-colors-container.hide
27 = f.label :font, "Font Color" 27 = f.label :font, "Font Color"
28 - .controls 28 + .col-sm-10
29 = f.text_field :font, placeholder: "#224466" 29 = f.text_field :font, placeholder: "#224466"
30 .light Hex values as 3 double digit numbers, starting with a # sign. 30 .light Hex values as 3 double digit numbers, starting with a # sign.
31 - .control-group 31 + .form-group
32 = f.label :starts_at 32 = f.label :starts_at
33 - .controls.datetime-controls 33 + .col-sm-10.datetime-controls
34 = f.datetime_select :starts_at 34 = f.datetime_select :starts_at
35 - .control-group 35 + .form-group
36 = f.label :ends_at 36 = f.label :ends_at
37 - .controls.datetime-controls 37 + .col-sm-10.datetime-controls
38 = f.datetime_select :ends_at 38 = f.datetime_select :ends_at
39 .form-actions 39 .form-actions
40 = f.submit "Add broadcast message", class: "btn btn-create" 40 = f.submit "Add broadcast message", class: "btn btn-create"
app/views/admin/dashboard/index.html.haml
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 You can manage projects, users and other GitLab data from here. 4 You can manage projects, users and other GitLab data from here.
5 %hr 5 %hr
6 .admin_dash.row 6 .admin_dash.row
7 - .span4 7 + .col-md-4
8 .light-well 8 .light-well
9 %h4 Projects 9 %h4 Projects
10 .data 10 .data
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 %h1= Project.count 12 %h1= Project.count
13 %hr 13 %hr
14 = link_to 'New Project', new_project_path, class: "btn btn-new" 14 = link_to 'New Project', new_project_path, class: "btn btn-new"
15 - .span4 15 + .col-md-4
16 .light-well 16 .light-well
17 %h4 Users 17 %h4 Users
18 .data 18 .data
@@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
20 %h1= User.count 20 %h1= User.count
21 %hr 21 %hr
22 = link_to 'New User', new_admin_user_path, class: "btn btn-new" 22 = link_to 'New User', new_admin_user_path, class: "btn btn-new"
23 - .span4 23 + .col-md-4
24 .light-well 24 .light-well
25 %h4 Groups 25 %h4 Groups
26 .data 26 .data
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 = link_to 'New Group', new_admin_group_path, class: "btn btn-new" 30 = link_to 'New Group', new_admin_group_path, class: "btn btn-new"
31 31
32 .row.prepend-top-10 32 .row.prepend-top-10
33 - .span4 33 + .col-md-4
34 %h4 Latest projects 34 %h4 Latest projects
35 %hr 35 %hr
36 - @projects.each do |project| 36 - @projects.each do |project|
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 %span.light.pull-right 39 %span.light.pull-right
40 #{time_ago_with_tooltip(project.created_at)} 40 #{time_ago_with_tooltip(project.created_at)}
41 41
42 - .span4 42 + .col-md-4
43 %h4 Latest users 43 %h4 Latest users
44 %hr 44 %hr
45 - @users.each do |user| 45 - @users.each do |user|
@@ -49,7 +49,7 @@ @@ -49,7 +49,7 @@
49 %span.light.pull-right 49 %span.light.pull-right
50 #{time_ago_with_tooltip(user.created_at)} 50 #{time_ago_with_tooltip(user.created_at)}
51 51
52 - .span4 52 + .col-md-4
53 %h4 Latest groups 53 %h4 Latest groups
54 %hr 54 %hr
55 - @groups.each do |group| 55 - @groups.each do |group|
@@ -61,7 +61,7 @@ @@ -61,7 +61,7 @@
61 61
62 %br 62 %br
63 .row 63 .row
64 - .span4 64 + .col-md-4
65 %h4 Stats 65 %h4 Stats
66 %hr 66 %hr
67 %p 67 %p
@@ -92,7 +92,7 @@ @@ -92,7 +92,7 @@
92 Milestones 92 Milestones
93 %span.light.pull-right 93 %span.light.pull-right
94 = Milestone.count 94 = Milestone.count
95 - .span4 95 + .col-md-4
96 %h4 96 %h4
97 Features 97 Features
98 %hr 98 %hr
@@ -112,7 +112,7 @@ @@ -112,7 +112,7 @@
112 OmniAuth 112 OmniAuth
113 %span.light.pull-right 113 %span.light.pull-right
114 = boolean_to_icon Gitlab.config.omniauth.enabled 114 = boolean_to_icon Gitlab.config.omniauth.enabled
115 - .span4 115 + .col-md-4
116 %h4 Components 116 %h4 Components
117 %hr 117 %hr
118 %p 118 %p
app/views/admin/groups/edit.html.haml
@@ -2,24 +2,24 @@ @@ -2,24 +2,24 @@
2 %hr 2 %hr
3 = form_for [:admin, @group] do |f| 3 = form_for [:admin, @group] do |f|
4 - if @group.errors.any? 4 - if @group.errors.any?
5 - .alert.alert-error 5 + .alert.alert-danger
6 %span= @group.errors.full_messages.first 6 %span= @group.errors.full_messages.first
7 - .control-group.group_name_holder 7 + .form-group.group_name_holder
8 = f.label :name do 8 = f.label :name do
9 Group name 9 Group name
10 - .controls  
11 - = f.text_field :name, placeholder: "Example Group", class: "input-xxlarge" 10 + .col-sm-10
  11 + = f.text_field :name, placeholder: "Example Group", class: "form-control"
12 12
13 - .control-group.group-description-holder 13 + .form-group.group-description-holder
14 = f.label :description, "Details" 14 = f.label :description, "Details"
15 - .controls  
16 - = f.text_area :description, maxlength: 250, class: "input-xxlarge js-gfm-input", rows: 4 15 + .col-sm-10
  16 + = f.text_area :description, maxlength: 250, class: "form-control js-gfm-input", rows: 4
17 17
18 - .control-group.group_name_holder 18 + .form-group.group_name_holder
19 = f.label :path do 19 = f.label :path do
20 %span.cred Group path 20 %span.cred Group path
21 - .controls  
22 - = f.text_field :path, placeholder: "example-group", class: "input-xxlarge danger" 21 + .col-sm-10
  22 + = f.text_field :path, placeholder: "example-group", class: "form-control danger"
23 %ul.cred 23 %ul.cred
24 %li Changing group path can have unintended side effects. 24 %li Changing group path can have unintended side effects.
25 %li Renaming group path will rename directory for all related projects 25 %li Renaming group path will rename directory for all related projects
app/views/admin/groups/new.html.haml
@@ -2,17 +2,17 @@ @@ -2,17 +2,17 @@
2 %hr 2 %hr
3 = form_for [:admin, @group] do |f| 3 = form_for [:admin, @group] do |f|
4 - if @group.errors.any? 4 - if @group.errors.any?
5 - .alert.alert-error 5 + .alert.alert-danger
6 %span= @group.errors.full_messages.first 6 %span= @group.errors.full_messages.first
7 - .control-group 7 + .form-group
8 = f.label :name do 8 = f.label :name do
9 Group name 9 Group name
10 - .controls  
11 - = f.text_field :name, placeholder: "Ex. OpenSource", class: "input-xxlarge left"  
12 - .control-group.group-description-holder 10 + .col-sm-10
  11 + = f.text_field :name, placeholder: "Ex. OpenSource", class: "form-control left"
  12 + .form-group.group-description-holder
13 = f.label :description, "Details" 13 = f.label :description, "Details"
14 - .controls  
15 - = f.text_area :description, maxlength: 250, class: "input-xxlarge js-gfm-input", rows: 4 14 + .col-sm-10
  15 + = f.text_area :description, maxlength: 250, class: "form-control js-gfm-input", rows: 4
16 16
17 .form-actions 17 .form-actions
18 = f.submit 'Create group', class: "btn btn-create" 18 = f.submit 'Create group', class: "btn btn-create"
app/views/admin/groups/show.html.haml
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 Edit 6 Edit
7 %hr 7 %hr
8 .row 8 .row
9 - .span6 9 + .col-md-6
10 .ui-box 10 .ui-box
11 .title 11 .title
12 Group info: 12 Group info:
@@ -44,7 +44,7 @@ @@ -44,7 +44,7 @@
44 %span.pull-right.light 44 %span.pull-right.light
45 %span.monospace= project.path_with_namespace + ".git" 45 %span.monospace= project.path_with_namespace + ".git"
46 46
47 - .span6 47 + .col-md-6
48 .ui-box 48 .ui-box
49 .title 49 .title
50 Add user(s) to the group: 50 Add user(s) to the group:
app/views/admin/hooks/index.html.haml
@@ -10,13 +10,13 @@ @@ -10,13 +10,13 @@
10 10
11 = form_for @hook, as: :hook, url: admin_hooks_path, html: { class: 'form-inline' } do |f| 11 = form_for @hook, as: :hook, url: admin_hooks_path, html: { class: 'form-inline' } do |f|
12 -if @hook.errors.any? 12 -if @hook.errors.any?
13 - .alert.alert-error 13 + .alert.alert-danger
14 - @hook.errors.full_messages.each do |msg| 14 - @hook.errors.full_messages.each do |msg|
15 %p= msg 15 %p= msg
16 - .control-group 16 + .form-group
17 = f.label :url, "URL:" 17 = f.label :url, "URL:"
18 - .controls  
19 - = f.text_field :url, class: "text_field input-xxlarge input-xpadding" 18 + .col-sm-10
  19 + = f.text_field :url, class: "text_field form-control input-xpadding"
20   20  
21 = f.submit "Add System Hook", class: "btn btn-create" 21 = f.submit "Add System Hook", class: "btn btn-create"
22 %hr 22 %hr
app/views/admin/projects/index.html.haml
1 .row 1 .row
2 - .span4 2 + .col-md-4
3 .admin-filter 3 .admin-filter
4 = form_tag admin_projects_path, method: :get, class: 'form-inline' do 4 = form_tag admin_projects_path, method: :get, class: 'form-inline' do
5 - .control-group 5 + .form-group
6 = label_tag :name, 'Name:', class: 'control-label' 6 = label_tag :name, 'Name:', class: 'control-label'
7 - .controls 7 + .col-sm-10
8 = text_field_tag :name, params[:name], class: "span2" 8 = text_field_tag :name, params[:name], class: "span2"
9 9
10 - .control-group 10 + .form-group
11 = label_tag :owner_id, 'Owner:', class: 'control-label' 11 = label_tag :owner_id, 'Owner:', class: 'control-label'
12 - .controls 12 + .col-sm-10
13 = users_select_tag :owner_id, selected: params[:owner_id], class: 'input-large input-clamp' 13 = users_select_tag :owner_id, selected: params[:owner_id], class: 'input-large input-clamp'
14 - .control-group.visibility-levels 14 + .form-group.visibility-levels
15 = label_tag :visibility_level, 'Visibility Levels', class: 'control-label' 15 = label_tag :visibility_level, 'Visibility Levels', class: 'control-label'
16 - Project.visibility_levels.each do |label, level| 16 - Project.visibility_levels.each do |label, level|
17 - .controls 17 + .col-sm-10
18 = check_box_tag 'visibility_levels[]', level, params[:visibility_levels].present? && params[:visibility_levels].include?(level.to_s) 18 = check_box_tag 'visibility_levels[]', level, params[:visibility_levels].present? && params[:visibility_levels].include?(level.to_s)
19 %span.descr 19 %span.descr
20 = visibility_level_icon(level) 20 = visibility_level_icon(level)
21 = label 21 = label
22 - .control-group 22 + .form-group
23 = label_tag :with_push, 'Not empty', class: 'control-label' 23 = label_tag :with_push, 'Not empty', class: 'control-label'
24 - .controls 24 + .col-sm-10
25 = check_box_tag :with_push, 1, params[:with_push] 25 = check_box_tag :with_push, 1, params[:with_push]
26   26  
27 %span.light Projects with push events 27 %span.light Projects with push events
28 - .control-group 28 + .form-group
29 = label_tag :abandoned, 'Abandoned', class: 'control-label' 29 = label_tag :abandoned, 'Abandoned', class: 'control-label'
30 - .controls 30 + .col-sm-10
31 = check_box_tag :abandoned, 1, params[:abandoned] 31 = check_box_tag :abandoned, 1, params[:abandoned]
32   32  
33 %span.light No activity over 6 month 33 %span.light No activity over 6 month
@@ -37,7 +37,7 @@ @@ -37,7 +37,7 @@
37 .form-actions 37 .form-actions
38 = submit_tag "Search", class: "btn submit btn-primary" 38 = submit_tag "Search", class: "btn submit btn-primary"
39 = link_to "Reset", admin_projects_path, class: "btn" 39 = link_to "Reset", admin_projects_path, class: "btn"
40 - .span8 40 + .col-md-8
41 .ui-box 41 .ui-box
42 .title 42 .title
43 Projects (#{@projects.total_count}) 43 Projects (#{@projects.total_count})
app/views/admin/projects/show.html.haml
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 Edit 5 Edit
6 %hr 6 %hr
7 .row 7 .row
8 - .span6 8 + .col-md-6
9 .ui-box 9 .ui-box
10 .title 10 .title
11 Project info: 11 Project info:
@@ -80,16 +80,16 @@ @@ -80,16 +80,16 @@
80 Transfer project 80 Transfer project
81 .body 81 .body
82 = form_for @project, url: transfer_admin_project_path(@project), method: :put do |f| 82 = form_for @project, url: transfer_admin_project_path(@project), method: :put do |f|
83 - .control-group 83 + .form-group
84 = f.label :namespace_id, "Namespace" 84 = f.label :namespace_id, "Namespace"
85 - .controls 85 + .col-sm-10
86 = namespace_select_tag :namespace_id, selected: params[:namespace_id], class: 'input-large' 86 = namespace_select_tag :namespace_id, selected: params[:namespace_id], class: 'input-large'
87 87
88 - .control-group  
89 - .controls 88 + .form-group
  89 + .col-sm-10
90 = f.submit 'Transfer', class: 'btn btn-primary' 90 = f.submit 'Transfer', class: 'btn btn-primary'
91 91
92 - .span6 92 + .col-md-6
93 - if @group 93 - if @group
94 .ui-box 94 .ui-box
95 .title 95 .title
app/views/admin/users/_form.html.haml
@@ -2,34 +2,34 @@ @@ -2,34 +2,34 @@
2 = form_for [:admin, @user] do |f| 2 = form_for [:admin, @user] do |f|
3 -if @user.errors.any? 3 -if @user.errors.any?
4 #error_explanation 4 #error_explanation
5 - %ul.unstyled.alert.alert-error 5 + %ul.unstyled.alert.alert-danger
6 - @user.errors.full_messages.each do |msg| 6 - @user.errors.full_messages.each do |msg|
7 %li= msg 7 %li= msg
8 8
9 %fieldset 9 %fieldset
10 %legend Account 10 %legend Account
11 - .control-group 11 + .form-group
12 = f.label :name 12 = f.label :name
13 - .controls 13 + .col-sm-10
14 = f.text_field :name, required: true, autocomplete: "off" 14 = f.text_field :name, required: true, autocomplete: "off"
15 %span.help-inline * required 15 %span.help-inline * required
16 - .control-group 16 + .form-group
17 = f.label :username 17 = f.label :username
18 - .controls 18 + .col-sm-10
19 = f.text_field :username, required: true, autocomplete: "off" 19 = f.text_field :username, required: true, autocomplete: "off"
20 %span.help-inline * required 20 %span.help-inline * required
21 - .control-group 21 + .form-group
22 = f.label :email 22 = f.label :email
23 - .controls 23 + .col-sm-10
24 = f.text_field :email, required: true, autocomplete: "off" 24 = f.text_field :email, required: true, autocomplete: "off"
25 %span.help-inline * required 25 %span.help-inline * required
26 26
27 - if @user.new_record? 27 - if @user.new_record?
28 %fieldset 28 %fieldset
29 %legend Password 29 %legend Password
30 - .control-group 30 + .form-group
31 = f.label :password 31 = f.label :password
32 - .controls 32 + .col-sm-10
33 %strong 33 %strong
34 A temporary password will be generated and sent to user. 34 A temporary password will be generated and sent to user.
35 %br 35 %br
@@ -37,32 +37,32 @@ @@ -37,32 +37,32 @@
37 - else 37 - else
38 %fieldset 38 %fieldset
39 %legend Password 39 %legend Password
40 - .control-group 40 + .form-group
41 = f.label :password 41 = f.label :password
42 - .controls= f.password_field :password, disabled: f.object.force_random_password  
43 - .control-group 42 + .col-sm-10= f.password_field :password, disabled: f.object.force_random_password
  43 + .form-group
44 = f.label :password_confirmation 44 = f.label :password_confirmation
45 - .controls= f.password_field :password_confirmation, disabled: f.object.force_random_password 45 + .col-sm-10= f.password_field :password_confirmation, disabled: f.object.force_random_password
46 46
47 %fieldset 47 %fieldset
48 %legend Access 48 %legend Access
49 .row 49 .row
50 - .span8  
51 - .control-group 50 + .col-md-8
  51 + .form-group
52 = f.label :projects_limit 52 = f.label :projects_limit
53 - .controls= f.number_field :projects_limit 53 + .col-sm-10= f.number_field :projects_limit
54 54
55 - .control-group 55 + .form-group
56 = f.label :can_create_group 56 = f.label :can_create_group
57 - .controls= f.check_box :can_create_group 57 + .col-sm-10= f.check_box :can_create_group
58 58
59 - .control-group 59 + .form-group
60 = f.label :admin do 60 = f.label :admin do
61 %strong.cred Administrator 61 %strong.cred Administrator
62 - .controls= f.check_box :admin  
63 - .span4 62 + .col-sm-10= f.check_box :admin
  63 + .col-md-4
64 - unless @user.new_record? 64 - unless @user.new_record?
65 - .alert.alert-error 65 + .alert.alert-danger
66 - if @user.blocked? 66 - if @user.blocked?
67 %p This user is blocked and is not able to login to GitLab 67 %p This user is blocked and is not able to login to GitLab
68 = link_to 'Unblock User', unblock_admin_user_path(@user), method: :put, class: "btn btn-small" 68 = link_to 'Unblock User', unblock_admin_user_path(@user), method: :put, class: "btn btn-small"
@@ -71,15 +71,15 @@ @@ -71,15 +71,15 @@
71 = link_to 'Block User', block_admin_user_path(@user), data: {confirm: 'USER WILL BE BLOCKED! Are you sure?'}, method: :put, class: "btn btn-small btn-remove" 71 = link_to 'Block User', block_admin_user_path(@user), data: {confirm: 'USER WILL BE BLOCKED! Are you sure?'}, method: :put, class: "btn btn-small btn-remove"
72 %fieldset 72 %fieldset
73 %legend Profile 73 %legend Profile
74 - .control-group 74 + .form-group
75 = f.label :skype 75 = f.label :skype
76 - .controls= f.text_field :skype  
77 - .control-group 76 + .col-sm-10= f.text_field :skype
  77 + .form-group
78 = f.label :linkedin 78 = f.label :linkedin
79 - .controls= f.text_field :linkedin  
80 - .control-group 79 + .col-sm-10= f.text_field :linkedin
  80 + .form-group
81 = f.label :twitter 81 = f.label :twitter
82 - .controls= f.text_field :twitter 82 + .col-sm-10= f.text_field :twitter
83 83
84 .form-actions 84 .form-actions
85 - if @user.new_record? 85 - if @user.new_record?
app/views/admin/users/index.html.haml
1 .row 1 .row
2 - .span3 2 + .col-md-3
3 .admin-filter 3 .admin-filter
4 = form_tag admin_users_path, method: :get, class: 'form-inline' do 4 = form_tag admin_users_path, method: :get, class: 'form-inline' do
5 = search_field_tag :name, params[:name], placeholder: 'Name, email or username', class: 'input-xpadding span2' 5 = search_field_tag :name, params[:name], placeholder: 'Name, email or username', class: 'input-xpadding span2'
@@ -25,7 +25,7 @@ @@ -25,7 +25,7 @@
25 %hr 25 %hr
26 = link_to 'Reset', admin_users_path, class: "btn btn-cancel" 26 = link_to 'Reset', admin_users_path, class: "btn btn-cancel"
27 27
28 - .span9 28 + .col-md-9
29 .ui-box 29 .ui-box
30 .title 30 .title
31 Users (#{@users.total_count}) 31 Users (#{@users.total_count})
app/views/admin/users/show.html.haml
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 %hr 13 %hr
14 14
15 .row 15 .row
16 - .span6 16 + .col-md-6
17 .ui-box 17 .ui-box
18 .title 18 .title
19 Account: 19 Account:
@@ -100,7 +100,7 @@ @@ -100,7 +100,7 @@
100 %li Owned groups will be left 100 %li Owned groups will be left
101 = link_to 'Block user', block_admin_user_path(@user), data: { confirm: 'USER WILL BE BLOCKED! Are you sure?' }, method: :put, class: "btn btn-remove" 101 = link_to 'Block user', block_admin_user_path(@user), data: { confirm: 'USER WILL BE BLOCKED! Are you sure?' }, method: :put, class: "btn btn-remove"
102 102
103 - .alert.alert-error 103 + .alert.alert-danger
104 %h4 104 %h4
105 Remove user 105 Remove user
106 %br 106 %br
@@ -116,7 +116,7 @@ @@ -116,7 +116,7 @@
116 %strong #{@user.solo_owned_groups.map(&:name).join(', ')} 116 %strong #{@user.solo_owned_groups.map(&:name).join(', ')}
117 = link_to 'Remove user', [:admin, @user], data: { confirm: "USER #{@user.name} WILL BE REMOVED! Are you sure?" }, method: :delete, class: "btn btn-remove" 117 = link_to 'Remove user', [:admin, @user], data: { confirm: "USER #{@user.name} WILL BE REMOVED! Are you sure?" }, method: :delete, class: "btn btn-remove"
118 118
119 - .span6 119 + .col-md-6
120 - if @user.users_groups.present? 120 - if @user.users_groups.present?
121 .ui-box 121 .ui-box
122 .title Groups: 122 .title Groups:
app/views/dashboard/_groups.html.haml
1 .ui-box 1 .ui-box
2 .title.clearfix 2 .title.clearfix
3 - = search_field_tag :filter_group, nil, placeholder: 'Filter by name', class: 'dash-filter' 3 + = search_field_tag :filter_group, nil, placeholder: 'Filter by name', class: 'dash-filter form-control'
4 - if current_user.can_create_group? 4 - if current_user.can_create_group?
5 %span.pull-right 5 %span.pull-right
6 = link_to new_group_path, class: "btn btn-new" do 6 = link_to new_group_path, class: "btn btn-new" do
app/views/dashboard/_projects.html.haml
1 .ui-box 1 .ui-box
2 .title.clearfix 2 .title.clearfix
3 - = search_field_tag :filter_projects, nil, placeholder: 'Filter by name', class: 'dash-filter' 3 + = search_field_tag :filter_projects, nil, placeholder: 'Filter by name', class: 'dash-filter form-control'
4 - if current_user.can_create_project? 4 - if current_user.can_create_project?
5 %span.pull-right 5 %span.pull-right
6 = link_to new_project_path, class: "btn btn-new" do 6 = link_to new_project_path, class: "btn btn-new" do
app/views/dashboard/issues.html.haml
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 %hr 7 %hr
8 8
9 .row 9 .row
10 - .span3 10 + .col-md-3
11 = render 'shared/filter', entity: 'issue' 11 = render 'shared/filter', entity: 'issue'
12 - .span9 12 + .col-md-9
13 = render 'shared/issues' 13 = render 'shared/issues'
app/views/dashboard/merge_requests.html.haml
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 List all merge requests from all project's you have access to. 7 List all merge requests from all project's you have access to.
8 %hr 8 %hr
9 .row 9 .row
10 - .span3 10 + .col-md-3
11 = render 'shared/filter', entity: 'merge_request' 11 = render 'shared/filter', entity: 'merge_request'
12 - .span9 12 + .col-md-9
13 = render 'shared/merge_requests' 13 = render 'shared/merge_requests'
app/views/dashboard/projects.html.haml
@@ -25,28 +25,29 @@ @@ -25,28 +25,29 @@
25 All projects you have access to are listed here. Public projects are not included here unless you are a member 25 All projects you have access to are listed here. Public projects are not included here unless you are a member
26 %hr 26 %hr
27 .row 27 .row
28 - .span3  
29 - %ul.nav.nav-pills.nav-stacked  
30 - = nav_tab :scope, nil do  
31 - = link_to projects_dashboard_filter_path(scope: nil) do  
32 - All  
33 - %span.pull-right  
34 - = current_user.authorized_projects.count  
35 - = nav_tab :scope, 'personal' do  
36 - = link_to projects_dashboard_filter_path(scope: 'personal') do  
37 - Personal  
38 - %span.pull-right  
39 - = current_user.personal_projects.count  
40 - = nav_tab :scope, 'joined' do  
41 - = link_to projects_dashboard_filter_path(scope: 'joined') do  
42 - Joined  
43 - %span.pull-right  
44 - = current_user.authorized_projects.joined(current_user).count  
45 - = nav_tab :scope, 'owned' do  
46 - = link_to projects_dashboard_filter_path(scope: 'owned') do  
47 - Owned  
48 - %span.pull-right  
49 - = current_user.owned_projects.count 28 + .col-md-3.hidden-sm.hidden-xs.side-filters
  29 + %fieldset
  30 + %ul.nav.nav-pills.nav-stacked
  31 + = nav_tab :scope, nil do
  32 + = link_to projects_dashboard_filter_path(scope: nil) do
  33 + All
  34 + %span.pull-right
  35 + = current_user.authorized_projects.count
  36 + = nav_tab :scope, 'personal' do
  37 + = link_to projects_dashboard_filter_path(scope: 'personal') do
  38 + Personal
  39 + %span.pull-right
  40 + = current_user.personal_projects.count
  41 + = nav_tab :scope, 'joined' do
  42 + = link_to projects_dashboard_filter_path(scope: 'joined') do
  43 + Joined
  44 + %span.pull-right
  45 + = current_user.authorized_projects.joined(current_user).count
  46 + = nav_tab :scope, 'owned' do
  47 + = link_to projects_dashboard_filter_path(scope: 'owned') do
  48 + Owned
  49 + %span.pull-right
  50 + = current_user.owned_projects.count
50 51
51 %fieldset 52 %fieldset
52 %legend Visibility 53 %legend Visibility
@@ -81,7 +82,7 @@ @@ -81,7 +82,7 @@
81 %i.icon-tag 82 %i.icon-tag
82 = label.name 83 = label.name
83 84
84 - .span9 85 + .col-md-9
85 %ul.bordered-list.my-projects.top-list 86 %ul.bordered-list.my-projects.top-list
86 - @projects.each do |project| 87 - @projects.each do |project|
87 %li.my-project-row 88 %li.my-project-row
app/views/dashboard/show.html.haml
1 - if @has_authorized_projects 1 - if @has_authorized_projects
2 - .dashboard  
3 - .activities.span8 2 + .dashboard.row
  3 + .activities.col-md-8
4 = render 'activities' 4 = render 'activities'
5 - .side.span4 5 + .side.col-md-4.hidden-sm
6 = render 'sidebar' 6 = render 'sidebar'
7 7
8 - else 8 - else
app/views/devise/confirmations/new.html.haml
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 = form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| 3 = form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
4 .devise-errors 4 .devise-errors
5 = devise_error_messages! 5 = devise_error_messages!
6 - = f.email_field :email, placeholder: 'Email', class: "text", required: true 6 + = f.email_field :email, placeholder: 'Email', class: "form-control", required: true
7 .clearfix.append-bottom-10 7 .clearfix.append-bottom-10
8 = f.submit "Resend confirmation instructions", class: 'btn btn-success' 8 = f.submit "Resend confirmation instructions", class: 'btn btn-success'
9 %hr 9 %hr
app/views/devise/passwords/edit.html.haml
@@ -4,9 +4,9 @@ @@ -4,9 +4,9 @@
4 = devise_error_messages! 4 = devise_error_messages!
5 = f.hidden_field :reset_password_token 5 = f.hidden_field :reset_password_token
6 %div 6 %div
7 - = f.password_field :password, class: "text top", placeholder: "New password", required: true 7 + = f.password_field :password, class: "form-control top", placeholder: "New password", required: true
8 %div 8 %div
9 - = f.password_field :password_confirmation, class: "text bottom", placeholder: "Confirm new password", required: true 9 + = f.password_field :password_confirmation, class: "form-control bottom", placeholder: "Confirm new password", required: true
10 %div 10 %div
11 .clearfix.append-bottom-10 11 .clearfix.append-bottom-10
12 = f.submit "Change my password", class: "btn btn-primary" 12 = f.submit "Change my password", class: "btn btn-primary"
app/views/devise/passwords/new.html.haml
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 %h3.page-title Reset password 2 %h3.page-title Reset password
3 .devise-errors 3 .devise-errors
4 = devise_error_messages! 4 = devise_error_messages!
5 - = f.email_field :email, placeholder: "Email", class: "text", required: true 5 + = f.email_field :email, placeholder: "Email", class: "form-control", required: true
6 .clearfix.append-bottom-10 6 .clearfix.append-bottom-10
7 = f.submit "Reset password", class: "btn-primary btn" 7 = f.submit "Reset password", class: "btn-primary btn"
8 %hr 8 %hr
app/views/devise/registrations/new.html.haml
@@ -3,15 +3,15 @@ @@ -3,15 +3,15 @@
3 .devise-errors 3 .devise-errors
4 = devise_error_messages! 4 = devise_error_messages!
5 %div 5 %div
6 - = f.text_field :name, class: "text top", placeholder: "Name", required: true 6 + = f.text_field :name, class: "form-control top", placeholder: "Name", required: true
7 %div 7 %div
8 - = f.text_field :username, class: "text middle", placeholder: "Username", required: true 8 + = f.text_field :username, class: "form-control middle", placeholder: "Username", required: true
9 %div 9 %div
10 - = f.email_field :email, class: "text middle", placeholder: "Email", required: true 10 + = f.email_field :email, class: "form-control middle", placeholder: "Email", required: true
11 %div 11 %div
12 - = f.password_field :password, class: "text middle", placeholder: "Password", required: true 12 + = f.password_field :password, class: "form-control middle", placeholder: "Password", required: true
13 %div 13 %div
14 - = f.password_field :password_confirmation, class: "text bottom", placeholder: "Confirm password", required: true 14 + = f.password_field :password_confirmation, class: "form-control bottom", placeholder: "Confirm password", required: true
15 %div 15 %div
16 = f.submit "Sign up", class: "btn-create btn" 16 = f.submit "Sign up", class: "btn-create btn"
17 %hr 17 %hr
app/views/devise/sessions/_new_base.html.haml
1 = form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| 1 = form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
2 - = f.text_field :login, class: "text top", placeholder: "Username or Email", autofocus: "autofocus"  
3 - = f.password_field :password, class: "text bottom", placeholder: "Password" 2 + = f.text_field :login, class: "form-control top", placeholder: "Username or Email", autofocus: "autofocus"
  3 + = f.password_field :password, class: "form-control bottom", placeholder: "Password"
4 - if devise_mapping.rememberable? 4 - if devise_mapping.rememberable?
5 .clearfix.append-bottom-10 5 .clearfix.append-bottom-10
6 %label.checkbox.remember_me{for: "user_remember_me"} 6 %label.checkbox.remember_me{for: "user_remember_me"}
app/views/devise/sessions/_new_ldap.html.haml
1 = form_tag(user_omniauth_callback_path(:ldap), id: 'new_ldap_user' ) do 1 = form_tag(user_omniauth_callback_path(:ldap), id: 'new_ldap_user' ) do
2 - = text_field_tag :username, nil, {class: "text top", placeholder: "LDAP Login", autofocus: "autofocus"}  
3 - = password_field_tag :password, nil, {class: "text bottom", placeholder: "Password"} 2 + = text_field_tag :username, nil, {class: "form-control top", placeholder: "LDAP Login", autofocus: "autofocus"}
  3 + = password_field_tag :password, nil, {class: "form-control bottom", placeholder: "Password"}
4 %br/ 4 %br/
5 = submit_tag "LDAP Sign in", class: "btn-create btn" 5 = submit_tag "LDAP Sign in", class: "btn-create btn"
app/views/devise/sessions/new.html.haml
1 .login-box 1 .login-box
2 %h3.page-title Sign in 2 %h3.page-title Sign in
3 - if ldap_enabled? 3 - if ldap_enabled?
4 - %ul.nav.nav-tabs 4 + %ul.nav.nav-tabs.append-bottom-20
5 %li.active 5 %li.active
6 = link_to 'LDAP', '#tab-ldap', 'data-toggle' => 'tab' 6 = link_to 'LDAP', '#tab-ldap', 'data-toggle' => 'tab'
7 %li 7 %li
app/views/groups/_new_group_member.html.haml
@@ -6,14 +6,14 @@ @@ -6,14 +6,14 @@
6 group 6 group
7 7
8 %p 1. Choose users you want in the group 8 %p 1. Choose users you want in the group
9 - .control-group 9 + .form-group
10 = f.label :user_ids, "People" 10 = f.label :user_ids, "People"
11 - .controls= users_select_tag(:user_ids, multiple: true, class: 'input-large') 11 + .col-sm-10= users_select_tag(:user_ids, multiple: true, class: 'input-large')
12 12
13 %p 2. Set access level for them 13 %p 2. Set access level for them
14 - .control-group 14 + .form-group
15 = f.label :group_access, "Group Access" 15 = f.label :group_access, "Group Access"
16 - .controls= select_tag :group_access, options_for_select(UsersGroup.group_access_roles, @users_group.group_access), class: "project-access-select chosen" 16 + .col-sm-10= select_tag :group_access, options_for_select(UsersGroup.group_access_roles, @users_group.group_access), class: "project-access-select chosen"
17 17
18 .form-actions 18 .form-actions
19 = f.submit 'Add users into group', class: "btn btn-create" 19 = f.submit 'Add users into group', class: "btn btn-create"
app/views/groups/edit.html.haml
1 .row 1 .row
2 - .span2 2 + .col-md-2
3 %ul.nav.nav-pills.nav-stacked.nav-stacked-menu 3 %ul.nav.nav-pills.nav-stacked.nav-stacked-menu
4 %li.active 4 %li.active
5 = link_to '#tab-edit', 'data-toggle' => 'tab' do 5 = link_to '#tab-edit', 'data-toggle' => 'tab' do
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 %li 12 %li
13 = link_to 'Remove', '#tab-remove', 'data-toggle' => 'tab' 13 = link_to 'Remove', '#tab-remove', 'data-toggle' => 'tab'
14 14
15 - .span10 15 + .col-md-10
16 .tab-content 16 .tab-content
17 .tab-pane.active#tab-edit 17 .tab-pane.active#tab-edit
18 .ui-box 18 .ui-box
@@ -22,18 +22,18 @@ @@ -22,18 +22,18 @@
22 %div.form-holder 22 %div.form-holder
23 = form_for @group do |f| 23 = form_for @group do |f|
24 - if @group.errors.any? 24 - if @group.errors.any?
25 - .alert.alert-error 25 + .alert.alert-danger
26 %span= @group.errors.full_messages.first 26 %span= @group.errors.full_messages.first
27 - .control-group 27 + .form-group
28 = f.label :name do 28 = f.label :name do
29 Group name 29 Group name
30 - .controls  
31 - = f.text_field :name, placeholder: "Ex. OpenSource", class: "input-xxlarge left" 30 + .col-sm-10
  31 + = f.text_field :name, placeholder: "Ex. OpenSource", class: "form-control left"
32 32
33 - .control-group.group-description-holder 33 + .form-group.group-description-holder
34 = f.label :description, "Details" 34 = f.label :description, "Details"
35 - .controls  
36 - = f.text_area :description, maxlength: 250, class: "input-xxlarge js-gfm-input", rows: 4 35 + .col-sm-10
  36 + = f.text_area :description, maxlength: 250, class: "form-control js-gfm-input", rows: 4
37 37
38 .form-actions 38 .form-actions
39 = f.submit 'Save group', class: "btn btn-save" 39 = f.submit 'Save group', class: "btn btn-save"
app/views/groups/issues.html.haml
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 %hr 9 %hr
10 10
11 .row 11 .row
12 - .span3 12 + .col-md-3
13 = render 'shared/filter', entity: 'issue' 13 = render 'shared/filter', entity: 'issue'
14 - .span9 14 + .col-md-9
15 = render 'shared/issues' 15 = render 'shared/issues'
app/views/groups/merge_requests.html.haml
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 group. To see all merge requests you should visit #{link_to 'dashboard', merge_requests_dashboard_path} page. 8 group. To see all merge requests you should visit #{link_to 'dashboard', merge_requests_dashboard_path} page.
9 %hr 9 %hr
10 .row 10 .row
11 - .span3 11 + .col-md-3
12 = render 'shared/filter', entity: 'merge_request' 12 = render 'shared/filter', entity: 'merge_request'
13 - .span9 13 + .col-md-9
14 = render 'shared/merge_requests' 14 = render 'shared/merge_requests'
app/views/groups/new.html.haml
1 = form_for @group do |f| 1 = form_for @group do |f|
2 - if @group.errors.any? 2 - if @group.errors.any?
3 - .alert.alert-error 3 + .alert.alert-danger
4 %span= @group.errors.full_messages.first 4 %span= @group.errors.full_messages.first
5 - .control-group 5 + .form-group
6 = f.label :name do 6 = f.label :name do
7 Group name 7 Group name
8 - .controls  
9 - = f.text_field :name, placeholder: "Ex. OpenSource", class: "input-xxlarge left" 8 + .col-sm-10
  9 + = f.text_field :name, placeholder: "Ex. OpenSource", class: "form-control left"
10 10
11 - .control-group.group-description-holder 11 + .form-group.group-description-holder
12 = f.label :description, "Details" 12 = f.label :description, "Details"
13 - .controls  
14 - = f.text_area :description, maxlength: 250, class: "input-xxlarge js-gfm-input", rows: 4 13 + .col-sm-10
  14 + = f.text_area :description, maxlength: 250, class: "form-control js-gfm-input", rows: 4
15 15
16 - .control-group  
17 - .controls 16 + .form-group
  17 + .col-sm-10
18 %ul 18 %ul
19 %li A group is a collection of several projects 19 %li A group is a collection of several projects
20 %li Groups are private by default 20 %li Groups are private by default
app/views/groups/show.html.haml
1 .dashboard 1 .dashboard
2 - .activities.span8 2 + .activities.col-md-8
3 = render "events/event_last_push", event: @last_push 3 = render "events/event_last_push", event: @last_push
4 = link_to dashboard_path, class: 'btn btn-tiny' do 4 = link_to dashboard_path, class: 'btn btn-tiny' do
5 ← To dashboard 5 ← To dashboard
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 - else 12 - else
13 %p.nothing_here_message Project activity will be displayed here 13 %p.nothing_here_message Project activity will be displayed here
14 .loading.hide 14 .loading.hide
15 - .side.span4 15 + .side.col-md-4
16 - if @group.description.present? 16 - if @group.description.present?
17 .description-block 17 .description-block
18 = @group.description 18 = @group.description
app/views/help/_api_layout.html.haml
1 .row 1 .row
2 - .span3 2 + .col-md-3
3 .append-bottom-20 3 .append-bottom-20
4 = link_to help_path, class: 'btn btn-small' do 4 = link_to help_path, class: 'btn btn-small' do
5 %i.icon-angle-left 5 %i.icon-angle-left
@@ -9,5 +9,5 @@ @@ -9,5 +9,5 @@
9 %li{class: file == @category ? 'active' : nil} 9 %li{class: file == @category ? 'active' : nil}
10 = link_to file.titleize, help_api_file_path(file) 10 = link_to file.titleize, help_api_file_path(file)
11 11
12 - .span9.pull-right 12 + .col-md-9.pull-right
13 = yield 13 = yield
app/views/help/_layout.html.haml
1 .row 1 .row
2 - .span3{:"data-spy" => 'affix'} 2 + .col-md-3{:"data-spy" => 'affix'}
3 %h3.page-title Help 3 %h3.page-title Help
4 %ul.nav.nav-pills.nav-stacked 4 %ul.nav.nav-pills.nav-stacked
5 - links = {:"Workflow" => help_workflow_path, :"SSH Keys" => help_ssh_path, :"GitLab Markdown" => help_markdown_path, :"Permissions" => help_permissions_path, :"API" => help_api_path, :"Web Hooks" => help_web_hooks_path, :"Rake Tasks" => help_raketasks_path, :"System Hooks" => help_system_hooks_path, :"Public Access" => help_public_access_path, :"Security" => help_security_path} 5 - links = {:"Workflow" => help_workflow_path, :"SSH Keys" => help_ssh_path, :"GitLab Markdown" => help_markdown_path, :"Permissions" => help_permissions_path, :"API" => help_api_path, :"Web Hooks" => help_web_hooks_path, :"Rake Tasks" => help_raketasks_path, :"System Hooks" => help_system_hooks_path, :"Public Access" => help_public_access_path, :"Security" => help_security_path}
@@ -7,5 +7,5 @@ @@ -7,5 +7,5 @@
7 %li{class: current_page?(path) ? 'active' : nil} 7 %li{class: current_page?(path) ? 'active' : nil}
8 = link_to title, path 8 = link_to title, path
9 9
10 - .span9.pull-right 10 + .col-md-9.pull-right
11 = yield 11 = yield
app/views/help/_shortcuts.html.haml
1 #modal-shortcuts.modal.hide 1 #modal-shortcuts.modal.hide
2 - .modal-header  
3 - %a.close{href: "#", "data-dismiss" => "modal"} ×  
4 - %h3 Keyboard Shortcuts  
5 - .modal-body  
6 - %h5 Global Shortcuts  
7 - %p  
8 - %span.label.label-inverse s  
9 - –  
10 - Focus Search  
11 - %p  
12 - %span.label.label-inverse ?  
13 - –  
14 - Show this dialog 2 + .modal-dialog
  3 + .modal-content
  4 + .modal-header
  5 + %a.close{href: "#", "data-dismiss" => "modal"} ×
  6 + %h3 Keyboard Shortcuts
  7 + .modal-body
  8 + %h5 Global Shortcuts
  9 + %p
  10 + %span.label.label-inverse s
  11 + –
  12 + Focus Search
  13 + %p
  14 + %span.label.label-inverse ?
  15 + –
  16 + Show this dialog
15 17
16 - %h5 Project Files browsing  
17 - %p  
18 - %span.label.label-inverse  
19 - %i.icon-arrow-up  
20 - –  
21 - Move selection up  
22 - %p  
23 - %span.label.label-inverse  
24 - %i.icon-arrow-down  
25 - –  
26 - Move selection down  
27 - %p  
28 - %span.label.label-inverse Enter  
29 - –  
30 - Open selection 18 + %h5 Project Files browsing
  19 + %p
  20 + %span.label.label-inverse
  21 + %i.icon-arrow-up
  22 + –
  23 + Move selection up
  24 + %p
  25 + %span.label.label-inverse
  26 + %i.icon-arrow-down
  27 + –
  28 + Move selection down
  29 + %p
  30 + %span.label.label-inverse Enter
  31 + –
  32 + Open selection
app/views/help/index.html.haml
1 -.hero-unit 1 +.jumbotron
2 %h2 2 %h2
3 GitLab 3 GitLab
4 %span= Gitlab::VERSION 4 %span= Gitlab::VERSION
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 Read more about GitLab at #{link_to "gitlab.org", "http://gitlab.org/", target: "_blank"}. 11 Read more about GitLab at #{link_to "gitlab.org", "http://gitlab.org/", target: "_blank"}.
12 12
13 .row 13 .row
14 - .span4 14 + .col-md-4
15 .ui-box 15 .ui-box
16 .title 16 .title
17 Quick help 17 Quick help
@@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
35 Browse our 35 Browse our
36 = link_to "issue tracker", "https://github.com/gitlabhq/gitlabhq/issues" 36 = link_to "issue tracker", "https://github.com/gitlabhq/gitlabhq/issues"
37 37
38 - .span4 38 + .col-md-4
39 .ui-box 39 .ui-box
40 .title 40 .title
41 User documentation 41 User documentation
@@ -64,7 +64,7 @@ @@ -64,7 +64,7 @@
64 %strong= link_to "Web Hooks", help_web_hooks_path 64 %strong= link_to "Web Hooks", help_web_hooks_path
65 %p Let GitLab notify you when new code has been pushed to your project. 65 %p Let GitLab notify you when new code has been pushed to your project.
66 66
67 - .span4 67 + .col-md-4
68 .ui-box 68 .ui-box
69 .title 69 .title
70 Admin documentation 70 Admin documentation
app/views/kaminari/gitlab/_paginator.html.haml
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 -# remote: data-remote 6 -# remote: data-remote
7 -# paginator: the paginator that renders the pagination tags inside 7 -# paginator: the paginator that renders the pagination tags inside
8 = paginator.render do 8 = paginator.render do
9 - %div.pagination  
10 - %ul 9 + %div.gl-pagination
  10 + %ul.pagination
11 = prev_page_tag unless current_page.first? 11 = prev_page_tag unless current_page.first?
12 - each_page do |page| 12 - each_page do |page|
13 - if page.left_outer? || page.right_outer? || page.inside_window? 13 - if page.left_outer? || page.right_outer? || page.inside_window?
app/views/layouts/_head.html.haml
@@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
8 = javascript_include_tag "application" 8 = javascript_include_tag "application"
9 = csrf_meta_tags 9 = csrf_meta_tags
10 = include_gon 10 = include_gon
  11 + :erb
  12 + <meta name="viewport" content="width=device-width, initial-scale=1.0">
11 13
12 = render 'layouts/google_analytics' if extra_config.has_key?('google_analytics_id') 14 = render 'layouts/google_analytics' if extra_config.has_key?('google_analytics_id')
13 15
app/views/layouts/_head_panel.html.haml
@@ -7,34 +7,36 @@ @@ -7,34 +7,36 @@
7 %h1 GITLAB 7 %h1 GITLAB
8 %span.separator 8 %span.separator
9 %h1.project_name= title 9 %h1.project_name= title
10 - %ul.nav  
11 - %li  
12 - %a  
13 - %div.hide.turbolink-spinner  
14 - %i.icon-refresh.icon-spin  
15 - Loading...  
16 - %li  
17 - = render "layouts/search"  
18 - %li  
19 - = link_to public_root_path, title: "Public area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do  
20 - %i.icon-globe  
21 - %li  
22 - = link_to user_snippets_path(current_user), title: "My snippets", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do  
23 - %i.icon-paste  
24 - - if current_user.is_admin? 10 +
  11 + .navbar-collapse.collapse
  12 + %ul.nav.navbar-nav
25 %li 13 %li
26 - = link_to admin_root_path, title: "Admin area", class: 'has_bottom_tooltip', 'data-original-title' => 'Admin area' do  
27 - %i.icon-cogs  
28 - - if current_user.can_create_project? 14 + %a
  15 + %div.hide.turbolink-spinner
  16 + %i.icon-refresh.icon-spin
  17 + Loading...
  18 + %li.hidden-sm
  19 + = render "layouts/search"
29 %li 20 %li
30 - = link_to new_project_path, title: "New project", class: 'has_bottom_tooltip', 'data-original-title' => 'New project' do  
31 - %i.icon-plus  
32 - %li  
33 - = link_to profile_path, title: "Profile settings", class: 'has_bottom_tooltip', 'data-original-title' => 'Profile settings"' do  
34 - %i.icon-user  
35 - %li  
36 - = link_to destroy_user_session_path, class: "logout", method: :delete, title: "Logout", class: 'has_bottom_tooltip', 'data-original-title' => 'Logout' do  
37 - %i.icon-signout  
38 - %li  
39 - = link_to current_user, class: "profile-pic", id: 'profile-pic' do  
40 - = image_tag avatar_icon(current_user.email, 26), alt: 'User activity' 21 + = link_to public_root_path, title: "Public area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
  22 + %i.icon-globe
  23 + %li
  24 + = link_to user_snippets_path(current_user), title: "My snippets", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
  25 + %i.icon-paste
  26 + - if current_user.is_admin?
  27 + %li
  28 + = link_to admin_root_path, title: "Admin area", class: 'has_bottom_tooltip', 'data-original-title' => 'Admin area' do
  29 + %i.icon-cogs
  30 + - if current_user.can_create_project?
  31 + %li
  32 + = link_to new_project_path, title: "New project", class: 'has_bottom_tooltip', 'data-original-title' => 'New project' do
  33 + %i.icon-plus
  34 + %li
  35 + = link_to profile_path, title: "Profile settings", class: 'has_bottom_tooltip', 'data-original-title' => 'Profile settings"' do
  36 + %i.icon-user
  37 + %li
  38 + = link_to destroy_user_session_path, class: "logout", method: :delete, title: "Logout", class: 'has_bottom_tooltip', 'data-original-title' => 'Logout' do
  39 + %i.icon-signout
  40 + %li
  41 + = link_to current_user, class: "profile-pic", id: 'profile-pic' do
  42 + = image_tag avatar_icon(current_user.email, 26), alt: 'User activity'
app/views/layouts/project_settings.html.haml
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 .container 15 .container
16 .content 16 .content
17 .row 17 .row
18 - .span2 18 + .col-md-2
19 = render "projects/settings_nav" 19 = render "projects/settings_nav"
20 - .span10 20 + .col-md-10
21 = yield 21 = yield
app/views/profiles/accounts/show.html.haml
@@ -23,8 +23,9 @@ @@ -23,8 +23,9 @@
23 23
24 %p.cgray 24 %p.cgray
25 - if current_user.private_token 25 - if current_user.private_token
26 - = text_field_tag "token", current_user.private_token, class: "input-xlarge input-xpadding pull-left"  
27 - = f.submit 'Reset', data: { confirm: "Are you sure?" }, class: "btn btn-primary btn-build-token prepend-left-10" 26 + = text_field_tag "token", current_user.private_token, class: "form-control"
  27 + %div
  28 + = f.submit 'Reset', data: { confirm: "Are you sure?" }, class: "btn btn-primary btn-build-token"
28 - else 29 - else
29 %span You don`t have one yet. Click generate to fix it. 30 %span You don`t have one yet. Click generate to fix it.
30 = f.submit 'Generate', class: "btn success btn-build-token" 31 = f.submit 'Generate', class: "btn success btn-build-token"
@@ -47,7 +48,7 @@ @@ -47,7 +48,7 @@
47 %p 48 %p
48 Changing your username will change path to all personal projects! 49 Changing your username will change path to all personal projects!
49 %div 50 %div
50 - = f.text_field :username, required: true, class: 'input-xlarge input-xpadding' 51 + = f.text_field :username, required: true, class: 'form-control'
51 &nbsp; 52 &nbsp;
52 %span.loading-gif.hide= image_tag "ajax_loader.gif" 53 %span.loading-gif.hide= image_tag "ajax_loader.gif"
53 %p.light 54 %p.light
app/views/profiles/keys/_form.html.haml
1 %div 1 %div
2 - = form_for [:profile, @key] do |f| 2 + = form_for [:profile, @key], html: { class: 'form-horizontal' } do |f|
3 - if @key.errors.any? 3 - if @key.errors.any?
4 - .alert.alert-error 4 + .alert.alert-danger
5 %ul 5 %ul
6 - @key.errors.full_messages.each do |msg| 6 - @key.errors.full_messages.each do |msg|
7 %li= msg 7 %li= msg
8 8
9 - .control-group  
10 - = f.label :title  
11 - .controls= f.text_field :title, class: "input-xlarge"  
12 - .control-group  
13 - = f.label :key  
14 - .controls  
15 - %p.light  
16 - Paste your public key here. Read more about how to generate a key on #{link_to "the SSH help page", help_ssh_path}.  
17 - = f.text_area :key, class: "input-xxlarge thin_area" 9 + .form-group
  10 + = f.label :title, class: 'control-label'
  11 + .col-sm-10= f.text_field :title, class: "form-control"
  12 + .form-group
  13 + = f.label :key, class: 'control-label'
  14 + .col-sm-10
  15 + = f.text_area :key, class: "form-control", rows: 8
18 16
19 17
20 .form-actions 18 .form-actions
app/views/profiles/keys/new.html.haml
1 %h3.page-title Add an SSH Key 1 %h3.page-title Add an SSH Key
  2 +%p.light
  3 + Paste your public key here. Read more about how to generate a key on #{link_to "the SSH help page", help_ssh_path}.
2 %hr 4 %hr
3 = render 'form' 5 = render 'form'
4 6
app/views/profiles/keys/show.html.haml
1 .row 1 .row
2 - .span4 2 + .col-md-4
3 .ui-box 3 .ui-box
4 .title 4 .title
5 SSH Key 5 SSH Key
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 %span.light Created on: 11 %span.light Created on:
12 %strong= @key.created_at.stamp("Aug 21, 2011") 12 %strong= @key.created_at.stamp("Aug 21, 2011")
13 13
14 - .span8 14 + .col-md-8
15 %p 15 %p
16 %span.light Fingerprint: 16 %span.light Fingerprint:
17 %strong= @key.fingerprint 17 %strong= @key.fingerprint
app/views/profiles/notifications/_settings.html.haml
1 %li 1 %li
2 .row 2 .row
3 - .span4 3 + .col-md-4
4 %span 4 %span
5 = notification_icon(notification) 5 = notification_icon(notification)
6 6
@@ -8,24 +8,24 @@ @@ -8,24 +8,24 @@
8 = link_to membership.group.name, membership.group 8 = link_to membership.group.name, membership.group
9 - else 9 - else
10 = link_to_project(membership.project) 10 = link_to_project(membership.project)
11 - .span7 11 + .col-md-7
12 = form_tag profile_notifications_path, method: :put, remote: true, class: 'update-notifications' do 12 = form_tag profile_notifications_path, method: :put, remote: true, class: 'update-notifications' do
13 = hidden_field_tag :notification_type, type, id: dom_id(membership, 'notification_type') 13 = hidden_field_tag :notification_type, type, id: dom_id(membership, 'notification_type')
14 = hidden_field_tag :notification_id, membership.id, id: dom_id(membership, 'notification_id') 14 = hidden_field_tag :notification_id, membership.id, id: dom_id(membership, 'notification_id')
15 15
16 - = label_tag do 16 + = label_tag nil, class: 'radio-inline' do
17 = radio_button_tag :notification_level, Notification::N_GLOBAL, notification.global?, id: dom_id(membership, 'notification_level'), class: 'trigger-submit' 17 = radio_button_tag :notification_level, Notification::N_GLOBAL, notification.global?, id: dom_id(membership, 'notification_level'), class: 'trigger-submit'
18 %span Use global setting 18 %span Use global setting
19 19
20 - = label_tag do 20 + = label_tag nil, class: 'radio-inline' do
21 = radio_button_tag :notification_level, Notification::N_DISABLED, notification.disabled?, id: dom_id(membership, 'notification_level'), class: 'trigger-submit' 21 = radio_button_tag :notification_level, Notification::N_DISABLED, notification.disabled?, id: dom_id(membership, 'notification_level'), class: 'trigger-submit'
22 %span Disabled 22 %span Disabled
23 23
24 - = label_tag do 24 + = label_tag nil, class: 'radio-inline' do
25 = radio_button_tag :notification_level, Notification::N_PARTICIPATING, notification.participating?, id: dom_id(membership, 'notification_level'), class: 'trigger-submit' 25 = radio_button_tag :notification_level, Notification::N_PARTICIPATING, notification.participating?, id: dom_id(membership, 'notification_level'), class: 'trigger-submit'
26 %span Participating 26 %span Participating
27 27
28 - = label_tag do 28 + = label_tag nil, class: 'radio-inline' do
29 = radio_button_tag :notification_level, Notification::N_WATCH, notification.watch?, id: dom_id(membership, 'notification_level'), class: 'trigger-submit' 29 = radio_button_tag :notification_level, Notification::N_WATCH, notification.watch?, id: dom_id(membership, 'notification_level'), class: 'trigger-submit'
30 %span Watch 30 %span Watch
31 31
app/views/profiles/notifications/show.html.haml
@@ -18,23 +18,23 @@ @@ -18,23 +18,23 @@
18 &ndash; You will receive all notifications from projects in which you participate 18 &ndash; You will receive all notifications from projects in which you participate
19 19
20 .row 20 .row
21 - .span4 21 + .col-md-4
22 %h4 22 %h4
23 = notification_icon(@notification) 23 = notification_icon(@notification)
24 Global setting 24 Global setting
25 - .span7 25 + .col-md-7
26 = form_tag profile_notifications_path, method: :put, remote: true, class: 'update-notifications' do 26 = form_tag profile_notifications_path, method: :put, remote: true, class: 'update-notifications' do
27 = hidden_field_tag :notification_type, 'global' 27 = hidden_field_tag :notification_type, 'global'
28 28
29 - = label_tag do 29 + = label_tag nil, class: 'radio-inline' do
30 = radio_button_tag :notification_level, Notification::N_DISABLED, @notification.disabled?, class: 'trigger-submit' 30 = radio_button_tag :notification_level, Notification::N_DISABLED, @notification.disabled?, class: 'trigger-submit'
31 %span Disabled 31 %span Disabled
32 32
33 - = label_tag do 33 + = label_tag nil, class: 'radio-inline' do
34 = radio_button_tag :notification_level, Notification::N_PARTICIPATING, @notification.participating?, class: 'trigger-submit' 34 = radio_button_tag :notification_level, Notification::N_PARTICIPATING, @notification.participating?, class: 'trigger-submit'
35 %span Participating 35 %span Participating
36 36
37 - = label_tag do 37 + = label_tag nil, class: 'radio-inline' do
38 = radio_button_tag :notification_level, Notification::N_WATCH, @notification.watch?, class: 'trigger-submit' 38 = radio_button_tag :notification_level, Notification::N_WATCH, @notification.watch?, class: 'trigger-submit'
39 %span Watch 39 %span Watch
40 40
app/views/profiles/passwords/edit.html.haml
@@ -3,30 +3,30 @@ @@ -3,30 +3,30 @@
3 Change your password or recover your current one. 3 Change your password or recover your current one.
4 %hr 4 %hr
5 .update-password 5 .update-password
6 - = form_for @user, url: profile_password_path, method: :put do |f| 6 + = form_for @user, url: profile_password_path, method: :put, html: { class: 'form-horizontal' } do |f|
7 %div 7 %div
8 %p.slead 8 %p.slead
9 You must provide current password in order to change it. 9 You must provide current password in order to change it.
10 %br 10 %br
11 After a successful password update you will be redirected to login page where you should login with your new password 11 After a successful password update you will be redirected to login page where you should login with your new password
12 -if @user.errors.any? 12 -if @user.errors.any?
13 - .alert.alert-error 13 + .alert.alert-danger
14 %ul 14 %ul
15 - @user.errors.full_messages.each do |msg| 15 - @user.errors.full_messages.each do |msg|
16 %li= msg 16 %li= msg
17 - .control-group  
18 - = f.label :current_password  
19 - .controls  
20 - = f.password_field :current_password, required: true 17 + .form-group
  18 + = f.label :current_password, class: 'control-label'
  19 + .col-sm-10
  20 + = f.password_field :current_password, required: true, class: 'form-control'
21 %div 21 %div
22 = link_to "Forgot your password?", reset_profile_password_path, method: :put 22 = link_to "Forgot your password?", reset_profile_password_path, method: :put
23 23
24 - .control-group  
25 - = f.label :password, 'New password'  
26 - .controls= f.password_field :password, required: true  
27 - .control-group  
28 - = f.label :password_confirmation  
29 - .controls  
30 - = f.password_field :password_confirmation, required: true 24 + .form-group
  25 + = f.label :password, 'New password', class: 'control-label'
  26 + .col-sm-10= f.password_field :password, required: true, class: 'form-control'
  27 + .form-group
  28 + = f.label :password_confirmation, class: 'control-label'
  29 + .col-sm-10
  30 + = f.password_field :password_confirmation, required: true, class: 'form-control'
31 .form-actions 31 .form-actions
32 = f.submit 'Save password', class: "btn btn-save" 32 = f.submit 'Save password', class: "btn btn-save"
app/views/profiles/passwords/new.html.haml
@@ -5,18 +5,18 @@ @@ -5,18 +5,18 @@
5 %br 5 %br
6 After successful password update you will be redirected to login screen 6 After successful password update you will be redirected to login screen
7 -if @user.errors.any? 7 -if @user.errors.any?
8 - .alert.alert-error 8 + .alert.alert-danger
9 %ul 9 %ul
10 - @user.errors.full_messages.each do |msg| 10 - @user.errors.full_messages.each do |msg|
11 %li= msg 11 %li= msg
12 12
13 - .control-group 13 + .form-group
14 = f.label :password 14 = f.label :password
15 - .controls= f.password_field :password, required: true  
16 - .control-group 15 + .col-sm-10= f.password_field :password, required: true
  16 + .form-group
17 = f.label :password_confirmation 17 = f.label :password_confirmation
18 - .controls 18 + .col-sm-10
19 = f.password_field :password_confirmation, required: true 19 = f.password_field :password_confirmation, required: true
20 - .control-group  
21 - .controls 20 + .form-group
  21 + .col-sm-10
22 = f.submit 'Set new password', class: "btn btn-create" 22 = f.submit 'Set new password', class: "btn btn-create"
app/views/profiles/show.html.haml
@@ -10,49 +10,49 @@ @@ -10,49 +10,49 @@
10 10
11 = form_for @user, url: profile_path, method: :put, html: { multipart: true, class: "edit_user form-horizontal" }, authenticity_token: true do |f| 11 = form_for @user, url: profile_path, method: :put, html: { multipart: true, class: "edit_user form-horizontal" }, authenticity_token: true do |f|
12 -if @user.errors.any? 12 -if @user.errors.any?
13 - %div.alert.alert-error 13 + %div.alert.alert-danger
14 %ul 14 %ul
15 - @user.errors.full_messages.each do |msg| 15 - @user.errors.full_messages.each do |msg|
16 %li= msg 16 %li= msg
17 .row 17 .row
18 - .span7  
19 - .control-group 18 + .col-md-7
  19 + .form-group
20 = f.label :name, class: "control-label" 20 = f.label :name, class: "control-label"
21 - .controls  
22 - = f.text_field :name, class: "input-xlarge", required: true 21 + .col-sm-10
  22 + = f.text_field :name, class: "form-control", required: true
23 %span.help-block Enter your name, so people you know can recognize you. 23 %span.help-block Enter your name, so people you know can recognize you.
24 24
25 - .control-group 25 + .form-group
26 = f.label :email, class: "control-label" 26 = f.label :email, class: "control-label"
27 - .controls 27 + .col-sm-10
28 - if @user.ldap_user? 28 - if @user.ldap_user?
29 - = f.text_field :email, class: "input-xlarge", required: true, readonly: true 29 + = f.text_field :email, class: "form-control", required: true, readonly: true
30 %span.help-block.light 30 %span.help-block.light
31 Email is read-only for LDAP user 31 Email is read-only for LDAP user
32 - else 32 - else
33 - = f.text_field :email, class: "input-xlarge", required: true 33 + = f.text_field :email, class: "form-control", required: true
34 - if @user.unconfirmed_email.present? 34 - if @user.unconfirmed_email.present?
35 %span.help-block 35 %span.help-block
36 We sent confirmation email to 36 We sent confirmation email to
37 %strong #{@user.unconfirmed_email} 37 %strong #{@user.unconfirmed_email}
38 - else 38 - else
39 %span.help-block We also use email for avatar detection if no avatar is uploaded. 39 %span.help-block We also use email for avatar detection if no avatar is uploaded.
40 - .control-group 40 + .form-group
41 = f.label :skype, class: "control-label" 41 = f.label :skype, class: "control-label"
42 - .controls= f.text_field :skype, class: "input-xlarge"  
43 - .control-group 42 + .col-sm-10= f.text_field :skype, class: "form-control"
  43 + .form-group
44 = f.label :linkedin, class: "control-label" 44 = f.label :linkedin, class: "control-label"
45 - .controls= f.text_field :linkedin, class: "input-xlarge"  
46 - .control-group 45 + .col-sm-10= f.text_field :linkedin, class: "form-control"
  46 + .form-group
47 = f.label :twitter, class: "control-label" 47 = f.label :twitter, class: "control-label"
48 - .controls= f.text_field :twitter, class: "input-xlarge"  
49 - .control-group 48 + .col-sm-10= f.text_field :twitter, class: "form-control"
  49 + .form-group
50 = f.label :bio, class: "control-label" 50 = f.label :bio, class: "control-label"
51 - .controls  
52 - = f.text_area :bio, rows: 6, class: "input-xlarge", maxlength: 250 51 + .col-sm-10
  52 + = f.text_area :bio, rows: 6, class: "form-control", maxlength: 250
53 %span.help-block Tell us about yourself in fewer than 250 characters. 53 %span.help-block Tell us about yourself in fewer than 250 characters.
54 54
55 - .span5.pull-right 55 + .col-md-5
56 .light-well 56 .light-well
57 = image_tag avatar_icon(@user.email, 160), alt: '', class: 'avatar s160' 57 = image_tag avatar_icon(@user.email, 160), alt: '', class: 'avatar s160'
58 58
@@ -73,7 +73,7 @@ @@ -73,7 +73,7 @@
73 %span Choose File ... 73 %span Choose File ...
74 &nbsp; 74 &nbsp;
75 %span.file_name.js-avatar-filename File name... 75 %span.file_name.js-avatar-filename File name...
76 - = f.file_field :avatar, class: "js-user-avatar-input hide" 76 + = f.file_field :avatar, class: "js-user-avatar-input hidden"
77 .light The maximum file size allowed is 100KB. 77 .light The maximum file size allowed is 100KB.
78 - if @user.avatar? 78 - if @user.avatar?
79 %hr 79 %hr