project, commits page with bootstrap

This commit is contained in:
Dmitriy Zaporozhets 2012-01-27 00:13:19 +02:00
parent fed0da8076
commit bef29f0797
10 changed files with 239 additions and 514 deletions

View file

@ -4,17 +4,17 @@ var MergeRequest = {
init:
function() {
$(".merge-tabs a").live("click", function() {
$(".merge-tabs a").removeClass("active");
$(this).addClass("active");
$(".tabs a").live("click", function() {
$(".tabs a").parent().removeClass("active");
$(this).parent().addClass("active");
});
$(".merge-tabs a.merge-notes-tab").live("click", function() {
$(".tabs a.merge-notes-tab").live("click", function() {
$(".merge-request-commits, .merge-request-diffs").hide();
$(".merge-request-notes").show();
});
$(".merge-tabs a.merge-commits-tab").live("click", function() {
$(".tabs a.merge-commits-tab").live("click", function() {
if(!MergeRequest.commits_loaded) {
MergeRequest.loadCommits();
}
@ -22,7 +22,7 @@ var MergeRequest = {
$(".merge-request-commits").show();
});
$(".merge-tabs a.merge-diffs-tab").live("click", function() {
$(".tabs a.merge-diffs-tab").live("click", function() {
if(!MergeRequest.diffs_loaded) {
MergeRequest.loadDiff();
}

View file

@ -116,26 +116,3 @@ input.button{margin-bottom: 1.5em}
.button-green{background: #A6B807; color: white}
.commit-button{
background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.192, #fff), to(#f4f4f4));
background-image: -webkit-linear-gradient(#fff 19.2%, #f4f4f4);
background-image: -moz-linear-gradient(#fff 19.2%, #f4f4f4);
background-image: -o-linear-gradient(#fff 19.2%, #f4f4f4);
box-shadow: 0 -1px 0 white inset;
display: block;
border: 1px solid #eee;
border-radius: 5px;
margin-bottom: 2px;
position: relative;
padding-right: 20px !important;
}
.commit-button i{
background: url('images.png') no-repeat -138px -27px;
width: 6px;
height: 9px;
float: right;
position: absolute;
top: 6px;
right: 5px;
}

View file

@ -1,22 +1,10 @@
/* Commit Page */
.commit-info{float: right;}
.commit-info data{
padding: 4px 10px;
font-size: 11px;
}
.commits-date {display: block; width: 100%; margin-bottom: 20px}
.commits-date .data {padding: 0}
a.commit{padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;}
a.commit {padding: 10px; border-bottom: none; overflow: hidden; display: block;}
a.commit:last-child{border-bottom: 0}
a.commit img{float: left; margin-right: 10px;}
a.commit .commit-title{display: block;}
a.commit .commit-title{margin-bottom: 10px}
a.commit .commit-author{color: #999; font-weight: normal; font-style: italic;}
a.commit .commit-author strong{font-weight: bold; font-style: normal;}
/**
*
* COMMIT SHOw
*
*/
/* eo Commit Page */
/** Commit diff view **/
.diff_file {
border:1px solid #CCC;
margin-bottom:1em;
@ -49,6 +37,11 @@ a.commit .commit-author strong{font-weight: bold; font-style: normal;}
border:none;
margin:0px;
padding:0px;
tr {
td {
font-size:12px;
}
}
}
.old_line, .new_line {
margin:0px;
@ -87,14 +80,6 @@ a.commit .commit-author strong{font-weight: bold; font-style: normal;}
}
}
pre.commit_message {
white-space: pre-wrap;
font-family: "Helvetica", sans-serif;
color: #555;
font-weight:bold;
font-size:15px;
}
/** COMMIT BLOCK **/
.commit-title{display: block;}
.commit-title{margin-bottom: 10px}
@ -124,45 +109,50 @@ ul.bordered-list li:last-child { border:none }
}
}
.per_line_form {
font-family: "Helvetica", sans-serif;
background: #2FA0BB;
td {
padding:0;
}
form {
margin:5px;
width: 756px;
border: 1px solid #CCC;
padding: 20px;
background: white;
}
}
tr.line_notes_row {
font-family: "Helvetica", sans-serif;
&:hover {
background:none;
}
td {
margin:0px;
padding:0px;
border-bottom:1px solid #DEE2E3;
ul {
display:block;
list-style:none;
margin:0px;
padding:0px;
li {
border-top:1px solid #DEE2E3;
padding:10px;
}
}
}
border-bottom:1px solid #DDD;
}
/**
*
* COMMIT LIST
*
*/
.commit-info{float: right;}
.commit-info data{
padding: 4px 10px;
font-size: 11px;
}
a.commit{padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;}
a.commit:last-child {border-bottom: 0}
a.commit img{float: left; margin-right: 10px;}
a.commit .commit-title{display: block;}
a.commit .commit-title{margin-bottom: 10px}
a.commit .commit-author{color: #999; font-weight: normal; font-style: italic;}
a.commit .commit-author strong{font-weight: bold; font-style: normal;}
.commit-button{
background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.192, #fff), to(#f4f4f4));
background-image: -webkit-linear-gradient(#fff 19.2%, #f4f4f4);
background-image: -moz-linear-gradient(#fff 19.2%, #f4f4f4);
background-image: -o-linear-gradient(#fff 19.2%, #f4f4f4);
box-shadow: 0 -1px 0 white inset;
display: block;
border: 1px solid #eee;
border-radius: 5px;
margin-bottom: 2px;
position: relative;
padding-right: 20px !important;
}
.commit-button i{
background: url('images.png') no-repeat -138px -27px;
width: 6px;
height: 9px;
float: right;
position: absolute;
top: 6px;
right: 5px;
}

View file

@ -9,7 +9,8 @@ $active_bg_color:#79C3E0;
$active_bd_color: #2FA0BB;
$border_color:#CCC;
$lite_border_color:#EEE;
$app_width:980px;
$min_app_width:940px;
$max_app_width:980px;
$app_padding:20px;
$bg_color: #FFF;
$styled_border_color: #2FA0BB;
@ -90,58 +91,40 @@ $blue_link: "#2fa0bb";
/** LAYOUT **/
.container-fluid {
max-width:980px;
min-width:$min_app_width;
max-width:$max_app_width;
margin:auto;
margin-top:80px;
margin-top:60px;
}
.container-fluid > .sidebar {
width: 110px;
left: 0;
top: 0;
height: 100%;
bottom: 0;
position: absolute;
float: left;
display: inline-block;
background: #FFF;
padding: $app_padding;
padding-right:0px;
margin: 0;
width: 140px;
border-right: 1px solid $border_color;
aside {
width: 109px
}
height:100%;
}
.container-fluid > .content {
margin-left: 130px;
}
/** GITLAB reset **/
a {
color: $link_color;
&:hover { text-decoration:none; }
margin-left: 160px;
}
@import "reset_bootstrap.scss";
@import "top_panel.scss";
@import "projects.css.scss";
@import "style.scss";
@import "commits.css.scss";
@import "notes.css.scss";
@import "merge_requests.css.scss";
@import "issues.css.scss";
@import "commits.css.scss";
@import "dashboard.scss";
@import "tree.scss";
@import "tags.scss";
@import "buttons.scss";
//@import "style.scss";
//@import "notes.css.scss";
//@import "merge_requests.css.scss";
//@import "issues.css.scss";
//@import "commits.css.scss";
//@import "dashboard.scss";
//@import "tree.scss";
//@import "tags.scss";
//@import "buttons.scss";
/** CODE HIGHTLIGHT **/
@import "highlight.css.scss";
@import "highlight.black.css.scss";
//@import "highlight.css.scss";
//@import "highlight.black.css.scss";

View file

@ -1,384 +1,158 @@
.git_url_wrapper { margin-right:50px }
.sidebar aside a{
display: block;
position: relative;
padding: 15px 10px;
margin: 10px 0 0 0;
span.number{
float: right; border-radius: 5px; text-shadow: none; background: rgba(0,0,0,.12); text-align: center; padding: 5px 8px; position: absolute; top: 10px; right: 10px;
}
&.current {
color: white;
background: $active_bg_color;
border: 1px solid $active_bd_color;
border-radius:5px;
-webkit-border-top-right-radius: 0;
-webkit-border-bottom-right-radius: 0;
-moz-border-radius-topright: 0px;
-moz-border-radius-bottomright: 0px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
margin-right: -1px;
}
.git_url_wrapper {
margin-right:50px
}
body table .commit a{color: #{$blue_link}}
body table th, body table td{ border-bottom: 1px solid #DEE2E3;}
body .fixed{position: fixed; }
.sidebar {
.fixed {
position:fixed;
}
/** File stat **/
aside a {
display:block;
position:relative;
padding:15px 10px;
margin:10px 0 0 0;
font-size:13px;
font-weight:bold;
}
}
.file_stats {
span {
img {
width:14px;
float:left;
margin-right: 6px;
margin-right:6px;
padding:2px 0;
}
}
}
.round-borders {
@include round-borders-all(4px);
padding: 4px 0px;
.handle:hover {
cursor:move;
}
table.round-borders {
float:left;
text-align: left;
}
/** PROJECTS **/
input.ssh_project_url {
padding:5px;
margin:0px;
float:right;
width:400px;
text-align:center;
}
#projects-list .project {
height:50px;
}
#tree-slider .tree-item,
#projects-list .project,
#snippets-table .snippet,
#issues-table .issue{
cursor:pointer;
}
.clear {
clear: both;
}
#user_projects_limit{
width: 60px;
}
.handle:hover{
cursor: move;
}
.project-refs-form {
span {
background: none !important;
background:none !important;
position:static !important;
width:auto !important;
height: auto !important;
height:auto !important;
}
}
.project-refs-select {
width:200px;
}
.filter .left { margin-right:15px; }
body table .commit {
a.tree-commit-link {
color:#444;
&:hover {
text-decoration:underline;
}
}
}
/** NEW PROJECT **/
.new-project-hodler {
.icon span { background-position: -31px -70px; }
td { border-bottom: 1px solid #DEE2E3; }
}
/** Feed entry **/
.commit,
.snippet,
.message {
.title {
color:#666;
a { color:#666 !important; }
p { margin-top:0px; }
}
.author { color: #999 }
}
/** JQuery UI **/
.ui-autocomplete { @include round-borders-all(5px); }
.ui-menu-item { cursor: pointer }
.ui-selectmenu{
@include round-borders-all(4px);
margin-right:10px;
font-size:1.5em;
height:auto;
font-weight:bold;
.ui-selectmenu-status {
padding:3px 10px;
}
}
#holder {
background:#FAFAFA;
border: 1px solid #EEE;
cursor: move;
height: 70%;
overflow: hidden;
}
/* Project Dashboard Page */
html, body { height: 100%; }
.news-feed h2{float: left;}
.news-feed .project-updates {margin-bottom: 20px; display: block; width: 100%;}
.news-feed .project-updates .data{ padding: 0}
.news-feed .project-updates a.project-update {padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;}
.news-feed .project-updates a.project-update:last-child{border-bottom: 0}
.news-feed .project-updates a.project-update img{float: left; margin-right: 10px;}
.news-feed .project-updates a.project-update span.update-title, .dashboard-page .news-feed .project-updates li a span.update-author{display: block;}
.news-feed .project-updates a.project-update span.update-title{margin-bottom: 10px}
.news-feed .project-updates a.project-update span.update-author{color: #999; font-weight: normal; font-style: italic;}
.news-feed .project-updates a.project-update span.update-author strong{font-weight: bold; font-style: normal;}
/* eo Dashboard Page */
/** Update entry **/
.update-data { padding: 0 }
.update-data { width:100%; }
.update-data.ui-box .data { padding:0; }
a.update-item {padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;}
a.update-item:last-child{border-bottom: 0}
a.update-item img{float: left; margin-right: 10px;}
a.update-item span.update-title, .dashboard-page .news-feed .project-updates li a span.update-author{display: block;}
a.update-item span.update-title{margin-bottom: 10px}
a.update-item span.update-author{color: #999; font-weight: normal; font-style: italic;}
a.update-item span.update-author strong{font-weight: bold; font-style: normal;}
body .team_member_new .span-6, .team_member_edit .span-6{ padding:10px 0; }
body.projects-page input.text.git-url.project_list_url { width:165px; }
body table.no-borders th {
background:none;
border-bottom:1px solid #CCC;
color:#333;
.news-feed h2 {
float:left;
}
body table.no-borders tr,
body table.no-borders td{
border:none;
.news-feed .project-updates {
margin-bottom:20px;
display:block;
width:100%;
}
.news-feed .project-updates .data {
padding:0
}
.news-feed .project-updates a.project-update {
padding:10px;
border-bottom:1px solid #eee;
overflow:hidden;
display:block;
}
.news-feed .project-updates a.project-update:last-child {
border-bottom:0
}
.news-feed .project-updates a.project-update img {
float:left;
margin-right:10px;
}
.news-feed .project-updates a.project-update span.update-title,.dashboard-page .news-feed .project-updates li a span.update-author {
display:block;
}
.news-feed .project-updates a.project-update span.update-title {
margin-bottom:10px
}
.news-feed .project-updates a.project-update span.update-author {
color:#999;
font-weight:normal;
font-style:italic;
}
.news-feed .project-updates a.project-update span.update-author strong {
font-weight:bold;
font-style: normal;
}
/** UPDATE ITEM **/
.update-data {
padding:0
}
.update-data {
width:100%;
}
a.update-item {
padding:10px;
border-bottom:1px solid #eee;
overflow:hidden;
display:block;
}
a.update-item:last-child {
border-bottom:0
}
a.update-item img {
float:left;
margin-right:10px;
}
a.update-item span.update-title,.dashboard-page .news-feed .project-updates li a span.update-author {
display:block;
}
a.update-item span.update-title {
margin-bottom:10px
}
a.update-item span.update-author {
color:#999;
font-weight:normal;
font-style:italic;
}
a.update-item span.update-author strong {
font-weight:bold;
font-style:normal;
}
/** END UPDATE ITEM **/
.ajax-tab-loading {
padding:40px;
display:none;
}
#tree-content-holder { float:left; width:100%; }
#tree-content-holder {
float:left;
width:100%;
}
#tree-readme-holder {
float:left;
width:100%;
.readme {
@include round-borders-all(4px);
padding: 4px 15px;
background:#F7F7F7;
padding:4px 15px;
background: #F7F7F7;
}
}
/* Commit Page */
.entity-info {float: right;}
.entity-button{
background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.192, #fff), to(#f4f4f4));
background-image: -webkit-linear-gradient(#fff 19.2%, #f4f4f4);
background-image: -moz-linear-gradient(#fff 19.2%, #f4f4f4);
background-image: -o-linear-gradient(#fff 19.2%, #f4f4f4);
box-shadow: 0 -1px 0 white inset;
display: block;
border: 1px solid #eee;
border-radius: 5px;
margin-bottom: 2px;
position: relative;
padding: 4px 10px;
font-size: 11px;
padding-right: 20px;
}
.entity-button i{
background: url('images.png') no-repeat -138px -27px;
width: 6px;
height: 9px;
float: right;
position: absolute;
top: 6px;
right: 5px;
}
.box-arrow{float: right; background: #E3E5EA; padding: 10px; border-radius: 5px; margin-top: 2px; text-shadow: none; color: #999; margin: 1.5em 0;}
h4.dash-tabs {
margin: 0;
border-bottom: 1px solid #ccc;
padding: 10px 10px;
font-size: 11px;
padding-left:20px;
font-weight: bold; text-transform: uppercase;
background: #F7F7F7;
margin-bottom:20px;
height:13px;
}
.dash-button {
border-right: 1px solid #ddd;
background:none;
padding: 10px 15px;
.dashboard-loader {
float:left;
position:relative;
top:-10px;
left:0px;
height:13px;
&:first-child {
border-left: 1px solid #ddd;
}
&.active {
background: #eaeaea;
}
}
.dashboard-loader {
float:right;
margin-right:30px;
margin:10px;
display:none;
}
.user-mention {
color:#2FA0BB;
font-weight:bold;
}
.merge-tabs {
margin: 0;
border: 1px solid #ccc;
padding: 5px;
font-size: 12px;
background: #F7F7F7;
margin-bottom:20px;
height:26px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
.tab {
font-weight: bold;
border-right: 1px solid #ddd;
background:none;
padding: 10px;
min-width:60px;
float:left;
position:relative;
top:-5px;
left:-5px;
height:16px;
padding-left:34px;
span {
width: 20px;
height: 20px;
display: inline-block;
position: absolute;
left: 8px;
top: 8px;
}
&.active {
background: #eaeaea;
}
a.project-update.titled {
position:relative;
padding-left:35% !important;
.title-block {
padding:10px;
width:35%;
position:absolute;
left:0;
top:0;
}
}
.merge-tabs.repository .tab span{ background: url("images.png") no-repeat -38px -77px; }
.activities-tab span { background: url("images.png") no-repeat -161px -1px; }
.stat-tab span,
.team-tab span,
.snippets-tab span { background: url("images.png") no-repeat -38px -77px; }
.files-tab span { background: url("images.png") no-repeat -112px -23px; }
.merge-notes-tab span { background: url("images.png") no-repeat -161px -1px; }
.merge-commits-tab span { background: url("images.png") no-repeat -86px 1px; }
.merge-diffs-tab span { background: url("images.png") no-repeat -118px 1px; }
.merge-tabs .dashboard-loader { padding:8px; }
.user-mention {
color: #2FA0BB;
font-weight: bold;
}
.author {
color: #999;
}
.dark_scheme_box {
padding:20px 0;
label {
float:left;
box-shadow: 0 0px 5px rgba(0,0,0,.3);
img {
}
}
}
a.project-update.titled {
position: relative;
padding-left: 235px !important;
.title-block {
padding: 10px;
width: 205px;
position: absolute;
left: 0;
top: 0;
}
}
.add_new {
float: right;
background: #A6B807;
color: white;
padding: 4px 10px;
@include round-borders-all(4px);
font-size:11px;
margin: 10px 0;
}

View file

@ -0,0 +1,4 @@
a {
color: $link_color;
&:hover { text-decoration:none; }
}

View file

@ -65,7 +65,8 @@ body header {
.wrapper {
margin:auto;
width:$app_width;
min-width:$min_app_width;
max-width:$max_app_width;
position:relative;
.top_panel_content {
@ -185,10 +186,9 @@ float: right;
}
.account-box.hover{height: 138px;}
.account-box:hover > .account-links{display: block;}
header .account-links{
background: #79C3E0; display: none; border-radius: 5px; width: 100px; margin-top: 0; float: right; box-shadow: 0 1px 1px rgba(0,0,0,.2); position:relative;}
header .account-links{ background: #79C3E0; display: none; border-radius: 5px; width: 100px; margin-top: 0; float: right; box-shadow: 0 1px 1px rgba(0,0,0,.2); position:relative;}
header .account-links:before {
content: ".";
width:0;
@ -196,7 +196,7 @@ header .account-links:before {
position:absolute;
border:5px solid transparent;
border-color:rgba(255,255,255,0);
border-bottom-color:#fafafa;
border-bottom-color:#333;
text-indent:-9999px;
top:-10px;
line-height:0;
@ -204,17 +204,22 @@ header .account-links:before {
z-index:10;
}
/* Inspired by http://maxvoltar.com/temp/nowplaying/ */
header .account-links{background: white; display: none; z-index: 100000; border-radius: 5px; width: 100px; position: absolute; right: 20px; top: 46px; margin-top: 0; float: right; box-shadow: 0 1px 1px rgba(0,0,0,.2); }
header .account-links a{color: #666; padding: 6px 10px; display: block; text-shadow: none; border-bottom: 1px solid #eee}
header .account-links a:hover{
background: #3aacec;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#39acec), to(#279ada), color-stop(.05, #4cbefe));
background: -moz-linear-gradient(top, #39acec, #4cbefe 5%, #279ada);
background: linear-gradient(top, #39acec, #4cbefe 5%, #279ada);
color: #fff;
text-shadow: #1488c8 0 -1px 0;
header .account-links{
background: #333;
display: none;
z-index: 100000;
border-radius: 5px;
width: 100px;
position: absolute;
right: 20px;
top: 46px;
margin-top: 0;
float: right;
box-shadow: 0 1px 1px rgba(0,0,0,.2);
}
header .account-links a{color: #EEE; padding: 6px 10px; display: block; text-shadow: none; border-bottom: 1px solid #555}
header .account-links a:hover{ background: #444;}
.account-box.hover .arrow-up{top: 41px; right: 6px; position: absolute}
header .account-links a:first-child{
-webkit-border-top-left-radius: 5px;

View file

@ -13,7 +13,5 @@
Issues
= link_to wall_project_path(@project), :class => current_page?(:controller => "projects", :action => "wall", :id => @project) ? "current" : nil do
Wall
- if @project.common_notes.today.count > 0
%span{ :class => "number" }= @project.common_notes.today.count
= link_to project_merge_requests_path(@project), :class => (controller.controller_name == "merge_requests") ? "current" : nil do
Requests

View file

@ -26,31 +26,26 @@
= @merge_request.created_at.stamp("Aug 21, 2011 9:23pm")
%hr
%br
%h3
= simple_format @merge_request.title
%div.well= simple_format @merge_request.title
.clear
%br
%br
.merge-tabs
= link_to "#notes", :class => "merge-notes-tab active tab" do
%span
Notes
= link_to "#commits", "data-url" => commits_project_merge_request_path(@project, @merge_request), :class => "merge-commits-tab tab" do
%span
Commits
= link_to "#diffs", "data-url" => diffs_project_merge_request_path(@project, @merge_request), :class => "merge-diffs-tab tab" do
%span
Diff
.tabs
%li.active
= link_to "#notes", :class => "merge-notes-tab tab" do
Notes
%li
= link_to "#commits", "data-url" => commits_project_merge_request_path(@project, @merge_request), :class => "merge-commits-tab tab" do
Commits
%li
= link_to "#diffs", "data-url" => diffs_project_merge_request_path(@project, @merge_request), :class => "merge-diffs-tab tab" do
Diff
- if can?(current_user, :admin_project, @project) || @merge_request.author == current_user
.right
- if @merge_request.closed
= link_to 'Reopen', project_merge_request_path(@project, @merge_request, :merge_request => {:closed => false }, :status_only => true), :method => :put, :class => "red-button"
= link_to 'Reopen', project_merge_request_path(@project, @merge_request, :merge_request => {:closed => false }, :status_only => true), :method => :put, :class => "btn"
- else
= link_to 'Close', project_merge_request_path(@project, @merge_request, :merge_request => {:closed => true }, :status_only => true), :method => :put, :class => "positive-button", :title => "Close merge request"
= link_to 'Close', project_merge_request_path(@project, @merge_request, :merge_request => {:closed => true }, :status_only => true), :method => :put, :class => "btn", :title => "Close merge request"
%img{:src => "/assets/ajax-loader-facebook.gif", :class => "dashboard-loader"}
.merge-request-notes

View file

@ -1,11 +1,10 @@
#tree-breadcrumbs
%div
%ul.breadcrumb
%li
= link_to tree_project_ref_path(@project, @ref, :path => nil), :remote => true do
= @project.code
- tree.breadcrumbs(6) do |link|
\/
= link
 
- tree.breadcrumbs(6) do |link|
\/
%li= link
%span.tree_progress
.clear
#tree-content-holder