Commit cd3d50caf2691116424a8df73939f095814c7ab5
1 parent
5b88c1e3
Exists in
master
and in
4 other branches
Changed colors for buttons. Imporved preview area. Added clone panel to empty project
Showing
9 changed files
with
113 additions
and
69 deletions
Show diff stats
app/assets/javascripts/note.js
@@ -45,7 +45,9 @@ init: | @@ -45,7 +45,9 @@ init: | ||
45 | $("#note_note").live("focus", function(){ | 45 | $("#note_note").live("focus", function(){ |
46 | $(this).css("height", "80px"); | 46 | $(this).css("height", "80px"); |
47 | $('.note_advanced_opts').show(); | 47 | $('.note_advanced_opts').show(); |
48 | - $(this).closest("form").find(".submit_note").attr("disabled", "disabled"); | 48 | + if($(this).val() == "") { |
49 | + $(this).closest("form").find(".submit_note").attr("disabled", "disabled").addClass("disabled"); | ||
50 | + } | ||
49 | }); | 51 | }); |
50 | 52 | ||
51 | $("#note_attachment").change(function(e){ | 53 | $("#note_attachment").change(function(e){ |
app/assets/stylesheets/gitlab_bootstrap/buttons.scss
1 | .btn { | 1 | .btn { |
2 | - @include bg-dark-gray-gradient; | 2 | + background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #f7f7f7), to(#d5d5d5)); |
3 | + background-image: -webkit-linear-gradient(#f7f7f7 7.6%, #d5d5d5); | ||
4 | + background-image: -moz-linear-gradient(#f7f7f7 7.6%, #d5d5d5); | ||
5 | + background-image: -o-linear-gradient(#f7f7f7 7.6%, #d5d5d5); | ||
3 | border-color:#aaa; | 6 | border-color:#aaa; |
4 | &:hover { | 7 | &:hover { |
5 | @include bg-gray-gradient; | 8 | @include bg-gray-gradient; |
@@ -7,28 +10,42 @@ | @@ -7,28 +10,42 @@ | ||
7 | color:#333; | 10 | color:#333; |
8 | } | 11 | } |
9 | 12 | ||
10 | - &.btn-primary { | 13 | + &.primary { |
11 | background:#2a79A3; | 14 | background:#2a79A3; |
12 | border-color: #2A79A3; | 15 | border-color: #2A79A3; |
16 | + background-image: -webkit-linear-gradient(#47A7b7 7.6%, #2585b5); | ||
17 | + background-image: -moz-linear-gradient(#47A7b7 7.6%, #2585b5); | ||
18 | + background-image: -o-linear-gradient(#47A7b7 7.6%, #2585b5); | ||
19 | + color:#fff; | ||
20 | + text-shadow: 0 1px 1px #268; | ||
13 | &:hover { | 21 | &:hover { |
14 | background:$blue_link; | 22 | background:$blue_link; |
15 | color:#fff; | 23 | color:#fff; |
16 | } | 24 | } |
17 | - } | ||
18 | - &.primary { | ||
19 | - @extend .btn-primary; | 25 | + |
26 | + &.disabled { | ||
27 | + color:#fff; | ||
28 | + background:#29B; | ||
29 | + } | ||
20 | } | 30 | } |
21 | 31 | ||
22 | &.success { | 32 | &.success { |
33 | + border-color: #4A4; | ||
34 | + background-image: -webkit-linear-gradient(#82D482 7.6%, #22B442); | ||
35 | + background-image: -moz-linear-gradient(#82D482 7.6%, #22B442); | ||
36 | + background-image: -o-linear-gradient(#82D482 7.6%, #22B442); | ||
23 | color: #fff; | 37 | color: #fff; |
24 | - text-shadow: 0 0 1px #111; | ||
25 | - background: #5bb75b;; | ||
26 | - font-weight: bold; | 38 | + text-shadow: 0 1px 1px #141; |
27 | 39 | ||
28 | &:hover { | 40 | &:hover { |
29 | - background-color: #51a351; | 41 | + background: #6C6; |
30 | color: #fff; | 42 | color: #fff; |
31 | } | 43 | } |
44 | + | ||
45 | + &.disabled { | ||
46 | + color:#fff; | ||
47 | + background:#2b2; | ||
48 | + } | ||
32 | } | 49 | } |
33 | 50 | ||
34 | &.save-btn { | 51 | &.save-btn { |
app/assets/stylesheets/sections/notes.scss
@@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
2 | * Notes | 2 | * Notes |
3 | * | 3 | * |
4 | */ | 4 | */ |
5 | -#notes-list, | 5 | +#notes-list, |
6 | #new_notes_list { | 6 | #new_notes_list { |
7 | display:block; | 7 | display:block; |
8 | list-style:none; | 8 | list-style:none; |
@@ -10,7 +10,7 @@ | @@ -10,7 +10,7 @@ | ||
10 | padding:0px; | 10 | padding:0px; |
11 | } | 11 | } |
12 | 12 | ||
13 | -#new_notes_list li:last-child{ | 13 | +#new_notes_list li:last-child{ |
14 | border-bottom:1px solid #aaa; | 14 | border-bottom:1px solid #aaa; |
15 | } | 15 | } |
16 | 16 | ||
@@ -38,12 +38,16 @@ | @@ -38,12 +38,16 @@ | ||
38 | } | 38 | } |
39 | } | 39 | } |
40 | 40 | ||
41 | -#preview-note { | ||
42 | - margin-bottom: 0; | 41 | +.preview_note { |
42 | + margin: 2px; | ||
43 | + border: 1px solid #ddd; | ||
44 | + padding: 10px; | ||
45 | + min-height: 60px; | ||
46 | + background:#f5f5f5; | ||
43 | } | 47 | } |
44 | 48 | ||
45 | -.note { | ||
46 | - padding: 8px 0; | 49 | +.note { |
50 | + padding: 8px 0; | ||
47 | border-bottom: 1px solid #eee; | 51 | border-bottom: 1px solid #eee; |
48 | overflow: hidden; | 52 | overflow: hidden; |
49 | display: block; | 53 | display: block; |
@@ -53,16 +57,16 @@ | @@ -53,16 +57,16 @@ | ||
53 | .note-author { color: $style_color;} | 57 | .note-author { color: $style_color;} |
54 | 58 | ||
55 | .note-title { margin-left:45px; padding-top: 5px;} | 59 | .note-title { margin-left:45px; padding-top: 5px;} |
56 | - .avatar { | 60 | + .avatar { |
57 | margin-top:3px; | 61 | margin-top:3px; |
58 | } | 62 | } |
59 | 63 | ||
60 | - .delete-note { | ||
61 | - display:none; | 64 | + .delete-note { |
65 | + display:none; | ||
62 | float:right; | 66 | float:right; |
63 | } | 67 | } |
64 | 68 | ||
65 | - &:hover { | 69 | + &:hover { |
66 | .delete-note { display:block; } | 70 | .delete-note { display:block; } |
67 | } | 71 | } |
68 | } | 72 | } |
@@ -76,18 +80,18 @@ p.notify_controls span{ | @@ -76,18 +80,18 @@ p.notify_controls span{ | ||
76 | font-weight: 700; | 80 | font-weight: 700; |
77 | } | 81 | } |
78 | 82 | ||
79 | -tr.line_notes_row { | 83 | +tr.line_notes_row { |
80 | border-bottom:1px solid #DDD; | 84 | border-bottom:1px solid #DDD; |
81 | border-left: 7px solid #2A79A3; | 85 | border-left: 7px solid #2A79A3; |
82 | 86 | ||
83 | - &.reply { | 87 | + &.reply { |
84 | background:#eee; | 88 | background:#eee; |
85 | border-left: 7px solid #2A79A3; | 89 | border-left: 7px solid #2A79A3; |
86 | border-top:1px solid #ddd; | 90 | border-top:1px solid #ddd; |
87 | - td { | 91 | + td { |
88 | padding:7px 10px; | 92 | padding:7px 10px; |
89 | } | 93 | } |
90 | - a.line_note_reply_link { | 94 | + a.line_note_reply_link { |
91 | @include round-borders-all(4px); | 95 | @include round-borders-all(4px); |
92 | padding: 3px 10px; | 96 | padding: 3px 10px; |
93 | margin-left:5px; | 97 | margin-left:5px; |
@@ -96,9 +100,9 @@ tr.line_notes_row { | @@ -96,9 +100,9 @@ tr.line_notes_row { | ||
96 | border-color: #2A79A3; | 100 | border-color: #2A79A3; |
97 | } | 101 | } |
98 | } | 102 | } |
99 | - ul { | 103 | + ul { |
100 | margin:0; | 104 | margin:0; |
101 | - li { | 105 | + li { |
102 | padding:0; | 106 | padding:0; |
103 | border:none; | 107 | border:none; |
104 | } | 108 | } |
@@ -107,26 +111,26 @@ tr.line_notes_row { | @@ -107,26 +111,26 @@ tr.line_notes_row { | ||
107 | 111 | ||
108 | .line_notes_row, .per_line_form { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } | 112 | .line_notes_row, .per_line_form { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } |
109 | 113 | ||
110 | -.per_line_form { | 114 | +.per_line_form { |
111 | background:#f5f5f5; | 115 | background:#f5f5f5; |
112 | border-top:1px solid #eee; | 116 | border-top:1px solid #eee; |
113 | form { margin: 0; } | 117 | form { margin: 0; } |
114 | - td { | 118 | + td { |
115 | border-bottom:1px solid #ddd; | 119 | border-bottom:1px solid #ddd; |
116 | } | 120 | } |
117 | - .note_actions { | 121 | + .note_actions { |
118 | margin:0; | 122 | margin:0; |
119 | padding-top: 10px; | 123 | padding-top: 10px; |
120 | 124 | ||
121 | - .buttons { | 125 | + .buttons { |
122 | float:left; | 126 | float:left; |
123 | width:300px; | 127 | width:300px; |
124 | } | 128 | } |
125 | - .options { | ||
126 | - .labels { | 129 | + .options { |
130 | + .labels { | ||
127 | float:left; | 131 | float:left; |
128 | padding-left:10px; | 132 | padding-left:10px; |
129 | - label { | 133 | + label { |
130 | padding: 6px 0; | 134 | padding: 6px 0; |
131 | margin: 0; | 135 | margin: 0; |
132 | width:120px; | 136 | width:120px; |
@@ -136,7 +140,7 @@ tr.line_notes_row { | @@ -136,7 +140,7 @@ tr.line_notes_row { | ||
136 | } | 140 | } |
137 | } | 141 | } |
138 | 142 | ||
139 | -td .line_note_link { | 143 | +td .line_note_link { |
140 | position:absolute; | 144 | position:absolute; |
141 | margin-left:-70px; | 145 | margin-left:-70px; |
142 | margin-top:-10px; | 146 | margin-top:-10px; |
@@ -148,14 +152,14 @@ td .line_note_link { | @@ -148,14 +152,14 @@ td .line_note_link { | ||
148 | opacity: 0.0; | 152 | opacity: 0.0; |
149 | filter: alpha(opacity=0); | 153 | filter: alpha(opacity=0); |
150 | 154 | ||
151 | - &:hover { | 155 | + &:hover { |
152 | opacity: 1.0; | 156 | opacity: 1.0; |
153 | filter: alpha(opacity=100); | 157 | filter: alpha(opacity=100); |
154 | } | 158 | } |
155 | } | 159 | } |
156 | 160 | ||
157 | .diff_file_content tr.line_holder:hover > td { background: $hover !important; } | 161 | .diff_file_content tr.line_holder:hover > td { background: $hover !important; } |
158 | -.diff_file_content tr.line_holder:hover > td .line_note_link { | 162 | +.diff_file_content tr.line_holder:hover > td .line_note_link { |
159 | opacity: 1.0; | 163 | opacity: 1.0; |
160 | filter: alpha(opacity=100); | 164 | filter: alpha(opacity=100); |
161 | } | 165 | } |
@@ -173,8 +177,8 @@ td .line_note_link { | @@ -173,8 +177,8 @@ td .line_note_link { | ||
173 | margin: 0; | 177 | margin: 0; |
174 | } | 178 | } |
175 | 179 | ||
176 | - .note_advanced_opts { | ||
177 | - h6 { | 180 | + .note_advanced_opts { |
181 | + h6 { | ||
178 | line-height: 32px; | 182 | line-height: 32px; |
179 | padding-right: 15px; | 183 | padding-right: 15px; |
180 | } | 184 | } |
@@ -187,7 +191,7 @@ td .line_note_link { | @@ -187,7 +191,7 @@ td .line_note_link { | ||
187 | overflow:hidden; | 191 | overflow:hidden; |
188 | margin:0 0 5px !important; | 192 | margin:0 0 5px !important; |
189 | 193 | ||
190 | - .input_file { | 194 | + .input_file { |
191 | .file_upload { | 195 | .file_upload { |
192 | position: absolute; | 196 | position: absolute; |
193 | right:14px; | 197 | right:14px; |
@@ -200,7 +204,7 @@ td .line_note_link { | @@ -200,7 +204,7 @@ td .line_note_link { | ||
200 | height:28px; | 204 | height:28px; |
201 | overflow:hidden; | 205 | overflow:hidden; |
202 | } | 206 | } |
203 | - .input-file { | 207 | + .input-file { |
204 | width: 260px; | 208 | width: 260px; |
205 | height: 41px; | 209 | height: 41px; |
206 | float: right; | 210 | float: right; |
app/views/commits/compare.html.haml
@@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
20 | = "..." | 20 | = "..." |
21 | = text_field_tag :to, params[:to], placeholder: "aa8b4ef", class: "xlarge" | 21 | = text_field_tag :to, params[:to], placeholder: "aa8b4ef", class: "xlarge" |
22 | .actions | 22 | .actions |
23 | - = submit_tag "Compare", class: "btn btn-primary" | 23 | + = submit_tag "Compare", class: "btn primary" |
24 | 24 | ||
25 | 25 | ||
26 | - unless @commits.empty? | 26 | - unless @commits.empty? |
app/views/notes/_form.html.haml
@@ -8,14 +8,14 @@ | @@ -8,14 +8,14 @@ | ||
8 | = f.hidden_field :noteable_id | 8 | = f.hidden_field :noteable_id |
9 | = f.hidden_field :noteable_type | 9 | = f.hidden_field :noteable_type |
10 | = f.text_area :note, size: 255 | 10 | = f.text_area :note, size: 255 |
11 | - #preview-note.well.hide | 11 | + #preview-note.preview_note.hide |
12 | .hint | 12 | .hint |
13 | .right Comments are parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}. | 13 | .right Comments are parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}. |
14 | .clearfix | 14 | .clearfix |
15 | 15 | ||
16 | .row.note_advanced_opts.hide | 16 | .row.note_advanced_opts.hide |
17 | .span3 | 17 | .span3 |
18 | - = f.submit 'Add Comment', class: "btn primary submit_note grouped", id: "submit_note" | 18 | + = f.submit 'Add Comment', class: "btn success submit_note grouped", id: "submit_note" |
19 | = link_to 'Preview', preview_project_notes_path(@project), class: 'btn grouped', id: 'preview-link' | 19 | = link_to 'Preview', preview_project_notes_path(@project), class: 'btn grouped', id: 'preview-link' |
20 | .span4.notify_opts | 20 | .span4.notify_opts |
21 | %h6.left Notify via email: | 21 | %h6.left Notify via email: |
@@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
30 | .span5.attachments | 30 | .span5.attachments |
31 | %h6.left Attachment: | 31 | %h6.left Attachment: |
32 | %span.file_name File name... | 32 | %span.file_name File name... |
33 | - | 33 | + |
34 | .input.input_file | 34 | .input.input_file |
35 | %a.file_upload.btn.small Upload File | 35 | %a.file_upload.btn.small Upload File |
36 | = f.file_field :attachment, class: "input-file" | 36 | = f.file_field :attachment, class: "input-file" |
@@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
1 | +.project_clone_panel | ||
2 | + .row | ||
3 | + .span7 | ||
4 | + .form-horizontal | ||
5 | + .input-prepend.project_clone_holder | ||
6 | + = link_to "SSH", "#", class: "btn small active", :"data-clone" => @project.ssh_url_to_repo | ||
7 | + = link_to "HTTP", "#", class: "btn small", :"data-clone" => @project.http_url_to_repo | ||
8 | + = text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select span5" | ||
9 | + .span4.right | ||
10 | + .right | ||
11 | + - if can? current_user, :download_code, @project | ||
12 | + = link_to archive_project_repository_path(@project), class: "btn small grouped" do | ||
13 | + %i.icon-download-alt | ||
14 | + Download | ||
15 | + - if @project.merge_requests_enabled && can?(current_user, :write_merge_request, @project) | ||
16 | + = link_to new_project_merge_request_path(@project), title: "New Merge Request", class: "btn small grouped" do | ||
17 | + Merge Request | ||
18 | + - if @project.issues_enabled && can?(current_user, :write_issue, @project) | ||
19 | + = link_to new_project_issue_path(@project), title: "New Issue", class: "btn small grouped" do | ||
20 | + Issue | ||
21 | + |
app/views/projects/empty.html.haml
1 | = render 'shared/no_ssh' | 1 | = render 'shared/no_ssh' |
2 | +.project_clone_panel | ||
3 | + .row | ||
4 | + .span7 | ||
5 | + .form-horizontal | ||
6 | + .input-prepend.project_clone_holder | ||
7 | + = link_to "SSH", "#", class: "btn small active", :"data-clone" => @project.ssh_url_to_repo | ||
8 | + = link_to "HTTP", "#", class: "btn small", :"data-clone" => @project.http_url_to_repo | ||
9 | + = text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select span5" | ||
2 | %div.git-empty | 10 | %div.git-empty |
3 | %h4 Git global setup: | 11 | %h4 Git global setup: |
4 | %pre.dark | 12 | %pre.dark |
@@ -28,3 +36,16 @@ | @@ -28,3 +36,16 @@ | ||
28 | - if can? current_user, :admin_project, @project | 36 | - if can? current_user, :admin_project, @project |
29 | .prepend-top-20 | 37 | .prepend-top-20 |
30 | = link_to 'Remove project', @project, confirm: 'Are you sure?', method: :delete, class: "btn danger right" | 38 | = link_to 'Remove project', @project, confirm: 'Are you sure?', method: :delete, class: "btn danger right" |
39 | + | ||
40 | + | ||
41 | + | ||
42 | +:javascript | ||
43 | + $(function(){ | ||
44 | + var link_sel = ".project_clone_holder a"; | ||
45 | + $(link_sel).bind("click", function() { | ||
46 | + $(link_sel).removeClass("active"); | ||
47 | + $(this).addClass("active"); | ||
48 | + $("#project_clone").val($(this).attr("data-clone")); | ||
49 | + }) | ||
50 | + }) | ||
51 | + |
app/views/projects/show.html.haml
1 | = render "project_head" | 1 | = render "project_head" |
2 | - | ||
3 | -.project_clone_panel | ||
4 | - .row | ||
5 | - .span7 | ||
6 | - .form-horizontal | ||
7 | - .input-prepend.project_clone_holder | ||
8 | - = link_to "SSH", "#", class: "btn small active", :"data-clone" => @project.ssh_url_to_repo | ||
9 | - = link_to "HTTP", "#", class: "btn small", :"data-clone" => @project.http_url_to_repo | ||
10 | - = text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select span5" | ||
11 | - .span4.right | ||
12 | - .right | ||
13 | - - if can? current_user, :download_code, @project | ||
14 | - = link_to archive_project_repository_path(@project), class: "btn small grouped" do | ||
15 | - %i.icon-download-alt | ||
16 | - Download | ||
17 | - - if @project.merge_requests_enabled && can?(current_user, :write_merge_request, @project) | ||
18 | - = link_to new_project_merge_request_path(@project), title: "New Merge Request", class: "btn small grouped" do | ||
19 | - Merge Request | ||
20 | - - if @project.issues_enabled && can?(current_user, :write_issue, @project) | ||
21 | - = link_to new_project_issue_path(@project), title: "New Issue", class: "btn small grouped" do | ||
22 | - Issue | ||
23 | - | 2 | += render 'clone_panel' |
24 | = render "events/event_last_push", event: @last_push | 3 | = render "events/event_last_push", event: @last_push |
25 | .content_list= render @events | 4 | .content_list= render @events |
26 | 5 | ||
27 | -:javascript | 6 | +:javascript |
28 | $(function(){ | 7 | $(function(){ |
29 | var link_sel = ".project_clone_holder a"; | 8 | var link_sel = ".project_clone_holder a"; |
30 | - $(link_sel).bind("click", function() { | 9 | + $(link_sel).bind("click", function() { |
31 | $(link_sel).removeClass("active"); | 10 | $(link_sel).removeClass("active"); |
32 | $(this).addClass("active"); | 11 | $(this).addClass("active"); |
33 | $("#project_clone").val($(this).attr("data-clone")); | 12 | $("#project_clone").val($(this).attr("data-clone")); |
app/views/search/show.html.haml
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | %strong Looking for | 4 | %strong Looking for |
5 | .input | 5 | .input |
6 | = text_field_tag :search, params[:search], placeholder: "issue 143", class: "input-xxlarge", id: "dashboard_search" | 6 | = text_field_tag :search, params[:search], placeholder: "issue 143", class: "input-xxlarge", id: "dashboard_search" |
7 | - = submit_tag 'Search', class: "btn btn-primary" | 7 | + = submit_tag 'Search', class: "btn primary" |
8 | - if params[:search].present? | 8 | - if params[:search].present? |
9 | %br | 9 | %br |
10 | %h3 | 10 | %h3 |