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 | $text_color:#222; | 1 | $text_color:#222; |
| 2 | $lite_text_color: #666; | 2 | $lite_text_color: #666; |
| 3 | -$link_color:#FFF; | 3 | +$link_color:#111; |
| 4 | $active_link_color:#2FA0BB; | 4 | $active_link_color:#2FA0BB; |
| 5 | $active_bg_color:#79C3E0; | 5 | $active_bg_color:#79C3E0; |
| 6 | $active_bd_color: #2FA0BB; | 6 | $active_bd_color: #2FA0BB; |
| 7 | -$border_color:#FFF; | 7 | +$border_color:#CCC; |
| 8 | +$lite_border_color:#EEE; | ||
| 8 | $app_width:980px; | 9 | $app_width:980px; |
| 9 | $app_padding:20px; | 10 | $app_padding:20px; |
| 10 | $bg_color: #FFF; | 11 | $bg_color: #FFF; |
| @@ -95,6 +96,9 @@ body.collapsed { | @@ -95,6 +96,9 @@ body.collapsed { | ||
| 95 | } | 96 | } |
| 96 | } | 97 | } |
| 97 | 98 | ||
| 99 | +a { | ||
| 100 | + color: $link_color; | ||
| 101 | +} | ||
| 98 | 102 | ||
| 99 | @import "style.scss"; | 103 | @import "style.scss"; |
| 100 | @import "projects.css.scss"; | 104 | @import "projects.css.scss"; |
| @@ -108,3 +112,4 @@ body.collapsed { | @@ -108,3 +112,4 @@ body.collapsed { | ||
| 108 | 112 | ||
| 109 | @import "top_panel.scss"; | 113 | @import "top_panel.scss"; |
| 110 | @import "dashboard.scss"; | 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,24 +3,28 @@ body.dashboard-page header{margin-bottom: 0} | ||
| 3 | body.dashboard-page .news-feed{margin-left: 285px; min-height: 600px; margin-top: 20px; margin-right:2px; padding:20px;} | 3 | body.dashboard-page .news-feed{margin-left: 285px; min-height: 600px; margin-top: 20px; margin-right:2px; padding:20px;} |
| 4 | body.dashboard-page .dashboard-content{ position: relative; float: left; width: 100%; height: 100%; } | 4 | body.dashboard-page .dashboard-content{ position: relative; float: left; width: 100%; height: 100%; } |
| 5 | body.dashboard-page .news-feed h2{float: left;} | 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 | /* eo Dashboard Page */ | 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,7 +26,7 @@ body.project-page .project-sidebar { | ||
| 26 | padding: $app_padding; | 26 | padding: $app_padding; |
| 27 | padding-right:0px; | 27 | padding-right:0px; |
| 28 | margin: 0; | 28 | margin: 0; |
| 29 | - border-right: 1px solid #ddd; | 29 | + border-right: 1px solid $border_color; |
| 30 | } | 30 | } |
| 31 | 31 | ||
| 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} | 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,90 +95,7 @@ table.round-borders { | ||
| 95 | text-align: left; | 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 | /** PROJECTS **/ | 100 | /** PROJECTS **/ |
| 184 | input.ssh_project_url { | 101 | input.ssh_project_url { |
| @@ -204,68 +121,6 @@ input.ssh_project_url { | @@ -204,68 +121,6 @@ input.ssh_project_url { | ||
| 204 | clear: both; | 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 | /** Buttons **/ | 125 | /** Buttons **/ |
| 271 | .lbutton, | 126 | .lbutton, |
| @@ -434,7 +289,8 @@ body.project-page table .commit { | @@ -434,7 +289,8 @@ body.project-page table .commit { | ||
| 434 | } | 289 | } |
| 435 | 290 | ||
| 436 | #holder { | 291 | #holder { |
| 437 | - border: solid 1px #999; | 292 | + background:#FAFAFA; |
| 293 | + border: 1px solid #EEE; | ||
| 438 | cursor: move; | 294 | cursor: move; |
| 439 | height: 70%; | 295 | height: 70%; |
| 440 | overflow: hidden; | 296 | overflow: hidden; |
| @@ -673,20 +529,6 @@ h4.dash-tabs { | @@ -673,20 +529,6 @@ h4.dash-tabs { | ||
| 673 | color: white; | 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 | .dark_scheme_box { | 533 | .dark_scheme_box { |
| 692 | padding:20px 0; | 534 | padding:20px 0; |
| @@ -718,24 +560,6 @@ a.project-update.titled { | @@ -718,24 +560,6 @@ a.project-update.titled { | ||
| 718 | padding: 6px 12px; | 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 | tr.line_notes_row { | 564 | tr.line_notes_row { |
| 741 | &:hover { | 565 | &:hover { |
| @@ -764,9 +588,3 @@ tr.line_notes_row { | @@ -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,12 +646,70 @@ body.projects-page .browse-code{margin-right: 10px} | ||
| 646 | h2, h3 { page-break-after: avoid; } | 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 | body, button, input, select, textarea { | 649 | body, button, input, select, textarea { |
| 655 | font-family: "Helvetica", sans-serif; | 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 @@ | @@ -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
| @@ -6,7 +6,7 @@ class TreeDecorator < ApplicationDecorator | @@ -6,7 +6,7 @@ class TreeDecorator < ApplicationDecorator | ||
| 6 | part_path = "" | 6 | part_path = "" |
| 7 | parts = path.split("\/") | 7 | parts = path.split("\/") |
| 8 | 8 | ||
| 9 | - parts = parts[0...-1] if is_blob? | 9 | + #parts = parts[0...-1] if is_blob? |
| 10 | 10 | ||
| 11 | yield(h.link_to("..", "#", :remote => :true)) if parts.count > max_links | 11 | yield(h.link_to("..", "#", :remote => :true)) if parts.count > max_links |
| 12 | 12 |
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 | - if current_user.private_token | 16 | - if current_user.private_token |
| 2 | = content_for :rss_icon do | 17 | = content_for :rss_icon do |
| 3 | .rss-icon | 18 | .rss-icon |
| @@ -5,32 +20,29 @@ | @@ -5,32 +20,29 @@ | ||
| 5 | = image_tag "rss_icon_gray.png", :width => 16, :title => "feed" | 20 | = image_tag "rss_icon_gray.png", :width => 16, :title => "feed" |
| 6 | 21 | ||
| 7 | %div#issues-table-holder | 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 | = render "issues" | 46 | = render "issues" |
| 35 | %br | 47 | %br |
| 36 | :javascript | 48 | :javascript |
app/views/layouts/_head_panel.html.haml
| @@ -9,8 +9,6 @@ | @@ -9,8 +9,6 @@ | ||
| 9 | = link_to admin_root_path, :class => "admin", :title => "Admin" do | 9 | = link_to admin_root_path, :class => "admin", :title => "Admin" do |
| 10 | = image_tag "Gear-UI.PNG", :width => 20 | 10 | = image_tag "Gear-UI.PNG", :width => 20 |
| 11 | 11 | ||
| 12 | - | ||
| 13 | - | ||
| 14 | - if project_layout | 12 | - if project_layout |
| 15 | .project_name | 13 | .project_name |
| 16 | = truncate @project.name, :length => 28 | 14 | = truncate @project.name, :length => 28 |
| @@ -24,7 +22,7 @@ | @@ -24,7 +22,7 @@ | ||
| 24 | - elsif profile_layout | 22 | - elsif profile_layout |
| 25 | .dashboard_links | 23 | .dashboard_links |
| 26 | = link_to "Activities", dashboard_path, :class => "#{"active" if current_page?(dashboard_path) || current_page?(root_path) }" | 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 | = link_to "Issues", dashboard_issues_path, :class => "#{"active" if current_page?(dashboard_issues_path)}", :id => "issues_slide" | 26 | = link_to "Issues", dashboard_issues_path, :class => "#{"active" if current_page?(dashboard_issues_path)}", :id => "issues_slide" |
| 29 | = link_to "Merge Requests", dashboard_merge_requests_path, :class => "#{"active" if current_page?(dashboard_merge_requests_path)}", :id => "merge_requests_slide" | 27 | = link_to "Merge Requests", dashboard_merge_requests_path, :class => "#{"active" if current_page?(dashboard_merge_requests_path)}", :id => "merge_requests_slide" |
| 30 | .search | 28 | .search |
app/views/layouts/project.html.haml
| @@ -32,16 +32,12 @@ | @@ -32,16 +32,12 @@ | ||
| 32 | = link_to "Network", graph_project_path(@project), :class => current_page?(:controller => "projects", :action => "graph", :id => @project) ? "current" : nil | 32 | = link_to "Network", graph_project_path(@project), :class => current_page?(:controller => "projects", :action => "graph", :id => @project) ? "current" : nil |
| 33 | = link_to project_issues_filter_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do | 33 | = link_to project_issues_filter_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do |
| 34 | Issues | 34 | Issues |
| 35 | - -#- if @project.issues.open_for(current_user).count > 0 | ||
| 36 | - %span{ :class => "number" }= @project.issues.open_for(current_user).count | ||
| 37 | = link_to wall_project_path(@project), :class => current_page?(:controller => "projects", :action => "wall", :id => @project) ? "current" : nil do | 35 | = link_to wall_project_path(@project), :class => current_page?(:controller => "projects", :action => "wall", :id => @project) ? "current" : nil do |
| 38 | Wall | 36 | Wall |
| 39 | - if @project.common_notes.today.count > 0 | 37 | - if @project.common_notes.today.count > 0 |
| 40 | %span{ :class => "number" }= @project.common_notes.today.count | 38 | %span{ :class => "number" }= @project.common_notes.today.count |
| 41 | = link_to project_merge_requests_path(@project), :class => (controller.controller_name == "merge_requests") ? "current" : nil do | 39 | = link_to project_merge_requests_path(@project), :class => (controller.controller_name == "merge_requests") ? "current" : nil do |
| 42 | Requests | 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,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 | #tree-breadcrumbs | 1 | #tree-breadcrumbs |
| 2 | - %h2 | 2 | + %div |
| 3 | = link_to tree_project_ref_path(@project, @ref, :path => nil), :remote => true do | 3 | = link_to tree_project_ref_path(@project, @ref, :path => nil), :remote => true do |
| 4 | = @project.code | 4 | = @project.code |
| 5 | - - tree.breadcrumbs(4) do |link| | 5 | + - tree.breadcrumbs(6) do |link| |
| 6 | \/ | 6 | \/ |
| 7 | = link | 7 | = link |
| 8 | | 8 | |
| @@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
| 19 | %th Last Update | 19 | %th Last Update |
| 20 | %th | 20 | %th |
| 21 | Last commit | 21 | Last commit |
| 22 | - = link_to "history", tree.history_path, :class => "right" | 22 | + = link_to "History", tree.history_path, :class => "right" |
| 23 | 23 | ||
| 24 | - if tree.up_dir? | 24 | - if tree.up_dir? |
| 25 | %tr{ :class => "tree-item", :url => tree.up_dir_path } | 25 | %tr{ :class => "tree-item", :url => tree.up_dir_path } |
app/views/refs/_tree_file.html.haml
| @@ -2,10 +2,11 @@ | @@ -2,10 +2,11 @@ | ||
| 2 | .view_file | 2 | .view_file |
| 3 | .view_file_header | 3 | .view_file_header |
| 4 | %strong | 4 | %strong |
| 5 | - = name | 5 | + %span.file_icon= image_tag "txt.png" |
| 6 | + %span.mode_text= file.mode | ||
| 7 | + %span.file_name= name | ||
| 6 | = link_to "raw", blob_project_ref_path(@project, @ref, :path => params[:path] ), :class => "right", :target => "_blank" | 8 | = link_to "raw", blob_project_ref_path(@project, @ref, :path => params[:path] ), :class => "right", :target => "_blank" |
| 7 | = link_to "history", project_commits_path(@project, :path => params[:path], :ref => @ref ), :class => "right", :style => "margin-right:10px;" | 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 | %br/ | 10 | %br/ |
| 10 | - if file.text? | 11 | - if file.text? |
| 11 | .view_file_content | 12 | .view_file_content |
app/views/refs/_tree_item.html.haml
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | - else | 8 | - else |
| 9 | = image_tag "dir.png" | 9 | = image_tag "dir.png" |
| 10 | = link_to truncate(content.name, :length => 40), tree_file_project_ref_path(@project, @ref || @commit.id, file), :remote => :true | 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 | = time_ago_in_words(content_commit.committed_date) | 12 | = time_ago_in_words(content_commit.committed_date) |
| 13 | ago | 13 | ago |
| 14 | %td.commit | 14 | %td.commit |
spec/support/shared_examples.rb
| @@ -11,7 +11,7 @@ shared_examples_for :tree_view do | @@ -11,7 +11,7 @@ shared_examples_for :tree_view do | ||
| 11 | 11 | ||
| 12 | it "should have Tree View of project" do | 12 | it "should have Tree View of project" do |
| 13 | should have_content("app") | 13 | should have_content("app") |
| 14 | - should have_content("history") | 14 | + should have_content("History") |
| 15 | should have_content("Gemfile") | 15 | should have_content("Gemfile") |
| 16 | end | 16 | end |
| 17 | end | 17 | end |