Commit 809413d9e758547241530001efa35dececfcf787
1 parent
ffc6ab41
Exists in
master
and in
4 other branches
minimalistic UI: issues index, css refactoring
Showing
17 changed files
with
279 additions
and
268 deletions
Show diff stats
app/assets/stylesheets/common.scss
| 1 | 1 | $text_color:#222; |
| 2 | 2 | $lite_text_color: #666; |
| 3 | -$link_color:#FFF; | |
| 3 | +$link_color:#111; | |
| 4 | 4 | $active_link_color:#2FA0BB; |
| 5 | 5 | $active_bg_color:#79C3E0; |
| 6 | 6 | $active_bd_color: #2FA0BB; |
| 7 | -$border_color:#FFF; | |
| 7 | +$border_color:#CCC; | |
| 8 | +$lite_border_color:#EEE; | |
| 8 | 9 | $app_width:980px; |
| 9 | 10 | $app_padding:20px; |
| 10 | 11 | $bg_color: #FFF; |
| ... | ... | @@ -95,6 +96,9 @@ body.collapsed { |
| 95 | 96 | } |
| 96 | 97 | } |
| 97 | 98 | |
| 99 | +a { | |
| 100 | + color: $link_color; | |
| 101 | +} | |
| 98 | 102 | |
| 99 | 103 | @import "style.scss"; |
| 100 | 104 | @import "projects.css.scss"; |
| ... | ... | @@ -108,3 +112,4 @@ body.collapsed { |
| 108 | 112 | |
| 109 | 113 | @import "top_panel.scss"; |
| 110 | 114 | @import "dashboard.scss"; |
| 115 | +@import "tree.scss"; | ... | ... |
app/assets/stylesheets/dashboard.scss
| ... | ... | @@ -3,24 +3,28 @@ body.dashboard-page header{margin-bottom: 0} |
| 3 | 3 | body.dashboard-page .news-feed{margin-left: 285px; min-height: 600px; margin-top: 20px; margin-right:2px; padding:20px;} |
| 4 | 4 | body.dashboard-page .dashboard-content{ position: relative; float: left; width: 100%; height: 100%; } |
| 5 | 5 | body.dashboard-page .news-feed h2{float: left;} |
| 6 | -body.dashboard-page aside{ min-height: 820px; position: relative; top: 0; bottom: 0; right: 0; width: 260px; float: left; border-right: 1px solid #ccc; padding:20px; padding-right:0; } | |
| 7 | -body.dashboard-page aside h4{margin: 0; border-bottom: 1px solid #ccc; padding: 20px 20px 20px 0px; font-size: 11px; font-weight: bold; text-transform: uppercase;} | |
| 8 | -body.dashboard-page aside h4 a.button-small{float: right; text-transform: none; border-radius: 4px; margin-right: 2%; margin-top: -4px; display: block;} | |
| 9 | -body.dashboard-page aside .project-list {list-style: none; margin: 0; padding: 0;} | |
| 10 | -body.dashboard-page aside .project-list li a {background: white; color: #{$blue_link}; display: block; border-bottom: 1px solid #eee; padding: 14px 6% 14px 0px;} | |
| 11 | -//body.dashboard-page aside .project-list li a:hover {background: #f1f1f1} | |
| 12 | -//body.dashboard-page aside .project-list li a:hover span.arrow{background-color: #E3E5EA;} | |
| 13 | -body.dashboard-page aside .project-list li a span.project-name{font-size: 14px; display: block; margin-bottom: 8px} | |
| 14 | -body.dashboard-page aside .project-list li a span.time{color: #666; font-weight: normal; font-size: 11px} | |
| 15 | -body.dashboard-page aside .project-list li a span.arrow{float: right; background: #E3E5EA; padding: 10px; border-radius: 5px; margin-top: 2px; text-shadow: none; color: #999} | |
| 16 | -body.dashboard-page .news-feed .project-updates {margin-bottom: 20px; display: block; width: 100%;} | |
| 17 | -body.dashboard-page .news-feed .project-updates .data{ padding: 0} | |
| 18 | -body.dashboard-page .news-feed .project-updates a.project-update {padding: 10px; overflow: hidden; display: block;} | |
| 19 | -body.dashboard-page .news-feed .project-updates a.project-update:last-child{border-bottom: 0} | |
| 20 | -body.dashboard-page .news-feed .project-updates a.project-update img{float: left; margin-right: 10px;} | |
| 21 | -body.dashboard-page .news-feed .project-updates a.project-update span.update-title, .dashboard-page .news-feed .project-updates li a span.update-author{display: block;} | |
| 22 | -body.dashboard-page .news-feed .project-updates a.project-update span.update-title{margin-bottom: 10px} | |
| 23 | -body.dashboard-page .news-feed .project-updates a.project-update span.update-author{color: #999; font-weight: normal; font-style: italic;} | |
| 24 | -body.dashboard-page .news-feed .project-updates a.project-update span.update-author strong{font-weight: bold; font-style: normal;} | |
| 6 | + | |
| 7 | +body.dashboard-page aside{ | |
| 8 | + min-height: 820px; position: relative; top: 0; bottom: 0; right: 0; width: 260px; float: left; border-right: 1px solid $border_color; padding:20px; padding-right:0; | |
| 9 | + h4{margin: 0; border-bottom: 1px solid #ccc; padding: 20px 20px 20px 0px; font-size: 11px; font-weight: bold; text-transform: uppercase;} | |
| 10 | + h4 a.button-small{float: right; text-transform: none; border-radius: 4px; margin-right: 2%; margin-top: -4px; display: block;} | |
| 11 | + .project-list {list-style: none; margin: 0; padding: 0;} | |
| 12 | + .project-list li a {background: white; color: #{$blue_link}; display: block; border-bottom: 1px solid $lite_border_color; padding: 14px 6% 14px 0px;} | |
| 13 | + .project-list li a span.project-name{font-size: 14px; display: block; margin-bottom: 8px} | |
| 14 | + .project-list li a span.time{color: #666; font-weight: normal; font-size: 11px} | |
| 15 | + .project-list li a span.arrow{float: right; background: #E3E5EA; padding: 10px; border-radius: 5px; margin-top: 2px; text-shadow: none; color: #999} | |
| 16 | +} | |
| 17 | + | |
| 18 | +body.dashboard-page .news-feed .project-updates { | |
| 19 | + margin-bottom: 20px; display: block; width: 100%; | |
| 20 | + .data{ padding: 0} | |
| 21 | + a.project-update {padding: 10px; overflow: hidden; display: block;} | |
| 22 | + a.project-update:last-child{border-bottom: 0} | |
| 23 | + a.project-update img{float: left; margin-right: 10px;} | |
| 24 | + a.project-update span.update-title, .dashboard-page .news-feed .project-updates li a span.update-author{display: block;} | |
| 25 | + a.project-update span.update-title{margin-bottom: 10px} | |
| 26 | + a.project-update span.update-author{color: #999; font-weight: normal; font-style: italic;} | |
| 27 | + a.project-update span.update-author strong{font-weight: bold; font-style: normal;} | |
| 28 | +} | |
| 25 | 29 | /* eo Dashboard Page */ |
| 26 | 30 | ... | ... |
app/assets/stylesheets/issues.css.scss
app/assets/stylesheets/projects.css.scss
| ... | ... | @@ -26,7 +26,7 @@ body.project-page .project-sidebar { |
| 26 | 26 | padding: $app_padding; |
| 27 | 27 | padding-right:0px; |
| 28 | 28 | margin: 0; |
| 29 | - border-right: 1px solid #ddd; | |
| 29 | + border-right: 1px solid $border_color; | |
| 30 | 30 | } |
| 31 | 31 | |
| 32 | 32 | body.projects-page input.text.git-url { font-size: 12px; border-radius: 5px; color: #666; box-shadow: 0 1px 2px rgba(0,0,0,.2) inset; padding: 8px 0 8px 30px; margin-bottom: 20px; background: white url('images.png') no-repeat 8px -40px; width: 136px} |
| ... | ... | @@ -95,90 +95,7 @@ table.round-borders { |
| 95 | 95 | text-align: left; |
| 96 | 96 | } |
| 97 | 97 | |
| 98 | -a { | |
| 99 | - color: #111; | |
| 100 | -} | |
| 101 | 98 | |
| 102 | -/** FILE CONTENT VIEW **/ | |
| 103 | -.view_file_content{ | |
| 104 | - .old_line, .new_line { | |
| 105 | - background:#ECECEC; | |
| 106 | - color:#777; | |
| 107 | - width:15px; | |
| 108 | - float:left; | |
| 109 | - padding: 0px 10px; | |
| 110 | - border-right: 1px solid #ccc; | |
| 111 | - } | |
| 112 | - .old_line{ | |
| 113 | - display:none; | |
| 114 | - } | |
| 115 | -} | |
| 116 | - | |
| 117 | -.view_file .view_file_header, | |
| 118 | -.diff_file .diff_file_header { | |
| 119 | - background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #fefefe), to(#F6F7F8)); | |
| 120 | - background-image: -webkit-linear-gradient(#fefefe 7.6%, #F6F7F8); | |
| 121 | - background-image: -moz-linear-gradient(#fefefe 7.6%, #F6F7F8); | |
| 122 | - background-image: -o-linear-gradient(#fefefe 7.6%, #F6F7F8); | |
| 123 | - margin: 0; | |
| 124 | - font-weight: normal; | |
| 125 | - font-weight: bold; | |
| 126 | - text-align: left; | |
| 127 | - color: #666; | |
| 128 | - border-bottom: 1px solid #DEE2E3; | |
| 129 | - padding: 7px 10px; | |
| 130 | -} | |
| 131 | - | |
| 132 | -.view_file { | |
| 133 | - border:1px solid #CCC; | |
| 134 | - margin-bottom:1em; | |
| 135 | - | |
| 136 | - .view_file_content { | |
| 137 | - background:#fff; | |
| 138 | - color:#514721; | |
| 139 | - font-size: 11px; | |
| 140 | - } | |
| 141 | - .view_file_content_image { | |
| 142 | - background:#eee; | |
| 143 | - text-align:center; | |
| 144 | - img { | |
| 145 | - padding:100px; | |
| 146 | - max-width:300px; | |
| 147 | - } | |
| 148 | - } | |
| 149 | -} | |
| 150 | - | |
| 151 | -td.code { | |
| 152 | - width: 100%; | |
| 153 | - .highlight { | |
| 154 | - margin-left: 55px; | |
| 155 | - overflow:auto; | |
| 156 | - overflow-y:hidden; | |
| 157 | - border-left: 1px solid #DEE2E3; | |
| 158 | - background: white; | |
| 159 | - } | |
| 160 | -} | |
| 161 | -.highlight pre { | |
| 162 | - white-space: pre; | |
| 163 | - word-wrap:normal; | |
| 164 | -} | |
| 165 | - | |
| 166 | -table.highlighttable { | |
| 167 | - border: none; | |
| 168 | - background: #F7F7F7; | |
| 169 | -} | |
| 170 | -body.project-page table.highlighttable td { border: none } | |
| 171 | -table.highlighttable tr:hover { background:none;} | |
| 172 | - | |
| 173 | -table.highlighttable pre{ | |
| 174 | - line-height:16px !important; | |
| 175 | - font-size:12px !important; | |
| 176 | -} | |
| 177 | - | |
| 178 | -table.highlighttable .linenodiv pre { | |
| 179 | - text-align: right; | |
| 180 | - padding-right: 4px; | |
| 181 | -} | |
| 182 | 99 | |
| 183 | 100 | /** PROJECTS **/ |
| 184 | 101 | input.ssh_project_url { |
| ... | ... | @@ -204,68 +121,6 @@ input.ssh_project_url { |
| 204 | 121 | clear: both; |
| 205 | 122 | } |
| 206 | 123 | |
| 207 | -/** FORM INPUTS **/ | |
| 208 | -.new_merge_request, | |
| 209 | -.edit_merge_request, | |
| 210 | -.user_new, | |
| 211 | -.new_key, | |
| 212 | -.new_issue, | |
| 213 | -.new_note, | |
| 214 | -.edit_user, | |
| 215 | -.edit_issue, | |
| 216 | -.new_project, | |
| 217 | -.new_snippet, | |
| 218 | -.edit_snippet, | |
| 219 | -.edit_project { | |
| 220 | - input[type='text'], | |
| 221 | - input[type='email'], | |
| 222 | - input[type='password'], | |
| 223 | - textarea { | |
| 224 | - width:400px; | |
| 225 | - padding:8px; | |
| 226 | - font-size:14px; | |
| 227 | - @include round-borders-all(4px); | |
| 228 | - } | |
| 229 | -} | |
| 230 | - | |
| 231 | -.text_field { | |
| 232 | - width:400px; | |
| 233 | - padding:8px; | |
| 234 | - font-size:14px; | |
| 235 | - @include round-borders-all(4px); | |
| 236 | -} | |
| 237 | - | |
| 238 | -.input_button { | |
| 239 | - padding:8px; | |
| 240 | - font-size:14px; | |
| 241 | - cursor:pointer; | |
| 242 | - background-color: #F5F5F5; | |
| 243 | - border-color: #EEEEEE #DEDEDE #DEDEDE #EEEEEE; | |
| 244 | - border-right: 1px solid #DEDEDE; | |
| 245 | - border-style: solid; | |
| 246 | - border-width: 1px; | |
| 247 | -} | |
| 248 | - | |
| 249 | -/** FLASH **/ | |
| 250 | -#flash_container { | |
| 251 | - height:45px; | |
| 252 | - position:fixed; | |
| 253 | - z-index:10001; | |
| 254 | - top:0px; | |
| 255 | - width:100%; | |
| 256 | - margin-bottom:15px; | |
| 257 | - overflow:hidden; | |
| 258 | - background:white; | |
| 259 | - cursor:pointer; | |
| 260 | - border-bottom:1px solid #777; | |
| 261 | - | |
| 262 | - h4 { | |
| 263 | - color:#444; | |
| 264 | - font-size:22px; | |
| 265 | - padding-top:5px; | |
| 266 | - margin:2px; | |
| 267 | - } | |
| 268 | -} | |
| 269 | 124 | |
| 270 | 125 | /** Buttons **/ |
| 271 | 126 | .lbutton, |
| ... | ... | @@ -434,7 +289,8 @@ body.project-page table .commit { |
| 434 | 289 | } |
| 435 | 290 | |
| 436 | 291 | #holder { |
| 437 | - border: solid 1px #999; | |
| 292 | + background:#FAFAFA; | |
| 293 | + border: 1px solid #EEE; | |
| 438 | 294 | cursor: move; |
| 439 | 295 | height: 70%; |
| 440 | 296 | overflow: hidden; |
| ... | ... | @@ -673,20 +529,6 @@ h4.dash-tabs { |
| 673 | 529 | color: white; |
| 674 | 530 | } |
| 675 | 531 | |
| 676 | -.rss-icon { | |
| 677 | - margin:0 15px; | |
| 678 | - padding:5px; | |
| 679 | - border:1px solid #ccc; | |
| 680 | - border-radius:3px; | |
| 681 | - float:left; | |
| 682 | -} | |
| 683 | - | |
| 684 | -body.project-page h2.icon.loading { | |
| 685 | - span { | |
| 686 | - background-position: 0px 0px; | |
| 687 | - background: url("ajax-loader-tree.gif") no-repeat; | |
| 688 | - } | |
| 689 | -} | |
| 690 | 532 | |
| 691 | 533 | .dark_scheme_box { |
| 692 | 534 | padding:20px 0; |
| ... | ... | @@ -718,24 +560,6 @@ a.project-update.titled { |
| 718 | 560 | padding: 6px 12px; |
| 719 | 561 | } |
| 720 | 562 | |
| 721 | -.tree_progress { | |
| 722 | - float:left; | |
| 723 | - width:16px; | |
| 724 | - height:16px; | |
| 725 | - margin:6px; | |
| 726 | - &.loading { | |
| 727 | - background-position: 0px 0px; | |
| 728 | - background: url("ajax-loader-facebook.gif") no-repeat; | |
| 729 | - } | |
| 730 | -} | |
| 731 | - | |
| 732 | -#tree-breadcrumbs { | |
| 733 | - h2 { | |
| 734 | - margin:0; | |
| 735 | - margin-bottom:20px; | |
| 736 | - float:left; | |
| 737 | - } | |
| 738 | -} | |
| 739 | 563 | |
| 740 | 564 | tr.line_notes_row { |
| 741 | 565 | &:hover { |
| ... | ... | @@ -764,9 +588,3 @@ tr.line_notes_row { |
| 764 | 588 | } |
| 765 | 589 | } |
| 766 | 590 | } |
| 767 | - | |
| 768 | - | |
| 769 | - | |
| 770 | - | |
| 771 | - | |
| 772 | - | ... | ... |
app/assets/stylesheets/style.scss
| ... | ... | @@ -646,12 +646,70 @@ body.projects-page .browse-code{margin-right: 10px} |
| 646 | 646 | h2, h3 { page-break-after: avoid; } |
| 647 | 647 | } |
| 648 | 648 | |
| 649 | -/** | |
| 650 | - * author:DZ | |
| 651 | - * date: Nov 09 | |
| 652 | - * fix different fonts for firefox & webkit | |
| 653 | - */ | |
| 654 | 649 | body, button, input, select, textarea { |
| 655 | 650 | font-family: "Helvetica", sans-serif; |
| 656 | 651 | } |
| 657 | 652 | |
| 653 | +/** FORM INPUTS **/ | |
| 654 | +.new_merge_request, | |
| 655 | +.edit_merge_request, | |
| 656 | +.user_new, | |
| 657 | +.new_key, | |
| 658 | +.new_issue, | |
| 659 | +.new_note, | |
| 660 | +.edit_user, | |
| 661 | +.edit_issue, | |
| 662 | +.new_project, | |
| 663 | +.new_snippet, | |
| 664 | +.edit_snippet, | |
| 665 | +.edit_project { | |
| 666 | + input[type='text'], | |
| 667 | + input[type='email'], | |
| 668 | + input[type='password'], | |
| 669 | + textarea { | |
| 670 | + width:400px; | |
| 671 | + padding:8px; | |
| 672 | + font-size:14px; | |
| 673 | + @include round-borders-all(4px); | |
| 674 | + } | |
| 675 | +} | |
| 676 | + | |
| 677 | +.text_field { | |
| 678 | + width:400px; | |
| 679 | + padding:8px; | |
| 680 | + font-size:14px; | |
| 681 | + @include round-borders-all(4px); | |
| 682 | +} | |
| 683 | + | |
| 684 | +.input_button { | |
| 685 | + padding:8px; | |
| 686 | + font-size:14px; | |
| 687 | + cursor:pointer; | |
| 688 | + background-color: #F5F5F5; | |
| 689 | + border-color: #EEEEEE #DEDEDE #DEDEDE #EEEEEE; | |
| 690 | + border-right: 1px solid #DEDEDE; | |
| 691 | + border-style: solid; | |
| 692 | + border-width: 1px; | |
| 693 | +} | |
| 694 | + | |
| 695 | +/** FLASH **/ | |
| 696 | +#flash_container { | |
| 697 | + height:45px; | |
| 698 | + position:fixed; | |
| 699 | + z-index:10001; | |
| 700 | + top:0px; | |
| 701 | + width:100%; | |
| 702 | + margin-bottom:15px; | |
| 703 | + overflow:hidden; | |
| 704 | + background:white; | |
| 705 | + cursor:pointer; | |
| 706 | + border-bottom:1px solid #777; | |
| 707 | + | |
| 708 | + h4 { | |
| 709 | + color:#444; | |
| 710 | + font-size:22px; | |
| 711 | + padding-top:5px; | |
| 712 | + margin:2px; | |
| 713 | + } | |
| 714 | +} | |
| 715 | + | ... | ... |
app/assets/stylesheets/top_panel.scss
| ... | ... | @@ -0,0 +1,115 @@ |
| 1 | +#tree-breadcrumbs { | |
| 2 | + div { | |
| 3 | + margin:0; | |
| 4 | + margin-bottom:20px; | |
| 5 | + float:left; | |
| 6 | + font-size:14px; | |
| 7 | + } | |
| 8 | +} | |
| 9 | + | |
| 10 | +.tree_progress { | |
| 11 | + float:left; | |
| 12 | + width:16px; | |
| 13 | + height:16px; | |
| 14 | + margin:2px 6px; | |
| 15 | + &.loading { | |
| 16 | + background-position: 0px 0px; | |
| 17 | + background: url("ajax-loader-facebook.gif") no-repeat; | |
| 18 | + } | |
| 19 | +} | |
| 20 | + | |
| 21 | + | |
| 22 | +/** FILE CONTENT VIEW **/ | |
| 23 | +.view_file_content{ | |
| 24 | + .old_line, .new_line { | |
| 25 | + background:#ECECEC; | |
| 26 | + color:#777; | |
| 27 | + width:15px; | |
| 28 | + float:left; | |
| 29 | + padding: 0px 10px; | |
| 30 | + border-right: 1px solid #ccc; | |
| 31 | + } | |
| 32 | + .old_line{ | |
| 33 | + display:none; | |
| 34 | + } | |
| 35 | +} | |
| 36 | + | |
| 37 | +.view_file .view_file_header, | |
| 38 | +.diff_file .diff_file_header { | |
| 39 | + background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #fefefe), to(#F6F7F8)); | |
| 40 | + background-image: -webkit-linear-gradient(#fefefe 7.6%, #F6F7F8); | |
| 41 | + background-image: -moz-linear-gradient(#fefefe 7.6%, #F6F7F8); | |
| 42 | + background-image: -o-linear-gradient(#fefefe 7.6%, #F6F7F8); | |
| 43 | + margin: 0; | |
| 44 | + font-weight: normal; | |
| 45 | + font-weight: bold; | |
| 46 | + text-align: left; | |
| 47 | + color: #666; | |
| 48 | + border-bottom: 1px solid #DEE2E3; | |
| 49 | + padding: 7px 10px; | |
| 50 | + | |
| 51 | + .mode_text, | |
| 52 | + .file_icon { | |
| 53 | + margin-right:15px; | |
| 54 | + padding-right:15px; | |
| 55 | + border-right:1px solid $lite_border_color; | |
| 56 | + float:left; | |
| 57 | + color:#aaa; | |
| 58 | + } | |
| 59 | + | |
| 60 | + .file_icon { | |
| 61 | + padding-left:15px; | |
| 62 | + } | |
| 63 | +} | |
| 64 | + | |
| 65 | +.view_file { | |
| 66 | + border:1px solid #CCC; | |
| 67 | + margin-bottom:1em; | |
| 68 | + | |
| 69 | + .view_file_content { | |
| 70 | + background:#fff; | |
| 71 | + color:#514721; | |
| 72 | + font-size: 11px; | |
| 73 | + } | |
| 74 | + .view_file_content_image { | |
| 75 | + background:#eee; | |
| 76 | + text-align:center; | |
| 77 | + img { | |
| 78 | + padding:100px; | |
| 79 | + max-width:300px; | |
| 80 | + } | |
| 81 | + } | |
| 82 | +} | |
| 83 | + | |
| 84 | +td.code { | |
| 85 | + width: 100%; | |
| 86 | + .highlight { | |
| 87 | + margin-left: 55px; | |
| 88 | + overflow:auto; | |
| 89 | + overflow-y:hidden; | |
| 90 | + border-left: 1px solid #DEE2E3; | |
| 91 | + background: white; | |
| 92 | + } | |
| 93 | +} | |
| 94 | +.highlight pre { | |
| 95 | + white-space: pre; | |
| 96 | + word-wrap:normal; | |
| 97 | +} | |
| 98 | + | |
| 99 | +table.highlighttable { | |
| 100 | + border: none; | |
| 101 | + background: #F7F7F7; | |
| 102 | +} | |
| 103 | +body.project-page table.highlighttable td { border: none } | |
| 104 | +table.highlighttable tr:hover { background:none;} | |
| 105 | + | |
| 106 | +table.highlighttable pre{ | |
| 107 | + line-height:16px !important; | |
| 108 | + font-size:12px !important; | |
| 109 | +} | |
| 110 | + | |
| 111 | +table.highlighttable .linenodiv pre { | |
| 112 | + text-align: right; | |
| 113 | + padding-right: 4px; | |
| 114 | + color:#888; | |
| 115 | +} | ... | ... |
app/decorators/tree_decorator.rb
app/views/issues/index.html.haml
| 1 | +.top-tabs | |
| 2 | + = link_to project_issues_path(@project), :class => "tab #{'active' if current_page?(project_issues_path(@project)) }" do | |
| 3 | + %span | |
| 4 | + Issues | |
| 5 | + | |
| 6 | + -#= link_to project_issues_path(@project), :class => "tab" do | |
| 7 | + %span | |
| 8 | + Milestones | |
| 9 | + | |
| 10 | + - if current_page?(project_issues_path(@project)) | |
| 11 | + - if can? current_user, :write_issue, @project | |
| 12 | + = link_to new_project_issue_path(@project), :class => "add_new", :title => "New Issue", :remote => true do | |
| 13 | + = image_tag "add_new.png", :width => 14 | |
| 14 | + | |
| 15 | + | |
| 1 | 16 | - if current_user.private_token |
| 2 | 17 | = content_for :rss_icon do |
| 3 | 18 | .rss-icon |
| ... | ... | @@ -5,32 +20,29 @@ |
| 5 | 20 | = image_tag "rss_icon_gray.png", :width => 16, :title => "feed" |
| 6 | 21 | |
| 7 | 22 | %div#issues-table-holder |
| 8 | - %table.round-borders#issues-table | |
| 9 | - %thead | |
| 10 | - %th | |
| 11 | - .top_panel_issues | |
| 12 | - - if can? current_user, :write_issue, @project | |
| 13 | - %div{:class => "left", :style => "margin-right: 10px;" } | |
| 14 | - = link_to 'New Issue', new_project_issue_path(@project), :remote => true, :class => "grey-button", :style => "margin-top:5px;" | |
| 15 | - = form_tag search_project_issues_path(@project), :method => :get, :remote => true, :class => :left, :id => "issue_search_form" do | |
| 16 | - = hidden_field_tag :project_id, @project.id, { :id => 'project_id' } | |
| 17 | - = search_field_tag :issue_search, nil, { :placeholder => 'Search', :class => 'issue_search' } | |
| 23 | + .top_panel_issues | |
| 24 | + = form_tag search_project_issues_path(@project), :method => :get, :remote => true, :class => :left, :id => "issue_search_form" do | |
| 25 | + = hidden_field_tag :project_id, @project.id, { :id => 'project_id' } | |
| 26 | + = search_field_tag :issue_search, nil, { :placeholder => 'Search', :class => 'issue_search' } | |
| 18 | 27 | |
| 19 | - .right.issues_filter | |
| 20 | - = form_tag project_issues_path(@project), :method => :get do | |
| 21 | - .left | |
| 22 | - = radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "setIssueFilter(this.form, 0)", :id => "open_issues", :class => "status" | |
| 23 | - = label_tag "open_issues","Open" | |
| 24 | - .left | |
| 25 | - = radio_button_tag :f, 2, params[:f] == "2", :onclick => "setIssueFilter(this.form, 2)", :id => "closed_issues", :class => "status" | |
| 26 | - = label_tag "closed_issues","Closed" | |
| 27 | - .left | |
| 28 | - = radio_button_tag :f, 3, params[:f] == "3", :onclick => "setIssueFilter(this.form, 3)", :id => "my_issues", :class => "status" | |
| 29 | - = label_tag "my_issues","To Me" | |
| 30 | - .left | |
| 31 | - = radio_button_tag :f, 1, params[:f] == "1", :onclick => "setIssueFilter(this.form, 1)", :id => "all_issues", :class => "status" | |
| 32 | - = label_tag "all_issues","All" | |
| 28 | + .right.issues_filter | |
| 29 | + = form_tag project_issues_path(@project), :method => :get do | |
| 30 | + .left | |
| 31 | + = radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "setIssueFilter(this.form, 0)", :id => "open_issues", :class => "status" | |
| 32 | + = label_tag "open_issues","Open" | |
| 33 | + .left | |
| 34 | + = radio_button_tag :f, 2, params[:f] == "2", :onclick => "setIssueFilter(this.form, 2)", :id => "closed_issues", :class => "status" | |
| 35 | + = label_tag "closed_issues","Closed" | |
| 36 | + .left | |
| 37 | + = radio_button_tag :f, 3, params[:f] == "3", :onclick => "setIssueFilter(this.form, 3)", :id => "my_issues", :class => "status" | |
| 38 | + = label_tag "my_issues","To Me" | |
| 39 | + .left | |
| 40 | + = radio_button_tag :f, 1, params[:f] == "1", :onclick => "setIssueFilter(this.form, 1)", :id => "all_issues", :class => "status" | |
| 41 | + = label_tag "all_issues","All" | |
| 33 | 42 | |
| 43 | + .clear | |
| 44 | + %hr | |
| 45 | + %table.no-borders#issues-table | |
| 34 | 46 | = render "issues" |
| 35 | 47 | %br |
| 36 | 48 | :javascript | ... | ... |
app/views/layouts/_head_panel.html.haml
| ... | ... | @@ -9,8 +9,6 @@ |
| 9 | 9 | = link_to admin_root_path, :class => "admin", :title => "Admin" do |
| 10 | 10 | = image_tag "Gear-UI.PNG", :width => 20 |
| 11 | 11 | |
| 12 | - | |
| 13 | - | |
| 14 | 12 | - if project_layout |
| 15 | 13 | .project_name |
| 16 | 14 | = truncate @project.name, :length => 28 |
| ... | ... | @@ -24,7 +22,7 @@ |
| 24 | 22 | - elsif profile_layout |
| 25 | 23 | .dashboard_links |
| 26 | 24 | = link_to "Activities", dashboard_path, :class => "#{"active" if current_page?(dashboard_path) || current_page?(root_path) }" |
| 27 | - = link_to "Projects", projects_path, :class => "#{"active" if current_page?(projects_path)}" | |
| 25 | + -#= link_to "Projects", projects_path, :class => "#{"active" if current_page?(projects_path)}" | |
| 28 | 26 | = link_to "Issues", dashboard_issues_path, :class => "#{"active" if current_page?(dashboard_issues_path)}", :id => "issues_slide" |
| 29 | 27 | = link_to "Merge Requests", dashboard_merge_requests_path, :class => "#{"active" if current_page?(dashboard_merge_requests_path)}", :id => "merge_requests_slide" |
| 30 | 28 | .search | ... | ... |
app/views/layouts/project.html.haml
| ... | ... | @@ -32,16 +32,12 @@ |
| 32 | 32 | = link_to "Network", graph_project_path(@project), :class => current_page?(:controller => "projects", :action => "graph", :id => @project) ? "current" : nil |
| 33 | 33 | = link_to project_issues_filter_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do |
| 34 | 34 | Issues |
| 35 | - -#- if @project.issues.open_for(current_user).count > 0 | |
| 36 | - %span{ :class => "number" }= @project.issues.open_for(current_user).count | |
| 37 | 35 | = link_to wall_project_path(@project), :class => current_page?(:controller => "projects", :action => "wall", :id => @project) ? "current" : nil do |
| 38 | 36 | Wall |
| 39 | 37 | - if @project.common_notes.today.count > 0 |
| 40 | 38 | %span{ :class => "number" }= @project.common_notes.today.count |
| 41 | 39 | = link_to project_merge_requests_path(@project), :class => (controller.controller_name == "merge_requests") ? "current" : nil do |
| 42 | 40 | Requests |
| 43 | - -#- if @project.merge_requests.opened.count > 0 | |
| 44 | - %span{ :class => "number" }= @project.merge_requests.opened.count | |
| 45 | 41 | |
| 46 | 42 | |
| 47 | 43 | ... | ... |
app/views/projects/_side_panel.html.haml
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | -%h3.notice{:style => "width:235px;"} | |
| 2 | - = @project.name | |
| 3 | -%p | |
| 4 | - %b Path: | |
| 5 | - = @project.path | |
| 6 | -%p | |
| 7 | - %b Description: | |
| 8 | - = truncate @project.description | |
| 9 | -.left.append-bottom | |
| 10 | - = link_to "Tree", tree_project_path(@project), :class => "button" | |
| 11 | - = link_to "Commits", project_commits_path(@project), :class => "button" | |
| 12 | - = link_to 'Team', team_project_path(@project), :class => "button" | |
| 13 | - - if can? current_user, :admin_project, @project | |
| 14 | - = link_to 'Edit', edit_project_path(@project), :class => "button positive" |
app/views/projects/graph.html.haml
app/views/refs/_tree.html.haml
| 1 | 1 | #tree-breadcrumbs |
| 2 | - %h2 | |
| 2 | + %div | |
| 3 | 3 | = link_to tree_project_ref_path(@project, @ref, :path => nil), :remote => true do |
| 4 | 4 | = @project.code |
| 5 | - - tree.breadcrumbs(4) do |link| | |
| 5 | + - tree.breadcrumbs(6) do |link| | |
| 6 | 6 | \/ |
| 7 | 7 | = link |
| 8 | 8 | |
| ... | ... | @@ -19,7 +19,7 @@ |
| 19 | 19 | %th Last Update |
| 20 | 20 | %th |
| 21 | 21 | Last commit |
| 22 | - = link_to "history", tree.history_path, :class => "right" | |
| 22 | + = link_to "History", tree.history_path, :class => "right" | |
| 23 | 23 | |
| 24 | 24 | - if tree.up_dir? |
| 25 | 25 | %tr{ :class => "tree-item", :url => tree.up_dir_path } | ... | ... |
app/views/refs/_tree_file.html.haml
| ... | ... | @@ -2,10 +2,11 @@ |
| 2 | 2 | .view_file |
| 3 | 3 | .view_file_header |
| 4 | 4 | %strong |
| 5 | - = name | |
| 5 | + %span.file_icon= image_tag "txt.png" | |
| 6 | + %span.mode_text= file.mode | |
| 7 | + %span.file_name= name | |
| 6 | 8 | = link_to "raw", blob_project_ref_path(@project, @ref, :path => params[:path] ), :class => "right", :target => "_blank" |
| 7 | 9 | = link_to "history", project_commits_path(@project, :path => params[:path], :ref => @ref ), :class => "right", :style => "margin-right:10px;" |
| 8 | - -#= switch_colorscheme_link(:class => "right", :style => "margin-right:10px;color:orange") | |
| 9 | 10 | %br/ |
| 10 | 11 | - if file.text? |
| 11 | 12 | .view_file_content | ... | ... |
app/views/refs/_tree_item.html.haml
| ... | ... | @@ -8,7 +8,7 @@ |
| 8 | 8 | - else |
| 9 | 9 | = image_tag "dir.png" |
| 10 | 10 | = link_to truncate(content.name, :length => 40), tree_file_project_ref_path(@project, @ref || @commit.id, file), :remote => :true |
| 11 | - %td | |
| 11 | + %td.cgray | |
| 12 | 12 | = time_ago_in_words(content_commit.committed_date) |
| 13 | 13 | ago |
| 14 | 14 | %td.commit | ... | ... |
spec/support/shared_examples.rb