diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 340545364..00fd4dc8d 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -20,7 +20,7 @@ = include_base_css_framework = include_stylesheets :login, :media => 'screen' - = include_stylesheets :default, :media => 'all' + = include_stylesheets :application, :default, :media => 'all' - if rtl? = include_stylesheets :rtl, :media => 'all' diff --git a/app/views/layouts/post.html.haml b/app/views/layouts/post.html.haml index 439400509..181ffc532 100644 --- a/app/views/layouts/post.html.haml +++ b/app/views/layouts/post.html.haml @@ -19,8 +19,7 @@ = page_title yield(:page_title) = include_base_css_framework(:bootstrap) - = include_stylesheets :login, :media => 'screen' - = include_stylesheets :default, :media => 'all' + = include_stylesheets :default, :new_templates, :media => 'all' - if rtl? = include_stylesheets :rtl, :media => 'all' diff --git a/config/assets.yml b/config/assets.yml index 7b649a5ff..01f14d1a2 100644 --- a/config/assets.yml +++ b/config/assets.yml @@ -105,10 +105,10 @@ stylesheets: - public/stylesheets/blueprint/screen.css login: - public/stylesheets/login.css + default: - - public/stylesheets/application.css + - public/stylesheets/media-box.css - public/stylesheets/loader.css - - public/stylesheets/new-templates.css - public/stylesheets/ui.css - public/stylesheets/lightbox.css - public/stylesheets/autocomplete.css @@ -119,6 +119,13 @@ stylesheets: - public/stylesheets/vendor/fileuploader.css - public/stylesheets/vendor/autoSuggest.css - public/stylesheets/interim-bootstrap.css + + application: + - public/stylesheets/application.css + + new_templates: + - public/stylesheets/new-templates.css + rtl: - public/stylesheets/rtl.css diff --git a/public/javascripts/app/models/post.js b/public/javascripts/app/models/post.js index 43252fc0c..7ee899fdb 100644 --- a/public/javascripts/app/models/post.js +++ b/public/javascripts/app/models/post.js @@ -1,7 +1,7 @@ app.models.Post = Backbone.Model.extend({ urlRoot : "/posts", initialize : function() { - this.comments = new app.collections.Comments(this.get("last_three_comments"), {post : this}); + this.comments = new app.collections.Comments(this.get("comments") || this.get("last_three_comments"), {post : this}); this.likes = new app.collections.Likes([], {post : this}); // load in the user like initially this.participations = new app.collections.Participations([], {post : this}); // load in the user like initially }, diff --git a/public/javascripts/app/templates/comment.handlebars b/public/javascripts/app/templates/comment.handlebars index ca3947647..4dcbd68f0 100644 --- a/public/javascripts/app/templates/comment.handlebars +++ b/public/javascripts/app/templates/comment.handlebars @@ -1,28 +1,27 @@ -
+{{#if canRemove}} +
+ + Deletelabel + +
+{{/if}} - {{#if canRemove}} -
- - Deletelabel - -
- {{/if}} +
+ + + +
- - +
+ + {{author.name}} -
- - {{author.name}} - +
+ {{{text}}} +
-
- {{{text}}} -
- -
-
+
+
diff --git a/public/javascripts/app/templates/post-viewer/comment.handlebars b/public/javascripts/app/templates/post-viewer/comment.handlebars new file mode 100644 index 000000000..e8ee97936 --- /dev/null +++ b/public/javascripts/app/templates/post-viewer/comment.handlebars @@ -0,0 +1,15 @@ + + +
+ + {{author.name}} + + +
+ {{{text}}} +
+
diff --git a/public/javascripts/app/templates/post-viewer/interactions.handlebars b/public/javascripts/app/templates/post-viewer/interactions.handlebars index b183ac42f..e46b013e3 100644 --- a/public/javascripts/app/templates/post-viewer/interactions.handlebars +++ b/public/javascripts/app/templates/post-viewer/interactions.handlebars @@ -1,15 +1,8 @@ -
+
diff --git a/public/javascripts/app/templates/post-viewer/new-comment.handlebars b/public/javascripts/app/templates/post-viewer/new-comment.handlebars new file mode 100644 index 000000000..f16af3c6a --- /dev/null +++ b/public/javascripts/app/templates/post-viewer/new-comment.handlebars @@ -0,0 +1,9 @@ +
+
+ + +
+
diff --git a/public/javascripts/app/templates/post-viewer/reactions.handlebars b/public/javascripts/app/templates/post-viewer/reactions.handlebars index bd9474ecf..e50842820 100644 --- a/public/javascripts/app/templates/post-viewer/reactions.handlebars +++ b/public/javascripts/app/templates/post-viewer/reactions.handlebars @@ -55,26 +55,5 @@
{{/if}} -
- {{#each last_three_comments}} -
-
- - - -
+
-
-
- - {{author.name}} - -
- -
- {{text}} -
-
-
- {{/each}} -
diff --git a/public/javascripts/app/views/comment_stream_view.js b/public/javascripts/app/views/comment_stream_view.js index 223451eba..bcadbc317 100644 --- a/public/javascripts/app/views/comment_stream_view.js +++ b/public/javascripts/app/views/comment_stream_view.js @@ -12,6 +12,7 @@ app.views.CommentStream = app.views.Base.extend({ initialize: function(options) { this.model.comments.bind('add', this.appendComment, this); + this.commentTemplate = options.commentTemplate; }, postRenderTemplate : function() { diff --git a/public/javascripts/app/views/comment_view.js b/public/javascripts/app/views/comment_view.js index 8c36dfa1c..3560df1b5 100644 --- a/public/javascripts/app/views/comment_view.js +++ b/public/javascripts/app/views/comment_view.js @@ -2,7 +2,7 @@ app.views.Comment = app.views.Content.extend({ templateName: "comment", - className : "comment", + className : "comment media", events : { "click .comment_delete": "destroyModel" diff --git a/public/javascripts/app/views/post_interactions_view.js b/public/javascripts/app/views/post_interactions_view.js index 684e11555..6c6b5f1ea 100644 --- a/public/javascripts/app/views/post_interactions_view.js +++ b/public/javascripts/app/views/post_interactions_view.js @@ -4,7 +4,8 @@ app.views.PostViewerInteractions = app.views.Base.extend({ subviews : { "#post-feedback" : "feedbackView", - "#post-reactions" : "reactionsView" + "#post-reactions" : "reactionsView", + "#new-post-comment" : "newCommentView" }, templateName: "post-viewer/interactions", @@ -15,7 +16,11 @@ app.views.PostViewerInteractions = app.views.Base.extend({ }, reactionsView : function() { - if(!window.app.user()) { return null } return new app.views.PostViewerReactions({ model : this.model }) + }, + + newCommentView : function() { + if(!window.app.user()) { return null } + return new app.views.PostViewerNewComment({ model : this.model }) } }) diff --git a/public/javascripts/app/views/post_new_comment_view.js b/public/javascripts/app/views/post_new_comment_view.js new file mode 100644 index 000000000..eab44360e --- /dev/null +++ b/public/javascripts/app/views/post_new_comment_view.js @@ -0,0 +1,49 @@ +app.views.PostViewerNewComment = app.views.Base.extend({ + + templateName: "post-viewer/new-comment", + + events : { + "click button" : "createComment", + "focus textarea" : "scrollToBottom" + }, + + scrollableArea : "#post-reactions", + + postRenderTemplate : function() { + this.$("textarea").placeholder(); + this.$("textarea").autoResize({'extraSpace' : 0}); + }, + + createComment: function(evt) { + if(evt){ evt.preventDefault(); } + + var self = this; + + this.toggleFormState() + this.model.comments.create({ + "text" : this.$("textarea").val() + }, {success : _.bind(self.clearAndReactivateForm, self)}); + + }, + + clearAndReactivateForm : function() { + this.model.trigger("interacted") + this.toggleFormState() + this.$("textarea").val("") + this.$("textarea").css('height', '18px') + + /* scroll to bottom without animation */ + $(this.scrollableArea).scrollTop($(this.scrollableArea).prop("scrollHeight")) + + this.$("textarea").focus() + }, + + toggleFormState : function() { + this.$("form").children().toggleClass('disabled') + }, + + scrollToBottom : function() { + $(this.scrollableArea).animate({ scrollTop: $(this.scrollableArea).prop("scrollHeight") }, 1000); + } + +}) diff --git a/public/javascripts/app/views/post_reactions_view.js b/public/javascripts/app/views/post_reactions_view.js index 700dd0d61..791d90f2b 100644 --- a/public/javascripts/app/views/post_reactions_view.js +++ b/public/javascripts/app/views/post_reactions_view.js @@ -4,10 +4,29 @@ app.views.PostViewerReactions = app.views.Base.extend({ templateName: "post-viewer/reactions", - events : { }, - initialize : function() { this.model.bind('interacted', this.render, this); }, + postRenderTemplate : function() { + this.populateComments() + }, + + /* copy pasta from commentStream */ + populateComments : function() { + this.model.comments.each(this.appendComment, this) + }, + + /* copy pasta from commentStream */ + appendComment: function(comment) { + // Set the post as the comment's parent, so we can check + // on post ownership in the Comment view. + comment.set({parent : this.model.toJSON()}) + + this.$("#post-comments").append(new app.views.Comment({ + model: comment, + className : "post-comment media" + }).render().el); + } + }) diff --git a/public/stylesheets/bootstrap.css b/public/stylesheets/bootstrap.css index a90e31930..c3e0c0053 100644 --- a/public/stylesheets/bootstrap.css +++ b/public/stylesheets/bootstrap.css @@ -1,5 +1,5 @@ /*! - * Bootstrap v2.0.0 + * Bootstrap v2.0.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 @@ -33,7 +33,7 @@ html { -ms-text-size-adjust: 100%; } a:focus { - outline: thin dotted; + outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } @@ -94,6 +94,16 @@ textarea { overflow: auto; vertical-align: top; } +.clearfix { + *zoom: 1; +} +.clearfix:before, .clearfix:after { + display: table; + content: ""; +} +.clearfix:after { + clear: both; +} body { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; @@ -212,40 +222,40 @@ a:hover { .row-fluid > [class*="span"]:first-child { margin-left: 0; } -.row-fluid .span1 { +.row-fluid > .span1 { width: 6.382978723%; } -.row-fluid .span2 { +.row-fluid > .span2 { width: 14.89361702%; } -.row-fluid .span3 { +.row-fluid > .span3 { width: 23.404255317%; } -.row-fluid .span4 { +.row-fluid > .span4 { width: 31.914893614%; } -.row-fluid .span5 { +.row-fluid > .span5 { width: 40.425531911%; } -.row-fluid .span6 { +.row-fluid > .span6 { width: 48.93617020799999%; } -.row-fluid .span7 { +.row-fluid > .span7 { width: 57.446808505%; } -.row-fluid .span8 { +.row-fluid > .span8 { width: 65.95744680199999%; } -.row-fluid .span9 { +.row-fluid > .span9 { width: 74.468085099%; } -.row-fluid .span10 { +.row-fluid > .span10 { width: 82.97872339599999%; } -.row-fluid .span11 { +.row-fluid > .span11 { width: 91.489361693%; } -.row-fluid .span12 { +.row-fluid > .span12 { width: 99.99999998999999%; } .container { @@ -374,7 +384,7 @@ ol { li { line-height: 18px; } -ul.unstyled { +ul.unstyled, ol.unstyled { margin-left: 0; list-style: none; } @@ -393,7 +403,7 @@ dd { hr { margin: 18px 0; border: 0; - border-top: 1px solid #e5e5e5; + border-top: 1px solid #eeeeee; border-bottom: 1px solid #ffffff; } strong { @@ -488,13 +498,20 @@ pre { white-space: pre; white-space: pre-wrap; word-break: break-all; + word-wrap: break-word; } pre.prettyprint { margin-bottom: 18px; } pre code { padding: 0; + color: inherit; background-color: transparent; + border: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } form { margin: 0 0 18px; @@ -515,16 +532,25 @@ legend { border: 0; border-bottom: 1px solid #eee; } +legend small { + font-size: 13.5px; + color: #999999; +} label, input, button, select, textarea { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; line-height: 18px; } +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} label { display: block; margin-bottom: 5px; @@ -563,13 +589,19 @@ input[type="image"], input[type="checkbox"], input[type="radio"] { /* IE7 */ line-height: normal; - border: 0; cursor: pointer; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; + border: 0 \9; + /* IE9 and down */ + +} +input[type="image"] { + border: 0; } input[type="file"] { + width: auto; padding: initial; line-height: initial; border: initial; @@ -592,6 +624,9 @@ select, input[type="file"] { line-height: 28px; } +input[type="file"] { + line-height: 18px \9; +} select { width: 220px; background-color: #ffffff; @@ -622,15 +657,13 @@ input[type="hidden"] { } .radio.inline, .checkbox.inline { display: inline-block; + padding-top: 5px; margin-bottom: 0; vertical-align: middle; } .radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline { margin-left: 10px; } -.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child { - padding-top: 0; -} input, textarea { -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); @@ -648,14 +681,17 @@ input:focus, textarea:focus { box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); outline: 0; outline: thin dotted \9; - /* IE6-8 */ + /* IE6-9 */ } -input[type="file"]:focus, input[type="checkbox"]:focus, select:focus { +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus, +select:focus { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; - outline: thin dotted; + outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } @@ -817,6 +853,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec color: #999999; } .help-block { + display: block; margin-top: 5px; margin-bottom: 0; color: #999999; @@ -898,6 +935,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec border-radius: 3px 0 0 3px; } .input-append .uneditable-input { + border-left-color: #eee; border-right-color: #ccc; } .input-append .add-on { @@ -939,6 +977,9 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec display: inline-block; margin-bottom: 0; } +.form-search .hide, .form-inline .hide, .form-horizontal .hide { + display: none; +} .form-search label, .form-inline label, .form-search .input-append, @@ -953,10 +994,17 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec .form-inline .input-prepend .add-on { vertical-align: middle; } +.form-search .radio, +.form-inline .radio, +.form-search .checkbox, +.form-inline .checkbox { + margin-bottom: 0; + vertical-align: middle; +} .control-group { margin-bottom: 9px; } -.form-horizontal legend + .control-group { +legend + .control-group { margin-top: 18px; -webkit-margin-top-collapse: separate; } @@ -971,7 +1019,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec .form-horizontal .control-group:after { clear: both; } -.form-horizontal .control-group > label { +.form-horizontal .control-label { float: left; width: 140px; padding-top: 5px; @@ -996,14 +1044,14 @@ table { padding: 8px; line-height: 18px; text-align: left; + vertical-align: top; border-top: 1px solid #ddd; } .table th { font-weight: bold; - vertical-align: bottom; } -.table td { - vertical-align: top; +.table thead th { + vertical-align: bottom; } .table thead:first-child tr th, .table thead:first-child tr td { border-top: 0; @@ -1054,6 +1102,9 @@ table { .table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th { background-color: #f9f9f9; } +.table tbody tr:hover td, .table tbody tr:hover th { + background-color: #f5f5f5; +} table .span1 { float: none; width: 44px; @@ -1114,21 +1165,22 @@ table .span12 { width: 924px; margin-left: 0; } -[class^="icon-"] { +[class^="icon-"], [class*=" icon-"] { display: inline-block; width: 14px; height: 14px; + line-height: 14px; vertical-align: text-top; - background-image: url(../img/glyphicons-halflings.png); + background-image: url("../img/glyphicons-halflings.png"); background-position: 14px 14px; background-repeat: no-repeat; *margin-right: .3em; } -[class^="icon-"]:last-child { +[class^="icon-"]:last-child, [class*=" icon-"]:last-child { *margin-left: 0; } .icon-white { - background-image: url(../img/glyphicons-halflings-white.png); + background-image: url("../img/glyphicons-halflings-white.png"); } .icon-glass { background-position: 0 0; @@ -1529,7 +1581,6 @@ table .span12 { float: left; display: none; min-width: 160px; - max-width: 220px; _width: 160px; padding: 4px 0; margin: 0; @@ -1658,20 +1709,25 @@ table .span12 { .btn { display: inline-block; padding: 4px 10px 4px; + margin-bottom: 0; font-size: 13px; line-height: 18px; color: #333333; text-align: center; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - background-color: #fafafa; - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); - background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6); - background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); - background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); - background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); - background-repeat: no-repeat; + vertical-align: middle; + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); border: 1px solid #ccc; border-bottom-color: #bbb; -webkit-border-radius: 4px; @@ -1681,8 +1737,19 @@ table .span12 { -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); cursor: pointer; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); *margin-left: .3em; } +.btn:hover, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { + background-color: #e6e6e6; +} +.btn:active, .btn.active { + background-color: #cccccc \9; +} .btn:first-child { *margin-left: 0; } @@ -1698,7 +1765,7 @@ table .span12 { transition: background-position 0.1s linear; } .btn:focus { - outline: thin dotted; + outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } @@ -1709,7 +1776,6 @@ table .span12 { box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); background-color: #e6e6e6; background-color: #d9d9d9 \9; - color: rgba(0, 0, 0, 0.5); outline: 0; } .btn.disabled, .btn[disabled] { @@ -1730,7 +1796,7 @@ table .span12 { -moz-border-radius: 5px; border-radius: 5px; } -.btn-large .icon { +.btn-large [class^="icon-"] { margin-top: 1px; } .btn-small { @@ -1738,9 +1804,14 @@ table .span12 { font-size: 11px; line-height: 16px; } -.btn-small .icon { +.btn-small [class^="icon-"] { margin-top: -1px; } +.btn-mini { + padding: 2px 6px; + font-size: 11px; + line-height: 14px; +} .btn-primary, .btn-primary:hover, .btn-warning, @@ -1750,7 +1821,9 @@ table .span12 { .btn-success, .btn-success:hover, .btn-info, -.btn-info:hover { +.btn-info:hover, +.btn-inverse, +.btn-inverse:hover { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); color: #ffffff; } @@ -1758,7 +1831,8 @@ table .span12 { .btn-warning.active, .btn-danger.active, .btn-success.active, -.btn-info.active { +.btn-info.active, +.btn-dark.active { color: rgba(255, 255, 255, 0.75); } .btn-primary { @@ -1881,6 +1955,30 @@ table .span12 { .btn-info:active, .btn-info.active { background-color: #24748c \9; } +.btn-inverse { + background-color: #393939; + background-image: -moz-linear-gradient(top, #454545, #262626); + background-image: -ms-linear-gradient(top, #454545, #262626); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); + background-image: -webkit-linear-gradient(top, #454545, #262626); + background-image: -o-linear-gradient(top, #454545, #262626); + background-image: linear-gradient(top, #454545, #262626); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); + border-color: #262626 #262626 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-inverse:hover, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { + background-color: #262626; +} +.btn-inverse:active, .btn-inverse.active { + background-color: #0c0c0c \9; +} button.btn, input[type="submit"].btn { *padding-top: 2px; *padding-bottom: 2px; @@ -2013,7 +2111,8 @@ button.btn.small, input[type="submit"].btn.small { .btn-primary .caret, .btn-danger .caret, .btn-info .caret, -.btn-success .caret { +.btn-success .caret, +.btn-inverse .caret { border-top-color: #ffffff; opacity: 0.75; filter: alpha(opacity=75); @@ -2086,27 +2185,31 @@ button.btn.small, input[type="submit"].btn.small { text-decoration: none; background-color: #eeeeee; } +.nav .nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 18px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} +.nav li + .nav-header { + margin-top: 9px; +} .nav-list { padding-left: 14px; padding-right: 14px; margin-bottom: 0; } .nav-list > li > a, .nav-list .nav-header { - display: block; - padding: 3px 15px; margin-left: -15px; margin-right: -15px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); } -.nav-list .nav-header { - font-size: 11px; - font-weight: bold; - line-height: 18px; - color: #999999; - text-transform: uppercase; -} -.nav-list > li + .nav-header { - margin-top: 9px; +.nav-list > li > a { + padding: 3px 15px; } .nav-list .active > a, .nav-list .active > a:hover { color: #ffffff; @@ -2256,6 +2359,9 @@ button.btn.small, input[type="submit"].btn.small { .tabbable:after { clear: both; } +.tab-content { + overflow: hidden; +} .tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs { border-bottom: 0; } @@ -2451,6 +2557,13 @@ button.btn.small, input[type="submit"].btn.small { .navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] { margin-top: 3px; } +.navbar-form .input-append, .navbar-form .input-prepend { + margin-top: 6px; + white-space: nowrap; +} +.navbar-form .input-append input, .navbar-form .input-prepend input { + margin-top: 0; +} .navbar-search { position: relative; float: left; @@ -2544,7 +2657,6 @@ button.btn.small, input[type="submit"].btn.small { color: #ffffff; text-decoration: none; background-color: #222222; - background-color: rgba(0, 0, 0, 0.5); } .navbar .divider-vertical { height: 40px; @@ -2631,7 +2743,7 @@ button.btn.small, input[type="submit"].btn.small { box-shadow: inset 0 1px 0 #ffffff; } .breadcrumb li { - display: inline; + display: inline-block; text-shadow: 0 1px 0 #ffffff; } .breadcrumb .divider { @@ -2810,6 +2922,9 @@ button.btn.small, input[type="submit"].btn.small { .modal-body { padding: 15px; } +.modal-body .modal-form { + margin-bottom: 0; +} .modal-footer { padding: 14px 15px 15px; margin-bottom: 0; @@ -3045,28 +3160,44 @@ a.thumbnail:hover { padding: 9px; } .label { - padding: 1px 3px 2px; - font-size: 9.75px; + padding: 2px 4px 3px; + font-size: 11.049999999999999px; font-weight: bold; color: #ffffff; - text-transform: uppercase; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #999999; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } +.label:hover { + color: #ffffff; + text-decoration: none; +} .label-important { background-color: #b94a48; } +.label-important:hover { + background-color: #953b39; +} .label-warning { background-color: #f89406; } +.label-warning:hover { + background-color: #c67605; +} .label-success { background-color: #468847; } +.label-success:hover { + background-color: #356635; +} .label-info { background-color: #3a87ad; } +.label-info:hover { + background-color: #2d6987; +} @-webkit-keyframes progress-bar-stripes { from { background-position: 0 0; diff --git a/public/stylesheets/sass/application.sass b/public/stylesheets/sass/application.sass index cee46c3c5..08b14d174 100644 --- a/public/stylesheets/sass/application.sass +++ b/public/stylesheets/sass/application.sass @@ -2821,4 +2821,4 @@ a.toggle_selector :color #999 a :color #666 - :color #666 \ No newline at end of file + :color #666 diff --git a/public/stylesheets/sass/media-box.scss b/public/stylesheets/sass/media-box.scss new file mode 100644 index 000000000..2c11626d9 --- /dev/null +++ b/public/stylesheets/sass/media-box.scss @@ -0,0 +1,17 @@ +.media { margin: 10px; } + +.media, +.bd { + overflow: hidden; + _overflow: visible; + zoom: 1; +} + +.media .img { + float: left; + margin-right: 10px; +} + +.media .img img { display: block } +.media .imgEt { float: right; margin-left: 10px; } + diff --git a/public/stylesheets/sass/new-templates.scss b/public/stylesheets/sass/new-templates.scss index 7d6c8d21a..8cff27b99 100644 --- a/public/stylesheets/sass/new-templates.scss +++ b/public/stylesheets/sass/new-templates.scss @@ -44,7 +44,7 @@ $light-grey: #999; border-radius: $top $top $bottom $bottom; } -@mixin transition($type, $speed) { +@mixin transition($type, $speed:0.2s) { -o-transition: $type $speed; -moz-transition: $type $speed; -webkit-transition: $type $speed; @@ -379,11 +379,23 @@ $light-grey: #999; } #new-post-comment-container { + position: relative; + padding: 10px; textarea{ - width: 390px; height: 18px; + width: 300px; + } + + form { + margin-bottom: 0; + } + + .btn { + position: absolute; + right: 10px; + bottom: 10px; } } } @@ -410,6 +422,36 @@ $light-grey: #999; a { color: inherit; } + + time { + color: #666; + font-size: smaller; + } + + .controls { + @include transition(opacity); + @include opacity(0); + + float: right; + margin-right: -40px; + + a { + padding: 3px 5px; + &:hover { + text-decoration: none; + } + } + } + + &:hover { + .controls { + @include opacity(0.3); + + &:hover { + @include opacity(1); + } + } + } } #user-controls {