From cd3d50caf2691116424a8df73939f095814c7ab5 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 30 Aug 2012 09:26:45 +0300 Subject: [PATCH] Changed colors for buttons. Imporved preview area. Added clone panel to empty project --- app/assets/javascripts/note.js | 4 +- .../stylesheets/gitlab_bootstrap/buttons.scss | 35 +++++++--- app/assets/stylesheets/sections/notes.scss | 64 ++++++++++--------- app/views/commits/compare.html.haml | 2 +- app/views/notes/_form.html.haml | 6 +- app/views/projects/_clone_panel.html.haml | 21 ++++++ app/views/projects/empty.html.haml | 21 ++++++ app/views/projects/show.html.haml | 27 +------- app/views/search/show.html.haml | 2 +- 9 files changed, 113 insertions(+), 69 deletions(-) create mode 100644 app/views/projects/_clone_panel.html.haml diff --git a/app/assets/javascripts/note.js b/app/assets/javascripts/note.js index dfa09986..212c203a 100644 --- a/app/assets/javascripts/note.js +++ b/app/assets/javascripts/note.js @@ -45,7 +45,9 @@ init: $("#note_note").live("focus", function(){ $(this).css("height", "80px"); $('.note_advanced_opts').show(); - $(this).closest("form").find(".submit_note").attr("disabled", "disabled"); + if($(this).val() == "") { + $(this).closest("form").find(".submit_note").attr("disabled", "disabled").addClass("disabled"); + } }); $("#note_attachment").change(function(e){ diff --git a/app/assets/stylesheets/gitlab_bootstrap/buttons.scss b/app/assets/stylesheets/gitlab_bootstrap/buttons.scss index 9966e81b..c838f3b2 100644 --- a/app/assets/stylesheets/gitlab_bootstrap/buttons.scss +++ b/app/assets/stylesheets/gitlab_bootstrap/buttons.scss @@ -1,5 +1,8 @@ .btn { - @include bg-dark-gray-gradient; + background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #f7f7f7), to(#d5d5d5)); + background-image: -webkit-linear-gradient(#f7f7f7 7.6%, #d5d5d5); + background-image: -moz-linear-gradient(#f7f7f7 7.6%, #d5d5d5); + background-image: -o-linear-gradient(#f7f7f7 7.6%, #d5d5d5); border-color:#aaa; &:hover { @include bg-gray-gradient; @@ -7,28 +10,42 @@ color:#333; } - &.btn-primary { + &.primary { background:#2a79A3; border-color: #2A79A3; + background-image: -webkit-linear-gradient(#47A7b7 7.6%, #2585b5); + background-image: -moz-linear-gradient(#47A7b7 7.6%, #2585b5); + background-image: -o-linear-gradient(#47A7b7 7.6%, #2585b5); + color:#fff; + text-shadow: 0 1px 1px #268; &:hover { background:$blue_link; color:#fff; } - } - &.primary { - @extend .btn-primary; + + &.disabled { + color:#fff; + background:#29B; + } } &.success { + border-color: #4A4; + background-image: -webkit-linear-gradient(#82D482 7.6%, #22B442); + background-image: -moz-linear-gradient(#82D482 7.6%, #22B442); + background-image: -o-linear-gradient(#82D482 7.6%, #22B442); color: #fff; - text-shadow: 0 0 1px #111; - background: #5bb75b;; - font-weight: bold; + text-shadow: 0 1px 1px #141; &:hover { - background-color: #51a351; + background: #6C6; color: #fff; } + + &.disabled { + color:#fff; + background:#2b2; + } } &.save-btn { diff --git a/app/assets/stylesheets/sections/notes.scss b/app/assets/stylesheets/sections/notes.scss index afa50952..6259939e 100644 --- a/app/assets/stylesheets/sections/notes.scss +++ b/app/assets/stylesheets/sections/notes.scss @@ -2,7 +2,7 @@ * Notes * */ -#notes-list, +#notes-list, #new_notes_list { display:block; list-style:none; @@ -10,7 +10,7 @@ padding:0px; } -#new_notes_list li:last-child{ +#new_notes_list li:last-child{ border-bottom:1px solid #aaa; } @@ -38,12 +38,16 @@ } } -#preview-note { - margin-bottom: 0; +.preview_note { + margin: 2px; + border: 1px solid #ddd; + padding: 10px; + min-height: 60px; + background:#f5f5f5; } -.note { - padding: 8px 0; +.note { + padding: 8px 0; border-bottom: 1px solid #eee; overflow: hidden; display: block; @@ -53,16 +57,16 @@ .note-author { color: $style_color;} .note-title { margin-left:45px; padding-top: 5px;} - .avatar { + .avatar { margin-top:3px; } - .delete-note { - display:none; + .delete-note { + display:none; float:right; } - &:hover { + &:hover { .delete-note { display:block; } } } @@ -76,18 +80,18 @@ p.notify_controls span{ font-weight: 700; } -tr.line_notes_row { +tr.line_notes_row { border-bottom:1px solid #DDD; border-left: 7px solid #2A79A3; - &.reply { + &.reply { background:#eee; border-left: 7px solid #2A79A3; border-top:1px solid #ddd; - td { + td { padding:7px 10px; } - a.line_note_reply_link { + a.line_note_reply_link { @include round-borders-all(4px); padding: 3px 10px; margin-left:5px; @@ -96,9 +100,9 @@ tr.line_notes_row { border-color: #2A79A3; } } - ul { + ul { margin:0; - li { + li { padding:0; border:none; } @@ -107,26 +111,26 @@ tr.line_notes_row { .line_notes_row, .per_line_form { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } -.per_line_form { +.per_line_form { background:#f5f5f5; border-top:1px solid #eee; form { margin: 0; } - td { + td { border-bottom:1px solid #ddd; } - .note_actions { + .note_actions { margin:0; padding-top: 10px; - .buttons { + .buttons { float:left; width:300px; } - .options { - .labels { + .options { + .labels { float:left; padding-left:10px; - label { + label { padding: 6px 0; margin: 0; width:120px; @@ -136,7 +140,7 @@ tr.line_notes_row { } } -td .line_note_link { +td .line_note_link { position:absolute; margin-left:-70px; margin-top:-10px; @@ -148,14 +152,14 @@ td .line_note_link { opacity: 0.0; filter: alpha(opacity=0); - &:hover { + &:hover { opacity: 1.0; filter: alpha(opacity=100); } } .diff_file_content tr.line_holder:hover > td { background: $hover !important; } -.diff_file_content tr.line_holder:hover > td .line_note_link { +.diff_file_content tr.line_holder:hover > td .line_note_link { opacity: 1.0; filter: alpha(opacity=100); } @@ -173,8 +177,8 @@ td .line_note_link { margin: 0; } - .note_advanced_opts { - h6 { + .note_advanced_opts { + h6 { line-height: 32px; padding-right: 15px; } @@ -187,7 +191,7 @@ td .line_note_link { overflow:hidden; margin:0 0 5px !important; - .input_file { + .input_file { .file_upload { position: absolute; right:14px; @@ -200,7 +204,7 @@ td .line_note_link { height:28px; overflow:hidden; } - .input-file { + .input-file { width: 260px; height: 41px; float: right; diff --git a/app/views/commits/compare.html.haml b/app/views/commits/compare.html.haml index be915cd1..7dab1f5c 100644 --- a/app/views/commits/compare.html.haml +++ b/app/views/commits/compare.html.haml @@ -20,7 +20,7 @@ = "..." = text_field_tag :to, params[:to], placeholder: "aa8b4ef", class: "xlarge" .actions - = submit_tag "Compare", class: "btn btn-primary" + = submit_tag "Compare", class: "btn primary" - unless @commits.empty? diff --git a/app/views/notes/_form.html.haml b/app/views/notes/_form.html.haml index adb6e2b4..50829a97 100644 --- a/app/views/notes/_form.html.haml +++ b/app/views/notes/_form.html.haml @@ -8,14 +8,14 @@ = f.hidden_field :noteable_id = f.hidden_field :noteable_type = f.text_area :note, size: 255 - #preview-note.well.hide + #preview-note.preview_note.hide .hint .right Comments are parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}. .clearfix .row.note_advanced_opts.hide .span3 - = f.submit 'Add Comment', class: "btn primary submit_note grouped", id: "submit_note" + = f.submit 'Add Comment', class: "btn success submit_note grouped", id: "submit_note" = link_to 'Preview', preview_project_notes_path(@project), class: 'btn grouped', id: 'preview-link' .span4.notify_opts %h6.left Notify via email: @@ -30,7 +30,7 @@ .span5.attachments %h6.left Attachment: %span.file_name File name... - + .input.input_file %a.file_upload.btn.small Upload File = f.file_field :attachment, class: "input-file" diff --git a/app/views/projects/_clone_panel.html.haml b/app/views/projects/_clone_panel.html.haml new file mode 100644 index 00000000..839a98a0 --- /dev/null +++ b/app/views/projects/_clone_panel.html.haml @@ -0,0 +1,21 @@ +.project_clone_panel + .row + .span7 + .form-horizontal + .input-prepend.project_clone_holder + = link_to "SSH", "#", class: "btn small active", :"data-clone" => @project.ssh_url_to_repo + = link_to "HTTP", "#", class: "btn small", :"data-clone" => @project.http_url_to_repo + = text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select span5" + .span4.right + .right + - if can? current_user, :download_code, @project + = link_to archive_project_repository_path(@project), class: "btn small grouped" do + %i.icon-download-alt + Download + - if @project.merge_requests_enabled && can?(current_user, :write_merge_request, @project) + = link_to new_project_merge_request_path(@project), title: "New Merge Request", class: "btn small grouped" do + Merge Request + - if @project.issues_enabled && can?(current_user, :write_issue, @project) + = link_to new_project_issue_path(@project), title: "New Issue", class: "btn small grouped" do + Issue + diff --git a/app/views/projects/empty.html.haml b/app/views/projects/empty.html.haml index 907d5ef4..d408c0a6 100644 --- a/app/views/projects/empty.html.haml +++ b/app/views/projects/empty.html.haml @@ -1,4 +1,12 @@ = render 'shared/no_ssh' +.project_clone_panel + .row + .span7 + .form-horizontal + .input-prepend.project_clone_holder + = link_to "SSH", "#", class: "btn small active", :"data-clone" => @project.ssh_url_to_repo + = link_to "HTTP", "#", class: "btn small", :"data-clone" => @project.http_url_to_repo + = text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select span5" %div.git-empty %h4 Git global setup: %pre.dark @@ -28,3 +36,16 @@ - if can? current_user, :admin_project, @project .prepend-top-20 = link_to 'Remove project', @project, confirm: 'Are you sure?', method: :delete, class: "btn danger right" + + + +:javascript + $(function(){ + var link_sel = ".project_clone_holder a"; + $(link_sel).bind("click", function() { + $(link_sel).removeClass("active"); + $(this).addClass("active"); + $("#project_clone").val($(this).attr("data-clone")); + }) + }) + diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index 628dc53d..77a0ef1a 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -1,33 +1,12 @@ = render "project_head" - -.project_clone_panel - .row - .span7 - .form-horizontal - .input-prepend.project_clone_holder - = link_to "SSH", "#", class: "btn small active", :"data-clone" => @project.ssh_url_to_repo - = link_to "HTTP", "#", class: "btn small", :"data-clone" => @project.http_url_to_repo - = text_field_tag :project_clone, @project.url_to_repo, class: "one_click_select span5" - .span4.right - .right - - if can? current_user, :download_code, @project - = link_to archive_project_repository_path(@project), class: "btn small grouped" do - %i.icon-download-alt - Download - - if @project.merge_requests_enabled && can?(current_user, :write_merge_request, @project) - = link_to new_project_merge_request_path(@project), title: "New Merge Request", class: "btn small grouped" do - Merge Request - - if @project.issues_enabled && can?(current_user, :write_issue, @project) - = link_to new_project_issue_path(@project), title: "New Issue", class: "btn small grouped" do - Issue - += render 'clone_panel' = render "events/event_last_push", event: @last_push .content_list= render @events -:javascript +:javascript $(function(){ var link_sel = ".project_clone_holder a"; - $(link_sel).bind("click", function() { + $(link_sel).bind("click", function() { $(link_sel).removeClass("active"); $(this).addClass("active"); $("#project_clone").val($(this).attr("data-clone")); diff --git a/app/views/search/show.html.haml b/app/views/search/show.html.haml index 9a0b4789..d37ef670 100644 --- a/app/views/search/show.html.haml +++ b/app/views/search/show.html.haml @@ -4,7 +4,7 @@ %strong Looking for .input = text_field_tag :search, params[:search], placeholder: "issue 143", class: "input-xxlarge", id: "dashboard_search" - = submit_tag 'Search', class: "btn btn-primary" + = submit_tag 'Search', class: "btn primary" - if params[:search].present? %br %h3