Merge branch 'master' into discussions
Conflicts: app/assets/stylesheets/main.scss app/models/project.rb app/views/notes/_common_form.html.haml app/views/notes/_per_line_form.html.haml lib/gitlab/markdown.rb spec/models/note_spec.rb
BIN
app/assets/images/ajax_loader_gray.gif
Normal file
After Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.3 KiB |
BIN
app/assets/images/switch_icon.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
|
@ -1,52 +1,38 @@
|
|||
# Creates the variables for setting up GFM auto-completion
|
||||
|
||||
window.GitLab ?= {}
|
||||
GitLab.GfmAutoComplete ?= {}
|
||||
|
||||
# Emoji
|
||||
data = []
|
||||
template = "<li data-value='${insert}'>${name} <img alt='${name}' height='20' src='${image}' width='20' /></li>"
|
||||
GitLab.GfmAutoComplete.Emoji = {data, template}
|
||||
|
||||
# Team Members
|
||||
data = []
|
||||
url = '';
|
||||
params = {private_token: '', page: 1}
|
||||
GitLab.GfmAutoComplete.Members = {data, url, params}
|
||||
|
||||
# Add GFM auto-completion to all input fields, that accept GFM input.
|
||||
GitLab.GfmAutoComplete.setup = ->
|
||||
input = $('.js-gfm-input')
|
||||
|
||||
GitLab.GfmAutoComplete =
|
||||
# Emoji
|
||||
input.atWho ':',
|
||||
data: GitLab.GfmAutoComplete.Emoji.data,
|
||||
tpl: GitLab.GfmAutoComplete.Emoji.template
|
||||
Emoji:
|
||||
data: []
|
||||
template: '<li data-value="${insert}">${name} <img alt="${name}" height="20" src="${image}" width="20" /></li>'
|
||||
|
||||
# Team Members
|
||||
input.atWho '@', (query, callback) ->
|
||||
(getMoreMembers = ->
|
||||
$.getJSON(GitLab.GfmAutoComplete.Members.url, GitLab.GfmAutoComplete.Members.params)
|
||||
.success (members) ->
|
||||
# pick the data we need
|
||||
newMembersData = $.map(members, (m) -> m.name )
|
||||
Members:
|
||||
data: []
|
||||
url: ''
|
||||
params:
|
||||
private_token: ''
|
||||
template: '<li data-value="${username}">${username} <small>${name}</small></li>'
|
||||
|
||||
# add the new page of data to the rest
|
||||
$.merge(GitLab.GfmAutoComplete.Members.data, newMembersData)
|
||||
# Add GFM auto-completion to all input fields, that accept GFM input.
|
||||
setup: ->
|
||||
input = $('.js-gfm-input')
|
||||
|
||||
# show the pop-up with a copy of the current data
|
||||
callback(GitLab.GfmAutoComplete.Members.data[..])
|
||||
# Emoji
|
||||
input.atWho ':',
|
||||
data: @Emoji.data
|
||||
tpl: @Emoji.template
|
||||
|
||||
# are we past the last page?
|
||||
if newMembersData.length is 0
|
||||
# set static data and stop callbacks
|
||||
input.atWho '@',
|
||||
data: GitLab.GfmAutoComplete.Members.data
|
||||
callback: null
|
||||
else
|
||||
# get next page
|
||||
getMoreMembers()
|
||||
# Team Members
|
||||
input.atWho '@',
|
||||
tpl: @Members.template
|
||||
callback: (query, callback) =>
|
||||
request_params = $.extend({}, @Members.params, query: query)
|
||||
$.getJSON(@Members.url, request_params).done (members) =>
|
||||
new_members_data = $.map(members, (m) ->
|
||||
username: m.username,
|
||||
name: m.name
|
||||
)
|
||||
callback(new_members_data)
|
||||
|
||||
# so the next request gets the next page
|
||||
GitLab.GfmAutoComplete.Members.params.page += 1
|
||||
).call()
|
||||
|
|
|
@ -1,43 +1,3 @@
|
|||
function switchToNewIssue(){
|
||||
$(".issues_content").hide("fade", { direction: "left" }, 150, function(){
|
||||
$('select#issue_assignee_id').chosen();
|
||||
$('select#issue_milestone_id').chosen();
|
||||
$("#new_issue_dialog").show("fade", { direction: "right" }, 150);
|
||||
$('.top-tabs .add_new').hide();
|
||||
disableButtonIfEmptyField("#issue_title", ".save-btn");
|
||||
GitLab.GfmAutoComplete.setup();
|
||||
});
|
||||
}
|
||||
|
||||
function switchToEditIssue(){
|
||||
$(".issues_content").hide("fade", { direction: "left" }, 150, function(){
|
||||
$('select#issue_assignee_id').chosen();
|
||||
$('select#issue_milestone_id').chosen();
|
||||
$("#edit_issue_dialog").show("fade", { direction: "right" }, 150);
|
||||
$('.add_new').hide();
|
||||
disableButtonIfEmptyField("#issue_title", ".save-btn");
|
||||
GitLab.GfmAutoComplete.setup();
|
||||
});
|
||||
}
|
||||
|
||||
function switchFromNewIssue(){
|
||||
backToIssues();
|
||||
}
|
||||
|
||||
function switchFromEditIssue(){
|
||||
backToIssues();
|
||||
}
|
||||
|
||||
function backToIssues(){
|
||||
$("#edit_issue_dialog, #new_issue_dialog").hide("fade", { direction: "right" }, 150, function(){
|
||||
$(".issues_content").show("fade", { direction: "left" }, 150, function() {
|
||||
$("#edit_issue_dialog").html("");
|
||||
$("#new_issue_dialog").html("");
|
||||
$('.add_new').show();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function initIssuesSearch() {
|
||||
var href = $('#issue_search_form').attr('action');
|
||||
var last_terms = '';
|
||||
|
@ -76,23 +36,15 @@ function issuesPage(){
|
|||
$(this).closest("form").submit();
|
||||
});
|
||||
|
||||
$("#new_issue_link").click(function(){
|
||||
updateNewIssueURL();
|
||||
});
|
||||
|
||||
$('body').on('ajax:success', '.close_issue, .reopen_issue, #new_issue', function(){
|
||||
$('body').on('ajax:success', '.close_issue, .reopen_issue', function(){
|
||||
var t = $(this),
|
||||
totalIssues,
|
||||
reopen = t.hasClass('reopen_issue'),
|
||||
newIssue = false;
|
||||
if( this.id == 'new_issue' ){
|
||||
newIssue = true;
|
||||
}
|
||||
$('.issue_counter, #new_issue').each(function(){
|
||||
reopen = t.hasClass('reopen_issue');
|
||||
$('.issue_counter').each(function(){
|
||||
var issue = $(this);
|
||||
totalIssues = parseInt( $(this).html(), 10 );
|
||||
|
||||
if( newIssue || ( reopen && issue.closest('.main_menu').length ) ){
|
||||
if( reopen && issue.closest('.main_menu').length ){
|
||||
$(this).html( totalIssues+1 );
|
||||
}else {
|
||||
$(this).html( totalIssues-1 );
|
||||
|
@ -126,20 +78,3 @@ function issuesCheckChanged() {
|
|||
$('.issues_filters').show();
|
||||
}
|
||||
}
|
||||
|
||||
function updateNewIssueURL(){
|
||||
var new_issue_link = $("#new_issue_link");
|
||||
var milestone_id = $("#milestone_id").val();
|
||||
var assignee_id = $("#assignee_id").val();
|
||||
var new_href = "";
|
||||
if(milestone_id){
|
||||
new_href = "issue[milestone_id]=" + milestone_id + "&";
|
||||
}
|
||||
if(assignee_id){
|
||||
new_href = new_href + "issue[assignee_id]=" + assignee_id;
|
||||
}
|
||||
if(new_href.length){
|
||||
new_href = new_issue_link.attr("href") + "?" + new_href;
|
||||
new_issue_link.attr("href", new_href);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -7,6 +7,18 @@ window.slugify = (text) ->
|
|||
window.ajaxGet = (url) ->
|
||||
$.ajax({type: "GET", url: url, dataType: "script"})
|
||||
|
||||
window.errorMessage = (message) ->
|
||||
ehtml = $("<p>")
|
||||
ehtml.addClass("error_message")
|
||||
ehtml.html(message)
|
||||
ehtml
|
||||
|
||||
window.split = (val) ->
|
||||
return val.split( /,\s*/ )
|
||||
|
||||
window.extractLast = (term) ->
|
||||
return split( term ).pop()
|
||||
|
||||
# Disable button if text field is empty
|
||||
window.disableButtonIfEmptyField = (field_selector, button_selector) ->
|
||||
field = $(field_selector)
|
||||
|
|
|
@ -26,6 +26,12 @@ var MergeRequest = {
|
|||
self.showState(data.state);
|
||||
}, "json");
|
||||
}
|
||||
|
||||
if(self.opts.ci_enable){
|
||||
$.get(self.opts.url_to_ci_check, function(data){
|
||||
self.showCiState(data.status);
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
|
||||
initTabs:
|
||||
|
@ -79,6 +85,11 @@ var MergeRequest = {
|
|||
$(".automerge_widget." + state).show();
|
||||
},
|
||||
|
||||
showCiState:
|
||||
function(state){
|
||||
$(".ci_widget").hide();
|
||||
$(".ci_widget.ci-" + state).show();
|
||||
},
|
||||
|
||||
loadDiff:
|
||||
function() {
|
||||
|
|
|
@ -18,10 +18,3 @@ $ ->
|
|||
# Ref switcher
|
||||
$('.project-refs-select').on 'change', ->
|
||||
$(@).parents('form').submit()
|
||||
|
||||
class @GraphNav
|
||||
@init: ->
|
||||
$('.graph svg').css 'position', 'relative'
|
||||
$('body').bind 'keyup', (e) ->
|
||||
$('.graph svg').animate(left: '+=400') if e.keyCode is 37 # left
|
||||
$('.graph svg').animate(left: '-=400') if e.keyCode is 39 # right
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
/*
|
||||
* This is a manifest file that'll automatically include all the stylesheets available in this directory
|
||||
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
|
||||
* the top of the compiled file, but it's generally better to create a new file per style scope.
|
||||
*= require jquery.ui.gitlab
|
||||
*= require jquery.atwho
|
||||
*= require chosen
|
||||
*= require_self
|
||||
*= require main
|
||||
*/
|
52
app/assets/stylesheets/application.scss
Normal file
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* This is a manifest file that'll automatically include all the stylesheets available in this directory
|
||||
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
|
||||
* the top of the compiled file, but it's generally better to create a new file per style scope.
|
||||
*= require jquery.ui.gitlab
|
||||
*= require jquery.atwho
|
||||
*= require chosen
|
||||
*= require_self
|
||||
*/
|
||||
|
||||
/**
|
||||
* GitLab bootstrap:
|
||||
*/
|
||||
@import "gitlab_bootstrap.scss";
|
||||
|
||||
@import "common.scss";
|
||||
@import "ref_select.scss";
|
||||
|
||||
@import "sections/header.scss";
|
||||
@import "sections/nav.scss";
|
||||
@import "sections/commits.scss";
|
||||
@import "sections/issues.scss";
|
||||
@import "sections/projects.scss";
|
||||
@import "sections/snippets.scss";
|
||||
@import "sections/votes.scss";
|
||||
@import "sections/merge_requests.scss";
|
||||
@import "sections/graph.scss";
|
||||
@import "sections/events.scss";
|
||||
@import "sections/themes.scss";
|
||||
@import "sections/tree.scss";
|
||||
@import "sections/notes.scss";
|
||||
@import "sections/profile.scss";
|
||||
@import "sections/login.scss";
|
||||
@import "sections/editor.scss";
|
||||
|
||||
@import "highlight/white.scss";
|
||||
@import "highlight/dark.scss";
|
||||
|
||||
/**
|
||||
* UI themes:
|
||||
*/
|
||||
@import "themes/ui_basic.scss";
|
||||
@import "themes/ui_mars.scss";
|
||||
@import "themes/ui_modern.scss";
|
||||
@import "themes/ui_gray.scss";
|
||||
@import "themes/ui_color.scss";
|
||||
|
||||
/**
|
||||
* Styles for JS behaviors.
|
||||
*/
|
||||
@import "behaviors.scss";
|
||||
|
|
@ -13,20 +13,12 @@ body {
|
|||
margin: 0 0;
|
||||
}
|
||||
|
||||
.container .sidebar {
|
||||
width: 200px;
|
||||
height: 100%;
|
||||
min-height: 450px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
|
||||
.visible_link,
|
||||
.author_link {
|
||||
color: $link_color;
|
||||
}
|
||||
|
||||
.help li { color:#111 }
|
||||
.help li { color:$style_color; }
|
||||
|
||||
.back_link {
|
||||
text-decoration: underline;
|
||||
|
@ -65,6 +57,9 @@ table a code {
|
|||
background: url(ajax_loader.gif) no-repeat center center;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
&.loading-gray {
|
||||
background: url(ajax_loader_gray.gif) no-repeat center center;
|
||||
}
|
||||
}
|
||||
|
||||
/** FLASH message **/
|
||||
|
@ -96,28 +91,17 @@ table a code {
|
|||
margin-right:50px
|
||||
}
|
||||
|
||||
.handle:hover {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
span.update-author {
|
||||
display: block;
|
||||
}
|
||||
span.update-author {
|
||||
color: #999;
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
span.update-author strong {
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
strong {
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
|
||||
/** UPDATE ITEM **/
|
||||
span.update-author {
|
||||
display: block;
|
||||
}
|
||||
/** END UPDATE ITEM **/
|
||||
.dashboard-loader {
|
||||
float: left;
|
||||
margin: 10px;
|
||||
|
@ -264,21 +248,6 @@ input.git_clone_url {
|
|||
}
|
||||
|
||||
|
||||
/** bordered list **/
|
||||
ul.bordered-list {
|
||||
margin: 5px 0px;
|
||||
padding: 0px;
|
||||
li {
|
||||
padding: 5px 0;
|
||||
border-bottom: 1px solid #EEE;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
margin: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
ul.bordered-list li:last-child { border:none }
|
||||
|
||||
.line_holder {
|
||||
&:hover {
|
||||
td {
|
||||
|
@ -316,98 +285,6 @@ p.time {
|
|||
}
|
||||
|
||||
|
||||
.ico {
|
||||
background: url("images.png") no-repeat -85px -77px;
|
||||
width: 19px;
|
||||
height: 16px;
|
||||
float: left;
|
||||
position: relative;
|
||||
margin-right: 10px;
|
||||
top: 8px;
|
||||
|
||||
&.project {
|
||||
background-position: -37px -77px;
|
||||
}
|
||||
|
||||
&.activities {
|
||||
background-position:-162px -22px;
|
||||
}
|
||||
&.projects {
|
||||
background-position:-209px -21px;
|
||||
}
|
||||
}
|
||||
|
||||
.leftbar {
|
||||
h5, .title {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 14px;
|
||||
padding: 2px 10px;
|
||||
color: #666;
|
||||
border-bottom: 1px solid #f1f1f1;
|
||||
}
|
||||
a:last-child h4 { border: none; }
|
||||
|
||||
a:hover {
|
||||
h4 {
|
||||
color: #111;
|
||||
background: $hover;
|
||||
border-color: #CCC;
|
||||
.ico.project {
|
||||
background-position:-209px -21px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bottom {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.votes {
|
||||
font-size: 13px;
|
||||
line-height: 15px;
|
||||
.progress {
|
||||
height: 4px;
|
||||
margin: 0;
|
||||
.bar {
|
||||
float: left;
|
||||
height: 100%;
|
||||
}
|
||||
.bar-success {
|
||||
@include linear-gradient(#62C462, #51A351);
|
||||
background-color: #468847;
|
||||
}
|
||||
.bar-danger {
|
||||
@include linear-gradient(#EE5F5B, #BD362F);
|
||||
background-color: #B94A48;
|
||||
}
|
||||
}
|
||||
.upvotes {
|
||||
display: inline-block;
|
||||
color: #468847;
|
||||
}
|
||||
.downvotes {
|
||||
display: inline-block;
|
||||
color: #B94A48;
|
||||
}
|
||||
}
|
||||
.votes-block {
|
||||
margin: 14px 6px 6px 0;
|
||||
.downvotes {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.votes-inline {
|
||||
display: inline-block;
|
||||
margin: 0 8px;
|
||||
.progress {
|
||||
display: inline-block;
|
||||
padding: 0 0 2px;
|
||||
width: 45px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Fix for readme code (stopped it from being yellow) */
|
||||
.readme {
|
||||
|
@ -420,7 +297,6 @@ p.time {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
.highlight_word {
|
||||
background: #EEDC94;
|
||||
}
|
||||
|
@ -428,23 +304,16 @@ p.time {
|
|||
.status_info {
|
||||
font-size: 14px;
|
||||
padding: 5px 15px;
|
||||
line-height: 24px;
|
||||
width: 60px;
|
||||
line-height: 26px;
|
||||
text-align: center;
|
||||
float: left;
|
||||
margin-right: 20px;
|
||||
float: right;
|
||||
position: relative;
|
||||
top: -5px;
|
||||
@include border-radius(4px);
|
||||
|
||||
&.success {
|
||||
background: #5BB75B;
|
||||
color: white;
|
||||
text-shadow: 0 1px #111;
|
||||
border-color: #9A9;
|
||||
}
|
||||
&.error {
|
||||
background: #DA4E49;
|
||||
border-color: #BD362F;
|
||||
color: white;
|
||||
text-shadow: 0 1px #111;
|
||||
color: #FFF;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -463,16 +332,6 @@ p.time {
|
|||
height: 150px;
|
||||
}
|
||||
|
||||
.gitlab_pagination {
|
||||
span a { color: $link_color; }
|
||||
.prev, .next, .current, .page a {
|
||||
padding: 10px;
|
||||
}
|
||||
.current {
|
||||
border-bottom: 2px solid $style_color;
|
||||
}
|
||||
}
|
||||
|
||||
// Fixes alignment on notes.
|
||||
.new_note {
|
||||
label {
|
||||
|
@ -647,9 +506,14 @@ pre {
|
|||
}
|
||||
}
|
||||
|
||||
.milestone .progress {
|
||||
margin-bottom: 0;
|
||||
margin-top: 4px;
|
||||
.milestone {
|
||||
&.milestone-closed {
|
||||
background: #eee;
|
||||
}
|
||||
.progress {
|
||||
margin-bottom: 0;
|
||||
margin-top: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.float-link {
|
||||
|
|
26
app/assets/stylesheets/gitlab_bootstrap.scss
Normal file
|
@ -0,0 +1,26 @@
|
|||
/** Override bootstrap variables **/
|
||||
$baseFontSize: 13px !default;
|
||||
$baseLineHeight: 18px !default;
|
||||
|
||||
// BOOTSTRAP
|
||||
@import "bootstrap";
|
||||
@import "bootstrap/responsive-utilities";
|
||||
@import "bootstrap/responsive-1200px-min";
|
||||
|
||||
@import "font-awesome";
|
||||
|
||||
/**
|
||||
* GitLab bootstrap.
|
||||
* Overrides some styles of twitter bootstrap.
|
||||
* Also give some common classes for GitLab app
|
||||
*/
|
||||
@import "gitlab_bootstrap/variables.scss";
|
||||
@import "gitlab_bootstrap/fonts.scss";
|
||||
@import "gitlab_bootstrap/mixins.scss";
|
||||
@import "gitlab_bootstrap/common.scss";
|
||||
@import "gitlab_bootstrap/typography.scss";
|
||||
@import "gitlab_bootstrap/buttons.scss";
|
||||
@import "gitlab_bootstrap/blocks.scss";
|
||||
@import "gitlab_bootstrap/files.scss";
|
||||
@import "gitlab_bootstrap/tables.scss";
|
||||
@import "gitlab_bootstrap/lists.scss";
|
|
@ -31,6 +31,7 @@
|
|||
.middle_box_content,
|
||||
.bottom_box_content {
|
||||
padding: 15px;
|
||||
word-wrap: break-word;
|
||||
|
||||
pre {
|
||||
background: none !important;
|
||||
|
@ -40,6 +41,15 @@
|
|||
}
|
||||
}
|
||||
|
||||
.top_box_content {
|
||||
.box-title {
|
||||
color: $style_color;
|
||||
font-size: 18px;
|
||||
font-weight: normal;
|
||||
line-height: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
.middle_box_content {
|
||||
@include border-radius(0);
|
||||
border: none;
|
||||
|
@ -64,7 +74,7 @@
|
|||
|
||||
border: 1px solid #eaeaea;
|
||||
@include border-radius(4px);
|
||||
|
||||
|
||||
border-color: #CCC;
|
||||
@include solid-shade;
|
||||
|
||||
|
@ -83,6 +93,10 @@
|
|||
border-top: 1px solid #eaeaea;
|
||||
border-bottom: 1px solid #bbb;
|
||||
|
||||
> a {
|
||||
text-shadow: 0 1px 1px #fff;
|
||||
}
|
||||
|
||||
&.small {
|
||||
line-height: 28px;
|
||||
font-size: 14px;
|
||||
|
@ -138,19 +152,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
li, .wll {
|
||||
padding: 10px;
|
||||
&:first-child {
|
||||
@include border-radius(4px 4px 0 0);
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
@include border-radius(0 0 4px 4px);
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
.ui-box-body {
|
||||
padding: 10px;
|
||||
}
|
||||
|
|
|
@ -10,11 +10,6 @@
|
|||
/** COMMON CLASSES **/
|
||||
.left { float:left }
|
||||
.right { float:right!important }
|
||||
.width-50p { width:50% }
|
||||
.width-49p { width:49% }
|
||||
.width-30p { width:30% }
|
||||
.width-65p { width:65% }
|
||||
.width-100p { width:100% }
|
||||
.append-bottom-10 { margin-bottom:10px }
|
||||
.append-bottom-20 { margin-bottom:20px }
|
||||
.prepend-top-10 { margin-top:10px }
|
||||
|
@ -30,6 +25,7 @@
|
|||
.borders { border: 1px solid #ccc; @include shade; }
|
||||
.hint { font-style: italic; color: #999; }
|
||||
.light { color: #888 }
|
||||
.tiny { font-weight: normal }
|
||||
|
||||
/** PILLS & TABS**/
|
||||
.nav-pills a:hover { background-color: #888; }
|
||||
|
@ -99,18 +95,21 @@ input[type='search'].search-text-input {
|
|||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
input[type='text'].danger {
|
||||
background: #F2DEDE!important;
|
||||
border-color: #D66;
|
||||
text-shadow: 0 1px 1px #fff
|
||||
}
|
||||
|
||||
fieldset legend { font-size: 17px; }
|
||||
|
||||
ul.nav.nav-projects-tabs {
|
||||
@extend .nav-tabs;
|
||||
|
||||
padding-left: 8px;
|
||||
|
||||
li {
|
||||
a {
|
||||
padding: 4px 20px;
|
||||
margin-top: 2px;
|
||||
border-color: #DDD;
|
||||
}
|
||||
/** PAGINATION **/
|
||||
.gitlab_pagination {
|
||||
span a { color: $link_color; }
|
||||
.prev, .next, .current, .page a {
|
||||
padding: 10px;
|
||||
}
|
||||
.current {
|
||||
border-bottom: 2px solid $style_color;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,11 +43,15 @@
|
|||
padding: 0 4px;
|
||||
}
|
||||
padding: 20px;
|
||||
h1, h2 {
|
||||
line-height: 46px;
|
||||
}
|
||||
h3, h4 {
|
||||
line-height: 40px;
|
||||
|
||||
h1 { font-size: 26px; line-height: 46px; }
|
||||
h2 { font-size: 22px; line-height: 42px; }
|
||||
h3 { font-size: 20px; line-height: 40px; }
|
||||
h4 { font-size: 18px; line-height: 32px; }
|
||||
h5 { font-size: 16px; line-height: 26px; }
|
||||
|
||||
.white .highlight pre {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,23 +1,38 @@
|
|||
/** LISTS **/
|
||||
|
||||
ul {
|
||||
/**
|
||||
* List li block element #1
|
||||
*
|
||||
*/
|
||||
.wll {
|
||||
/**
|
||||
* Well styled list
|
||||
*
|
||||
*/
|
||||
.well-list {
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
li {
|
||||
background-color: #FFF;
|
||||
padding: 10px 5px;
|
||||
padding: 10px;
|
||||
min-height: 20px;
|
||||
border-bottom: 1px solid #eee;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
||||
|
||||
&.disabled {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
&.smoke { background-color: #f5f5f5; }
|
||||
|
||||
&:hover {
|
||||
background: $hover;
|
||||
border-bottom: 1px solid #ADF;
|
||||
}
|
||||
&:last-child { border:none }
|
||||
|
||||
&:first-child {
|
||||
@include border-radius(4px 4px 0 0);
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
@include border-radius(0 0 4px 4px);
|
||||
border: none;
|
||||
}
|
||||
|
||||
.author { color: #999; }
|
||||
|
||||
p {
|
||||
|
@ -29,6 +44,11 @@ ul {
|
|||
top: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
.well-title {
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,3 +59,17 @@ ol, ul {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** light list with border-bottom between li **/
|
||||
ul.bordered-list {
|
||||
margin: 5px 0px;
|
||||
padding: 0px;
|
||||
li {
|
||||
padding: 5px 0;
|
||||
border-bottom: 1px solid #EEE;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
margin: 0px;
|
||||
&:last-child { border:none }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,4 +57,13 @@
|
|||
|
||||
@mixin solid-shade {
|
||||
@include box-shadow(0 0 0 3px #f1f1f1);
|
||||
}
|
||||
}
|
||||
|
||||
@mixin header-font {
|
||||
color: $style_color;
|
||||
text-shadow: 0 1px 1px #FFF;
|
||||
font-family: 'Korolev', sans-serif;
|
||||
font-size: 28px;
|
||||
line-height: 48px;
|
||||
font-weight: normal;
|
||||
}
|
|
@ -2,4 +2,4 @@
|
|||
$primary_color: #2FA0BB;
|
||||
$link_color: #3A89A3;
|
||||
$style_color: #474D57;
|
||||
$hover: #D9EDF7;
|
||||
$hover: #D9EDF7;
|
|
@ -1,7 +1,8 @@
|
|||
.black .highlight {
|
||||
background-color: #333;
|
||||
pre {
|
||||
background-color: #333;
|
||||
color: #eee;
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
.hll { display: block; background-color: darken($hover, 65%) }
|
||||
|
|
113
app/assets/stylesheets/jquery.ui.gitlab.css
vendored
|
@ -1,27 +1,3 @@
|
|||
/*
|
||||
* jQuery UI CSS Framework 1.8.7
|
||||
*
|
||||
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming/API
|
||||
*/
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden { display: none; }
|
||||
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
|
||||
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
||||
.ui-helper-clearfix { display: inline-block; }
|
||||
/* required comment for clearfix to work in Opera \*/
|
||||
* html .ui-helper-clearfix { height:1%; }
|
||||
.ui-helper-clearfix { display:block; }
|
||||
/* end clearfix */
|
||||
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; }
|
||||
|
@ -140,26 +116,6 @@
|
|||
/* Overlays */
|
||||
.ui-widget-overlay { background: #262b33; opacity: .70;filter:Alpha(Opacity=70); }
|
||||
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #000000; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
/*
|
||||
* jQuery UI Resizable 1.8.7
|
||||
*
|
||||
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Resizable#theming
|
||||
*/
|
||||
.ui-resizable { position: relative;}
|
||||
.ui-resizable-handle { position: absolute; font-size: 0.1px; z-index: 999; display: block;}
|
||||
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
||||
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
||||
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
|
||||
/*
|
||||
* jQuery UI Selectable 1.8.7
|
||||
*
|
||||
|
@ -240,34 +196,7 @@
|
|||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
}
|
||||
/*
|
||||
* jQuery UI Slider 1.8.7
|
||||
*
|
||||
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Slider#theming
|
||||
*/
|
||||
.ui-slider { position: relative; text-align: left; background: #d7d7d7; z-index: 1; }
|
||||
.ui-slider { -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; }
|
||||
.ui-slider .ui-slider-handle { background: url(slider_handles.png) 0px -23px no-repeat; position: absolute; z-index: 2; width: 23px; height: 23px; cursor: default; border: none; outline: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
|
||||
.ui-slider .ui-state-hover, .ui-slider .ui-state-active { background-position: 0 0; }
|
||||
.ui-slider .ui-slider-range { background: #a3cae0; position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
|
||||
.ui-slider .ui-slider-range { -moz-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; -webkit-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; }
|
||||
|
||||
|
||||
.ui-slider-horizontal { height: 5px; }
|
||||
.ui-slider-horizontal .ui-slider-handle { top: -8px; margin-left: -13px; }
|
||||
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
||||
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
||||
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
||||
|
||||
.ui-slider-vertical { width: 5px; height: 100px; }
|
||||
.ui-slider-vertical .ui-slider-handle { left: -8px; margin-left: 0; margin-bottom: -13px; }
|
||||
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
||||
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
||||
.ui-slider-vertical .ui-slider-range-max { top: 0; }
|
||||
/*
|
||||
* jQuery UI Datepicker 1.8.7
|
||||
*
|
||||
|
@ -326,45 +255,3 @@
|
|||
.ui-datepicker table .ui-state-highlight { border-color: #ADE; }
|
||||
.ui-datepicker-calendar .ui-state-default { background: transparent; border-color: #FFF; }
|
||||
.ui-datepicker-calendar .ui-state-active { background: #D9EDF7; border-color: #ADE; color: #3A89A3; font-weight: bold; text-shadow: 0 1px 1px #fff; }
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
||||
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
||||
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
||||
.ui-datepicker-row-break { clear:both; width:100%; }
|
||||
|
||||
|
||||
/* Extra Input Field Styling */
|
||||
.ui-form textarea, .ui-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]) {
|
||||
padding: 3px;
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
border: 1px solid #cecece;
|
||||
outline: none;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset, 0 1px 0 rgba(255,255,255,0.2);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset, 0 1px 0 rgba(255,255,255,0.2);
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset, 0 1px 0 rgba(255,255,255,0.2);
|
||||
-webkit-transition: all 250ms ease-in-out;
|
||||
-moz-transition: all 250ms ease-in-out;
|
||||
-o-transition: all 250ms ease-in-out;
|
||||
transition: all 250ms ease-in-out;
|
||||
}
|
||||
.ui-form textarea:hover, .ui-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):hover {
|
||||
border: 1px solid #bdbdbd;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.2) inset, 0 1px 0 rgba(255,255,255,0.2);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.2) inset, 0 1px 0 rgba(255,255,255,0.2);
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.2) inset, 0 1px 0 rgba(255,255,255,0.2);
|
||||
}
|
||||
.ui-form textarea:focus, .ui-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):focus {
|
||||
border: 1px solid #95bdd4;
|
||||
-webkit-box-shadow: 0 2px 3px rgba(161,202,226,0.5) inset, 0 1px 0 rgba(255,255,255,0.2);
|
||||
-moz-box-shadow: 0 2px 3px rgba(161,202,226,0.5) inset, 0 1px 0 rgba(255,255,255,0.2);
|
||||
box-shadow: 0 2px 3px rgba(161,202,226,0.5) inset, 0 1px 0 rgba(255,255,255,0.2);
|
||||
}
|
||||
|
|
|
@ -1,144 +0,0 @@
|
|||
/** Override bootstrap variables **/
|
||||
$baseFontSize: 13px !default;
|
||||
$baseLineHeight: 18px !default;
|
||||
|
||||
// BOOTSTRAP
|
||||
@import "bootstrap";
|
||||
@import "bootstrap/responsive-utilities";
|
||||
@import "bootstrap/responsive-1200px-min";
|
||||
|
||||
// FONT AWESOME
|
||||
@import "font-awesome";
|
||||
|
||||
/**
|
||||
* Variables
|
||||
* Contains colors
|
||||
*/
|
||||
@import "variables.scss";
|
||||
|
||||
/**
|
||||
* Custom fonts
|
||||
* Contains @font-face font Korolev and default $monotype
|
||||
*/
|
||||
@import "fonts.scss";
|
||||
|
||||
/**
|
||||
* General mixins.
|
||||
* Contains rounded borders, gradients and shades
|
||||
*/
|
||||
@import "mixins.scss";
|
||||
|
||||
/**
|
||||
* Header of application.
|
||||
* Contain application logo, search panel, profile icon
|
||||
*/
|
||||
@import "sections/header.scss";
|
||||
|
||||
/**
|
||||
* Navigation menu of application.
|
||||
* Panel with links to pages depends on project, profile or admin area
|
||||
*/
|
||||
@import "sections/nav.scss";
|
||||
|
||||
/**
|
||||
* This file represent some UI that can be changed
|
||||
* during web app restyle or theme select.
|
||||
*
|
||||
* Next items should be placed there
|
||||
* - link, button colors
|
||||
* - header restyles
|
||||
* - main menu restyles
|
||||
*
|
||||
*/
|
||||
@import "themes/ui_basic.scss";
|
||||
|
||||
/**
|
||||
* UI themes:
|
||||
*/
|
||||
@import "themes/ui_mars.scss";
|
||||
@import "themes/ui_modern.scss";
|
||||
@import "themes/ui_gray.scss";
|
||||
@import "themes/ui_color.scss";
|
||||
|
||||
/**
|
||||
* GitLab bootstrap.
|
||||
* Overrides some styles of twitter bootstrap.
|
||||
* Also give some common classes for GitLab app
|
||||
*/
|
||||
@import "gitlab_bootstrap/common.scss";
|
||||
@import "gitlab_bootstrap/typography.scss";
|
||||
@import "gitlab_bootstrap/buttons.scss";
|
||||
@import "gitlab_bootstrap/blocks.scss";
|
||||
@import "gitlab_bootstrap/files.scss";
|
||||
@import "gitlab_bootstrap/tables.scss";
|
||||
@import "gitlab_bootstrap/lists.scss";
|
||||
|
||||
|
||||
/**
|
||||
* Most of application styles placed here.
|
||||
* This file represent common UI that should not be changed between themes
|
||||
* or project restyling like form width or user avatar class or commit title
|
||||
*
|
||||
* TODO: clean it
|
||||
*/
|
||||
@import "common.scss";
|
||||
|
||||
/**
|
||||
* Styles necessary to support JS behaviours.
|
||||
*/
|
||||
@import "behaviors.scss";
|
||||
|
||||
/**
|
||||
* Styles related to specific part of app
|
||||
*/
|
||||
@import "sections/commits.scss";
|
||||
@import "sections/issues.scss";
|
||||
@import "sections/projects.scss";
|
||||
@import "sections/merge_requests.scss";
|
||||
@import "sections/graph.scss";
|
||||
@import "sections/events.scss";
|
||||
@import "sections/themes.scss";
|
||||
|
||||
/**
|
||||
* This scss file redefine chozen selectbox styles for
|
||||
* project Branch/Tag select element
|
||||
*/
|
||||
@import "ref_select.scss";
|
||||
|
||||
/**
|
||||
* Code (files list) styles. Browsing project files there
|
||||
*/
|
||||
@import "sections/tree.scss";
|
||||
|
||||
/**
|
||||
* This file represent notes(comments) styles
|
||||
*/
|
||||
@import "sections/notes.scss";
|
||||
|
||||
/**
|
||||
* This file represent profile styles
|
||||
*/
|
||||
@import "sections/profile.scss";
|
||||
|
||||
/**
|
||||
* Devise styles
|
||||
*/
|
||||
@import "sections/login.scss";
|
||||
|
||||
/**
|
||||
* CODE HIGHTLIGHT BASE
|
||||
*
|
||||
*/
|
||||
@import "highlight/white.scss";
|
||||
|
||||
/**
|
||||
* CODE HIGHTLIGHT DARK schema
|
||||
*
|
||||
*/
|
||||
@import "highlight/dark.scss";
|
||||
|
||||
/**
|
||||
* File Editor styles
|
||||
*
|
||||
*/
|
||||
@import "sections/editor.scss";
|
|
@ -232,8 +232,6 @@
|
|||
|
||||
/** COMMIT ROW **/
|
||||
.commit {
|
||||
@extend .wll;
|
||||
|
||||
.browse_code_link_holder {
|
||||
@extend .span2;
|
||||
float: right;
|
||||
|
@ -305,3 +303,17 @@
|
|||
color: #fff;
|
||||
font-family: $monospace;
|
||||
}
|
||||
|
||||
|
||||
.commits-compare-switch{
|
||||
background: url("switch_icon.png") no-repeat center center;
|
||||
width: 16px;
|
||||
height: 18px;
|
||||
text-indent: -9999px;
|
||||
float: left;
|
||||
margin-right: 9px;
|
||||
border: 1px solid #DDD;
|
||||
@include border-radius(4px);
|
||||
padding: 4px;
|
||||
background-color: #EEE;
|
||||
}
|
||||
|
|
|
@ -31,7 +31,6 @@
|
|||
*
|
||||
*/
|
||||
.event-item {
|
||||
min-height: 40px;
|
||||
border-bottom: 1px solid #eee;
|
||||
.event-title {
|
||||
color: #333;
|
||||
|
@ -50,14 +49,18 @@
|
|||
}
|
||||
}
|
||||
.avatar {
|
||||
width: 32px;
|
||||
position: relative;
|
||||
top: -3px;
|
||||
}
|
||||
.event_icon {
|
||||
position: relative;
|
||||
float: right;
|
||||
border: 1px solid #EEE;
|
||||
padding: 5px;
|
||||
@include border-radius(5px);
|
||||
background: #F9F9F9;
|
||||
margin-left: 10px;
|
||||
top: -6px;
|
||||
img {
|
||||
width: 20px;
|
||||
}
|
||||
|
@ -71,9 +74,8 @@
|
|||
}
|
||||
}
|
||||
|
||||
padding: 15px 5px;
|
||||
padding: 16px 5px;
|
||||
&:last-child { border:none }
|
||||
.wll:hover { background:none }
|
||||
|
||||
.event_commits {
|
||||
margin-top: 5px;
|
||||
|
|
|
@ -44,14 +44,9 @@ header {
|
|||
background: url('logo_dark.png') no-repeat 0px 2px;
|
||||
float: left;
|
||||
margin-left: 2px;
|
||||
font-size: 30px;
|
||||
line-height: 48px;
|
||||
font-weight: normal;
|
||||
color: $style_color;
|
||||
text-shadow: 0 1px 1px #FFF;
|
||||
padding-left: 45px;
|
||||
height: 40px;
|
||||
font-family: 'Korolev', sans-serif;
|
||||
@include header-font;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -66,12 +61,7 @@ header {
|
|||
float: left;
|
||||
margin: 0;
|
||||
margin-right: 30px;
|
||||
font-size: 30px;
|
||||
line-height: 48px;
|
||||
font-weight: normal;
|
||||
color: $style_color;
|
||||
text-shadow: 0 1px 1px #FFF;
|
||||
font-family: 'Korolev', sans-serif;
|
||||
@include header-font;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -172,7 +162,7 @@ header {
|
|||
display: none;
|
||||
z-index: 100000;
|
||||
@include border-radius(4px);
|
||||
width: 100px;
|
||||
width: 130px;
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 38px;
|
||||
|
@ -181,7 +171,7 @@ header {
|
|||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
a {
|
||||
color: #fff;
|
||||
padding: 7px 10px;
|
||||
padding: 12px 15px;
|
||||
display: block;
|
||||
text-shadow: none;
|
||||
border-bottom: 1px solid #666;
|
||||
|
@ -204,8 +194,8 @@ header {
|
|||
}
|
||||
&:last-child {
|
||||
@include border-radius(0 0 5px 5px);
|
||||
border-bottom: 0;
|
||||
}
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -121,12 +121,3 @@ input.check_all_issues {
|
|||
#update_status {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Milestones list
|
||||
*
|
||||
*/
|
||||
.milestone {
|
||||
@extend .wll;
|
||||
}
|
||||
|
|
|
@ -136,9 +136,3 @@ li.merge_request {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
height: 32px;
|
||||
width: 100%;
|
||||
@include border-radius(5px);
|
||||
}
|
||||
|
|
|
@ -3,15 +3,13 @@
|
|||
*
|
||||
*/
|
||||
ul.main_menu {
|
||||
@include border-radius(4px);
|
||||
margin: auto;
|
||||
margin: 30px 0;
|
||||
border: 1px solid #BBB;
|
||||
margin-top: 10px;
|
||||
border-bottom: 1px solid #DDD;
|
||||
height: 37px;
|
||||
@include bg-gray-gradient;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
@include shade;
|
||||
.count {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
|
@ -24,9 +22,6 @@ ul.main_menu {
|
|||
line-height: 14px;
|
||||
text-align: center;
|
||||
color: #777;
|
||||
background: #f2f2f2;
|
||||
border-top: 1px solid #CCC;
|
||||
@include border-radius(8px);
|
||||
}
|
||||
.label {
|
||||
background: $hover;
|
||||
|
@ -38,23 +33,10 @@ ul.main_menu {
|
|||
margin: 0;
|
||||
display: table-cell;
|
||||
width: 1%;
|
||||
border-right: 1px solid #DDD;
|
||||
border-left: 1px solid #EEE;
|
||||
border-bottom: 2px solid #CFCFCF;
|
||||
|
||||
&:first-child{
|
||||
@include border-radius(5px 0 0 5px);
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
&.active {
|
||||
background-color: #D5D5D5;
|
||||
border-right: 1px solid #BBB;
|
||||
border-left: 1px solid #BBB;
|
||||
@include border-radius(0 0 1px 1px);
|
||||
&:first-child{
|
||||
border-bottom: none;
|
||||
border-left: none;
|
||||
border-bottom: 2px solid #474D57;
|
||||
a {
|
||||
color: $style_color;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -73,10 +55,10 @@ ul.main_menu {
|
|||
a {
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
font-weight: normal;
|
||||
height: 35px;
|
||||
line-height: 36px;
|
||||
color: $style_color;
|
||||
color: #777;
|
||||
text-shadow: 0 1px 1px white;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
|
|
@ -4,12 +4,11 @@
|
|||
}
|
||||
|
||||
.side {
|
||||
@extend .span4;
|
||||
@extend .right;
|
||||
|
||||
.groups_box,
|
||||
.projects_box {
|
||||
h5 {
|
||||
> h5 {
|
||||
color: $style_color;
|
||||
font-size: 16px;
|
||||
text-shadow: 0 1px 1px #fff;
|
||||
|
@ -17,37 +16,22 @@
|
|||
line-height: 32px;
|
||||
font-size: 14px;
|
||||
}
|
||||
ul {
|
||||
li {
|
||||
padding: 0;
|
||||
a {
|
||||
display: block;
|
||||
.group_name {
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
}
|
||||
.project_name {
|
||||
color: #4fa2bd;
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
}
|
||||
.arrow {
|
||||
float: right;
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
}
|
||||
.last_activity {
|
||||
padding-top: 5px;
|
||||
display: block;
|
||||
span, strong {
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
.nav-projects-tabs li { padding: 0; }
|
||||
.well-list {
|
||||
.arrow {
|
||||
float: right;
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
}
|
||||
.last_activity {
|
||||
padding-top: 5px;
|
||||
display: block;
|
||||
span, strong {
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
}
|
||||
@extend .leftbar;
|
||||
@extend .ui-box;
|
||||
}
|
||||
}
|
||||
|
@ -117,3 +101,25 @@
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
ul.nav.nav-projects-tabs {
|
||||
@extend .nav-tabs;
|
||||
|
||||
padding-left: 8px;
|
||||
|
||||
li {
|
||||
a {
|
||||
padding: 4px 20px;
|
||||
margin-top: 2px;
|
||||
border-color: #DDD;
|
||||
background-color: #EEE;
|
||||
text-shadow: 0 1px 1px white;
|
||||
color: #555;
|
||||
}
|
||||
&.active {
|
||||
a {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
9
app/assets/stylesheets/sections/snippets.scss
Normal file
|
@ -0,0 +1,9 @@
|
|||
.snippet.file_holder {
|
||||
.file_title {
|
||||
.snippet-file-name {
|
||||
position: relative;
|
||||
top: -4px;
|
||||
left: -4px;
|
||||
}
|
||||
}
|
||||
}
|
43
app/assets/stylesheets/sections/votes.scss
Normal file
|
@ -0,0 +1,43 @@
|
|||
.votes {
|
||||
font-size: 13px;
|
||||
line-height: 15px;
|
||||
.progress {
|
||||
height: 4px;
|
||||
margin: 0;
|
||||
.bar {
|
||||
float: left;
|
||||
height: 100%;
|
||||
}
|
||||
.bar-success {
|
||||
@include linear-gradient(#62C462, #51A351);
|
||||
background-color: #468847;
|
||||
}
|
||||
.bar-danger {
|
||||
@include linear-gradient(#EE5F5B, #BD362F);
|
||||
background-color: #B94A48;
|
||||
}
|
||||
}
|
||||
.upvotes {
|
||||
display: inline-block;
|
||||
color: #468847;
|
||||
}
|
||||
.downvotes {
|
||||
display: inline-block;
|
||||
color: #B94A48;
|
||||
}
|
||||
}
|
||||
.votes-block {
|
||||
margin: 14px 6px 6px 0;
|
||||
.downvotes {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.votes-inline {
|
||||
display: inline-block;
|
||||
margin: 0 8px;
|
||||
.progress {
|
||||
display: inline-block;
|
||||
padding: 0 0 2px;
|
||||
width: 45px;
|
||||
}
|
||||
}
|
|
@ -4,18 +4,6 @@
|
|||
*
|
||||
*/
|
||||
.ui_basic {
|
||||
/*
|
||||
* Common styles
|
||||
*
|
||||
*/
|
||||
a {
|
||||
color: $link_color;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
color: $primary_color;
|
||||
}
|
||||
}
|
||||
|
||||
.app_logo {
|
||||
.separator {
|
||||
margin-left: 0;
|
||||
|
|