+
+ {{author.name}}
-
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 @@
+
+
+
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}}
-
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 {