Styling blurblogs. Adding bootstrap dropdown to menu.

This commit is contained in:
Samuel Clay 2013-01-15 13:46:37 -08:00
parent 8da8802997
commit f4edd12513
16 changed files with 7241 additions and 391 deletions

View file

@ -52,7 +52,8 @@ javascripts:
- media/js/vendor/jquery.effects.core.js
- media/js/vendor/jquery.effects.slideOffscreen.js
# - media/js/vendor/jquery.linkify.js
- media/js/vendor/bootstrap.*.js
- media/js/vendor/bootstrap-tooltip.js
- media/js/vendor/bootstrap-*.js
- media/js/vendor/audio.js
- media/js/vendor/socket.io-client.*.js
- media/js/vendor/inflector.js
@ -104,6 +105,8 @@ javascripts:
- media/js/vendor/backbone-*.js
- media/js/vendor/jquery.tipsy.js
- media/js/vendor/inflector.js
- media/js/vendor/bootstrap-tooltip.js
- media/js/vendor/bootstrap-*.js
- media/js/newsblur/social_page/*.js
- media/js/newsblur/models/comments.js
- media/js/newsblur/views/story_share_view.js
@ -131,3 +134,4 @@ stylesheets:
blurblog:
- media/css/jquery.tipsy.css
- media/css/circular/css/social_page.css
- media/css/vendor/bootstrap-*.css

View file

@ -55,7 +55,7 @@ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav,
}
body {
background: #ebedee url('/../../../media/img/circular/background.png?1357930476') repeat 0 0;
background: #ebedee url('/../../../media/img/circular/background.png?1358278238') repeat 0 0;
font-family: Helvetica, arial, sans-serif;
color: #333333;
}
@ -105,8 +105,8 @@ a:active {
blockquote {
background-color: #F0F0F0;
border-left: 1px solid #9B9B9B;
padding: .5em 2em;
border-left: 1px solid #9b9b9b;
padding: 0.5em 2em;
margin: 10px;
}
@ -161,20 +161,16 @@ blockquote {
.NB-blue-button {
border: 1px solid #4388b5;
-webkit-border-radius: 4px 4px;
-moz-border-radius: 4px / 4px;
border-radius: 4px / 4px;
-webkit-box-shadow: inset 0px 0px 2px #80c5f2;
-moz-box-shadow: inset 0px 0px 2px #80c5f2;
box-shadow: inset 0px 0px 2px #80c5f2;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6eb4e3), color-stop(100%, #4d98d2));
background-image: -webkit-linear-gradient(#6eb4e3, #4d98d2);
background-image: -moz-linear-gradient(#6eb4e3, #4d98d2);
background-image: -o-linear-gradient(#6eb4e3, #4d98d2);
background-image: linear-gradient(#6eb4e3, #4d98d2);
-webkit-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, #70b5e3 0 2px 1px inset;
-moz-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, #70b5e3 0 2px 1px inset;
box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, #70b5e3 0 2px 1px inset;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
-ms-border-radius: 2px;
-o-border-radius: 2px;
border-radius: 2px;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6bb1e0), color-stop(100%, #5aa1d8));
background-image: -webkit-linear-gradient(#6bb1e0, #5aa1d8);
background-image: -moz-linear-gradient(#6bb1e0, #5aa1d8);
background-image: -o-linear-gradient(#6bb1e0, #5aa1d8);
background-image: linear-gradient(#6bb1e0, #5aa1d8);
color: white;
height: 20px;
line-height: 20px;
@ -185,13 +181,15 @@ blockquote {
font-weight: normal;
}
.NB-blue-button:hover {
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6bb1e0), color-stop(100%, #6bb1e0));
background-image: -webkit-linear-gradient(#6bb1e0, #6bb1e0);
background-image: -moz-linear-gradient(#6bb1e0, #6bb1e0);
background-image: -o-linear-gradient(#6bb1e0, #6bb1e0);
background-image: linear-gradient(#6bb1e0, #6bb1e0);
border: 1px solid #3573a5;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5aa1d8), color-stop(100%, #4d98d2));
background-image: -webkit-linear-gradient(#5aa1d8, #4d98d2);
background-image: -moz-linear-gradient(#5aa1d8, #4d98d2);
background-image: -o-linear-gradient(#5aa1d8, #4d98d2);
background-image: linear-gradient(#5aa1d8, #4d98d2);
}
.NB-blue-button:active {
border: 1px solid #2b5c84;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d98d2), color-stop(100%, #4d98d2));
background-image: -webkit-linear-gradient(#4d98d2, #4d98d2);
background-image: -moz-linear-gradient(#4d98d2, #4d98d2);
@ -201,23 +199,25 @@ blockquote {
-moz-box-shadow: inset 0px 0px 10px #1f74b8;
box-shadow: inset 0px 0px 10px #1f74b8;
}
@media screen and (max-width: 480px) {
.NB-blue-button {
font-size: 14px;
}
}
.NB-grey-button {
border: 1px solid #bdbdbd;
-webkit-border-radius: 4px 4px;
-moz-border-radius: 4px / 4px;
border-radius: 4px / 4px;
-webkit-box-shadow: inset 0px 0px 2px white;
-moz-box-shadow: inset 0px 0px 2px white;
box-shadow: inset 0px 0px 2px white;
-webkit-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, white 0 2px 1px inset;
-moz-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, white 0 2px 1px inset;
box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, white 0 2px 1px inset;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #f6f6f6));
background-image: -webkit-linear-gradient(#ffffff, #f6f6f6);
background-image: -moz-linear-gradient(#ffffff, #f6f6f6);
background-image: -o-linear-gradient(#ffffff, #f6f6f6);
background-image: linear-gradient(#ffffff, #f6f6f6);
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
-ms-border-radius: 2px;
-o-border-radius: 2px;
border-radius: 2px;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfcfc), color-stop(100%, #f2f2f2));
background-image: -webkit-linear-gradient(#fcfcfc, #f2f2f2);
background-image: -moz-linear-gradient(#fcfcfc, #f2f2f2);
background-image: -o-linear-gradient(#fcfcfc, #f2f2f2);
background-image: linear-gradient(#fcfcfc, #f2f2f2);
text-shadow: 0px -1px 0px white;
color: gray;
height: 20px;
line-height: 20px;
@ -228,13 +228,15 @@ blockquote {
font-weight: normal;
}
.NB-grey-button:hover {
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #ffffff));
background-image: -webkit-linear-gradient(#f6f6f6, #ffffff);
background-image: -moz-linear-gradient(#f6f6f6, #ffffff);
background-image: -o-linear-gradient(#f6f6f6, #ffffff);
background-image: linear-gradient(#f6f6f6, #ffffff);
border: 1px solid #ababab;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #e5e5e5));
background-image: -webkit-linear-gradient(#f8f8f8, #e5e5e5);
background-image: -moz-linear-gradient(#f8f8f8, #e5e5e5);
background-image: -o-linear-gradient(#f8f8f8, #e5e5e5);
background-image: linear-gradient(#f8f8f8, #e5e5e5);
}
.NB-grey-button:active {
border: 1px solid #9d9d9d;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9e9e9), color-stop(100%, #e9e9e9));
background-image: -webkit-linear-gradient(#e9e9e9, #e9e9e9);
background-image: -moz-linear-gradient(#e9e9e9, #e9e9e9);
@ -246,6 +248,11 @@ blockquote {
text-shadow: 0px -1px 1px white;
color: #333333;
}
@media screen and (max-width: 480px) {
.NB-grey-button {
font-size: 14px;
}
}
.NB-header {
-webkit-box-shadow: 0px 0px 10px #7d7d7d;
@ -275,15 +282,15 @@ blockquote {
min-width: 300px;
margin: 0 auto;
}
.NB-header ul {
.NB-header .NB-header-tabs {
margin: 0 70px;
}
@media screen and (max-width: 480px) {
.NB-header ul {
.NB-header .NB-header-tabs {
margin: 0 0;
}
}
.NB-header ul li {
.NB-header .NB-header-tabs .NB-header-tab {
height: 44px;
float: left;
vertical-align: top;
@ -299,59 +306,59 @@ blockquote {
text-shadow: 0px 1px 1px white;
cursor: pointer;
}
.NB-header ul li:first-child {
.NB-header .NB-header-tabs .NB-header-tab:first-child {
border-left: 1px solid #cdcdcd;
}
@media screen and (max-width: 480px) {
.NB-header ul li {
.NB-header .NB-header-tabs .NB-header-tab {
height: 60px;
font-size: 11px;
}
.NB-header ul li:last-child {
.NB-header .NB-header-tabs .NB-header-tab:last-child {
border-right: none;
}
.NB-header ul li:first-child {
.NB-header .NB-header-tabs .NB-header-tab:first-child {
border-left: none;
}
}
.NB-header ul li.NB-active {
.NB-header .NB-header-tabs .NB-header-tab.NB-active {
cursor: default;
background: url('/../../../media/img/circular/header_highlight_border.png?1357930476') no-repeat center bottom;
background: url('/../../../media/img/circular/header_highlight_border.png?1358278238') no-repeat center bottom;
}
.NB-header ul li.NB-active div.NB-tab-inner {
.NB-header .NB-header-tabs .NB-header-tab.NB-active div.NB-tab-inner {
color: #62a4d3;
}
.NB-header ul li:hover div.NB-tab-inner {
.NB-header .NB-header-tabs .NB-header-tab:hover div.NB-tab-inner, .NB-header .NB-header-tabs .NB-header-tab.open div.NB-tab-inner {
color: #62a4d3;
}
.NB-header ul li div.NB-tab-inner {
.NB-header .NB-header-tabs .NB-header-tab div.NB-tab-inner {
display: inline-block;
line-height: 44px;
}
@media screen and (max-width: 480px) {
.NB-header ul li div.NB-tab-inner {
.NB-header .NB-header-tabs .NB-header-tab div.NB-tab-inner {
line-height: 28px;
}
}
.NB-header ul li img.NB-arrow {
.NB-header .NB-header-tabs .NB-header-tab img.NB-arrow {
float: right;
margin-right: -8px;
margin-left: 4px;
}
@media screen and (max-width: 480px) {
.NB-header ul li img.NB-arrow {
.NB-header .NB-header-tabs .NB-header-tab img.NB-arrow {
display: none;
}
}
.NB-header ul li img.NB-user-avatar {
.NB-header .NB-header-tabs .NB-header-tab img.NB-user-avatar {
height: 16px;
width: 16px;
-webkit-border-radius: 3px 3px;
-moz-border-radius: 3px / 3px;
border-radius: 3px / 3px;
}
.NB-header ul li img,
.NB-header ul li .NB-icon {
.NB-header .NB-header-tabs .NB-header-tab img,
.NB-header .NB-header-tabs .NB-header-tab .NB-icon {
float: left;
margin-top: 13px;
margin-right: 7px;
@ -359,43 +366,43 @@ blockquote {
height: 17px;
}
@media screen and (max-width: 480px) {
.NB-header ul li img,
.NB-header ul li .NB-icon {
.NB-header .NB-header-tabs .NB-header-tab img,
.NB-header .NB-header-tabs .NB-header-tab .NB-icon {
float: none;
display: block;
margin: 10px auto 0;
}
}
.NB-header ul li.NB-blurblog-tab .NB-icon {
background: url('/../../../media/img/circular/header/icon_activity.png?1357949866') no-repeat center bottom;
.NB-header .NB-header-tabs .NB-header-tab.NB-blurblog-tab .NB-icon {
background: url('/../../../media/img/circular/header/icon_activity.png?1358278259') no-repeat center bottom;
background-size: 17px;
}
.NB-header ul li.NB-active.NB-blurblog-tab .NB-icon, .NB-header ul li.NB-blurblog-tab:hover .NB-icon {
background: url('/../../../media/img/circular/header/icon_activity_active.png?1357949934') no-repeat center bottom;
.NB-header .NB-header-tabs .NB-header-tab.NB-active.NB-blurblog-tab .NB-icon, .NB-header .NB-header-tabs .NB-header-tab.NB-blurblog-tab:hover .NB-icon {
background: url('/../../../media/img/circular/header/icon_activity_active.png?1358278259') no-repeat center bottom;
background-size: 17px;
}
.NB-header ul li.NB-trending-tab .NB-icon {
background: url('/../../../media/img/circular/header/icon_trending.png?1357949986') no-repeat center bottom;
.NB-header .NB-header-tabs .NB-header-tab.NB-trending-tab .NB-icon {
background: url('/../../../media/img/circular/header/icon_trending.png?1358278259') no-repeat center bottom;
background-size: 17px;
}
.NB-header ul li.NB-active.NB-trending-tab .NB-icon, .NB-header ul li.NB-trending-tab:hover .NB-icon {
background: url('/../../../media/img/circular/header/icon_trending_active.png?1357949967') no-repeat center bottom;
.NB-header .NB-header-tabs .NB-header-tab.NB-active.NB-trending-tab .NB-icon, .NB-header .NB-header-tabs .NB-header-tab.NB-trending-tab:hover .NB-icon {
background: url('/../../../media/img/circular/header/icon_trending_active.png?1358278259') no-repeat center bottom;
background-size: 17px;
}
.NB-header ul li.NB-following-tab .NB-icon {
background: url('/../../../media/img/circular/header/icon_follow.png?1357950040') no-repeat center bottom;
.NB-header .NB-header-tabs .NB-header-tab.NB-following-tab .NB-icon {
background: url('/../../../media/img/circular/header/icon_follow.png?1358278259') no-repeat center bottom;
background-size: 17px;
}
.NB-header ul li.NB-active.NB-following-tab .NB-icon, .NB-header ul li.NB-following-tab:hover .NB-icon {
background: url('/../../../media/img/circular/header/icon_follow_active.png?1357950047') no-repeat center bottom;
.NB-header .NB-header-tabs .NB-header-tab.NB-active.NB-following-tab .NB-icon, .NB-header .NB-header-tabs .NB-header-tab.NB-following-tab:hover .NB-icon {
background: url('/../../../media/img/circular/header/icon_follow_active.png?1358278259') no-repeat center bottom;
background-size: 17px;
}
.NB-header ul li.NB-circular-tab .NB-icon {
background: url('/../../../media/img/circular/header/icon_circular.png?1357950104') no-repeat center bottom;
.NB-header .NB-header-tabs .NB-header-tab.NB-circular-tab .NB-icon {
background: url('/../../../media/img/circular/header/icon_circular.png?1358278259') no-repeat center bottom;
background-size: 17px;
}
.NB-header ul li.NB-active.NB-circular-tab .NB-icon, .NB-header ul li.NB-circular-tab:hover .NB-icon {
background: url('/../../../media/img/circular/header/icon_circular_active.png?1357950133') no-repeat center bottom;
.NB-header .NB-header-tabs .NB-header-tab.NB-active.NB-circular-tab .NB-icon, .NB-header .NB-header-tabs .NB-header-tab.NB-circular-tab:hover .NB-icon {
background: url('/../../../media/img/circular/header/icon_circular_active.png?1358278259') no-repeat center bottom;
background-size: 17px;
}
@ -432,12 +439,12 @@ blockquote {
}
.NB-popover .NB-arrow {
position: absolute;
background: transparent url('/../../../media/img/circular/popover/arrow.png?1357956728') no-repeat 0 0;
background: transparent url('/../../../media/img/circular/popover/arrow.png?1358278259') no-repeat 0 0;
background-size: 26px 17px;
}
.NB-popover input {
border: 1px solid #bdbdbd;
border: 1px solid #BDBDBD;
border: 1px solid #bdbdbd;
padding: 5px;
width: 228px;
margin-bottom: 15px;
@ -460,7 +467,7 @@ blockquote {
}
@media screen and (max-width: 480px) {
.NB-banner {
padding: 24px 0;
padding: 18px 0 0;
}
}
.NB-banner .NB-banner-table {
@ -480,8 +487,8 @@ blockquote {
.NB-banner .NB-title-photo img {
max-width: 108px;
max-height: 108px;
border-radius: 4px;
border: 1px solid rgba(0, 0, 0, 0.5);
border-radius: 2px;
border: 1px solid rgba(0, 0, 0, 0.2);
}
@media all and (max-width: 480px) {
.NB-banner .NB-title-photo img {
@ -498,7 +505,7 @@ blockquote {
font-weight: bold;
margin: 0;
position: relative;
text-shadow: 1px 1px 0 #E0E0E0;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
.NB-banner .NB-title-content {
padding: 0 0 12px;
@ -520,18 +527,6 @@ blockquote {
text-decoration: none;
color: #182066;
}
.NB-banner .NB-title .NB-title-location {
float: left;
color: #F0F0F0;
text-shadow: none;
background-color: #C0C0C0;
border-radius: 8px;
font-size: 12px;
display: block;
padding: 2px 8px 1px;
margin: 4px 16px 0 0;
text-transform: uppercase;
}
.NB-banner .NB-title .NB-title-bio {
clear: left;
color: #a0a0a0;
@ -548,20 +543,16 @@ blockquote {
}
.NB-banner .NB-button-following {
border: 1px solid #4388b5;
-webkit-border-radius: 4px 4px;
-moz-border-radius: 4px / 4px;
border-radius: 4px / 4px;
-webkit-box-shadow: inset 0px 0px 2px #80c5f2;
-moz-box-shadow: inset 0px 0px 2px #80c5f2;
box-shadow: inset 0px 0px 2px #80c5f2;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6eb4e3), color-stop(100%, #4d98d2));
background-image: -webkit-linear-gradient(#6eb4e3, #4d98d2);
background-image: -moz-linear-gradient(#6eb4e3, #4d98d2);
background-image: -o-linear-gradient(#6eb4e3, #4d98d2);
background-image: linear-gradient(#6eb4e3, #4d98d2);
-webkit-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, #70b5e3 0 2px 1px inset;
-moz-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, #70b5e3 0 2px 1px inset;
box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, #70b5e3 0 2px 1px inset;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
-ms-border-radius: 2px;
-o-border-radius: 2px;
border-radius: 2px;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6bb1e0), color-stop(100%, #5aa1d8));
background-image: -webkit-linear-gradient(#6bb1e0, #5aa1d8);
background-image: -moz-linear-gradient(#6bb1e0, #5aa1d8);
background-image: -o-linear-gradient(#6bb1e0, #5aa1d8);
background-image: linear-gradient(#6bb1e0, #5aa1d8);
color: white;
height: 20px;
line-height: 20px;
@ -573,13 +564,15 @@ blockquote {
padding: 2px 0;
}
.NB-banner .NB-button-following:hover {
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6bb1e0), color-stop(100%, #6bb1e0));
background-image: -webkit-linear-gradient(#6bb1e0, #6bb1e0);
background-image: -moz-linear-gradient(#6bb1e0, #6bb1e0);
background-image: -o-linear-gradient(#6bb1e0, #6bb1e0);
background-image: linear-gradient(#6bb1e0, #6bb1e0);
border: 1px solid #3573a5;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5aa1d8), color-stop(100%, #4d98d2));
background-image: -webkit-linear-gradient(#5aa1d8, #4d98d2);
background-image: -moz-linear-gradient(#5aa1d8, #4d98d2);
background-image: -o-linear-gradient(#5aa1d8, #4d98d2);
background-image: linear-gradient(#5aa1d8, #4d98d2);
}
.NB-banner .NB-button-following:active {
border: 1px solid #2b5c84;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d98d2), color-stop(100%, #4d98d2));
background-image: -webkit-linear-gradient(#4d98d2, #4d98d2);
background-image: -moz-linear-gradient(#4d98d2, #4d98d2);
@ -589,6 +582,11 @@ blockquote {
-moz-box-shadow: inset 0px 0px 10px #1f74b8;
box-shadow: inset 0px 0px 10px #1f74b8;
}
@media screen and (max-width: 480px) {
.NB-banner .NB-button-following {
font-size: 14px;
}
}
/* ================ */
/* = Right banner = */
@ -604,7 +602,7 @@ blockquote {
font-weight: bold;
color: #a0a0a0;
text-align: center;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75);
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
.NB-banner-right .NB-banner-stats .NB-banner-stat {
float: left;
@ -631,8 +629,8 @@ blockquote {
}
.NB-story {
border-left: 4px solid #6A6A6A;
border-right: 4px solid #6A6A6A;
border-left: 4px solid #6a6a6a;
border-right: 4px solid #6a6a6a;
background: #fff;
-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
@ -670,8 +668,14 @@ blockquote {
}
.NB-story .NB-story-author {
color: gray;
font-size: 21px;
white-space: nowrap;
}
@media screen and (max-width: 480px) {
.NB-story .NB-story-author {
font-size: 16px;
}
}
.NB-story .NB-story-metadata {
font-size: 14px;
color: gray;
@ -685,7 +689,7 @@ blockquote {
}
}
.NB-story .NB-feed {
margin: 2px 10px 10px 0;
margin: 2px 8px 8px 0;
text-transform: capitalize;
float: left;
white-space: nowrap;
@ -713,7 +717,7 @@ blockquote {
float: left;
width: 16px;
height: 16px;
margin-right: 4px;
margin-right: 6px;
}
.NB-story-content-wrapper {
@ -752,7 +756,7 @@ blockquote {
width: 100%;
height: 14px;
z-index: 0;
background: transparent url('/../../../media/img/circular/module_cutoff.png?1357930476') repeat-x left bottom;
background: transparent url('/../../../media/img/circular/module_cutoff.png?1358278238') repeat-x left bottom;
}
.NB-story-content-wrapper .NB-story-content-expander .NB-story-content-expander-text,
.NB-story-content-wrapper .NB-story-content-expander .NB-story-content-expander-pages {
@ -808,21 +812,21 @@ blockquote {
}
@media screen and (max-width: 480px) {
.NB-story-shares-container {
float: none;
text-align: left;
font-size: 11px;
}
}
.NB-story-shares-container .NB-story-share-label {
display: inline-block;
float: left;
vertical-align: top;
margin-top: 3px;
margin: 3px 4px 0;
}
.NB-story-shares-container .NB-story-share-profiles,
.NB-story-shares-container .NB-story-share-profiles-shares-friends,
.NB-story-shares-container .NB-story-share-profiles-shares-public,
.NB-story-shares-container .NB-story-share-profiles-comments-friends,
.NB-story-shares-container .NB-story-share-profiles-comments-public {
font-size: 0;
display: inline;
}
.NB-story-shares-container .NB-story-share-profiles-shares-public,
@ -830,7 +834,7 @@ blockquote {
opacity: .5;
}
.NB-story-shares-container .NB-user-avatar {
display: inline-block;
float: left;
margin: 2px 1px 0 2px;
}
@media screen and (max-width: 480px) {
@ -852,7 +856,7 @@ blockquote {
z-index: 10;
margin: 0 30px;
background: #f6f6f6;
border: 1px solid #CCC;
border: 1px solid #cccccc;
padding: 0 20px;
border-top: 0;
}
@ -871,7 +875,7 @@ blockquote {
position: absolute;
width: 32px;
height: 32px;
top: 15px;
top: 12px;
left: 0;
-webkit-border-radius: 3px 3px;
-moz-border-radius: 3px / 3px;
@ -883,7 +887,7 @@ blockquote {
.NB-story-comments-container img.NB-user-avatar {
height: 24px;
width: 24px;
top: 8px;
top: 12px;
}
}
.NB-story-comments-container .NB-user-avatar.NB-story-comment-reshare img {
@ -902,14 +906,14 @@ blockquote {
}
.NB-story-comments-container .NB-story-comment {
margin-top: -1px;
padding: 15px 0 18px 44px;
padding: 10px 0 12px 44px;
border-top: 1px solid #bdbdbd;
position: relative;
min-height: 32px;
}
@media screen and (max-width: 480px) {
.NB-story-comments-container .NB-story-comment {
padding: 8px 0 8px 34px;
padding: 10px 0 12px 34px;
}
}
.NB-story-comments-container .NB-story-comment .NB-story-comment-username {
@ -1021,12 +1025,19 @@ blockquote {
.NB-story-comments-container .NB-story-comment-button:active .NB-story-comment-edit-button-wrapper {
background-color: #2A3B72;
}
.NB-story-comments-container .NB-story-comment-button .NB-reply-lock {
padding-right: 6px;
width: 9px;
height: 9px;
vertical-align: bottom;
float: left;
}
.NB-story-comments-container .NB-story-comment-input {
width: 371px;
height: 16px;
font-size: 12px;
padding: 6px 4px;
margin-top: 1px;
margin-top: 3px;
border: 1px solid #bdbdbd;
}
.NB-story-comments-container .NB-story-comment-reply-form {
@ -1047,20 +1058,17 @@ blockquote {
float: left;
margin: 4px 4px 0 0;
border: 1px solid #bdbdbd;
-webkit-border-radius: 4px 4px;
-moz-border-radius: 4px / 4px;
border-radius: 4px / 4px;
-webkit-box-shadow: inset 0px 0px 2px white;
-moz-box-shadow: inset 0px 0px 2px white;
box-shadow: inset 0px 0px 2px white;
-webkit-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, white 0 2px 1px inset;
-moz-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, white 0 2px 1px inset;
box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, white 0 2px 1px inset;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #f6f6f6));
background-image: -webkit-linear-gradient(#ffffff, #f6f6f6);
background-image: -moz-linear-gradient(#ffffff, #f6f6f6);
background-image: -o-linear-gradient(#ffffff, #f6f6f6);
background-image: linear-gradient(#ffffff, #f6f6f6);
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
-ms-border-radius: 2px;
-o-border-radius: 2px;
border-radius: 2px;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfcfc), color-stop(100%, #f2f2f2));
background-image: -webkit-linear-gradient(#fcfcfc, #f2f2f2);
background-image: -moz-linear-gradient(#fcfcfc, #f2f2f2);
background-image: -o-linear-gradient(#fcfcfc, #f2f2f2);
background-image: linear-gradient(#fcfcfc, #f2f2f2);
text-shadow: 0px -1px 0px white;
color: gray;
height: 20px;
line-height: 20px;
@ -1071,13 +1079,15 @@ blockquote {
font-weight: normal;
}
.NB-story-comments-container .NB-story-comment-reply-form .NB-modal-submit-button:hover {
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #ffffff));
background-image: -webkit-linear-gradient(#f6f6f6, #ffffff);
background-image: -moz-linear-gradient(#f6f6f6, #ffffff);
background-image: -o-linear-gradient(#f6f6f6, #ffffff);
background-image: linear-gradient(#f6f6f6, #ffffff);
border: 1px solid #ababab;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #e5e5e5));
background-image: -webkit-linear-gradient(#f8f8f8, #e5e5e5);
background-image: -moz-linear-gradient(#f8f8f8, #e5e5e5);
background-image: -o-linear-gradient(#f8f8f8, #e5e5e5);
background-image: linear-gradient(#f8f8f8, #e5e5e5);
}
.NB-story-comments-container .NB-story-comment-reply-form .NB-modal-submit-button:active {
border: 1px solid #9d9d9d;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9e9e9), color-stop(100%, #e9e9e9));
background-image: -webkit-linear-gradient(#e9e9e9, #e9e9e9);
background-image: -moz-linear-gradient(#e9e9e9, #e9e9e9);
@ -1089,6 +1099,11 @@ blockquote {
text-shadow: 0px -1px 1px white;
color: #333333;
}
@media screen and (max-width: 480px) {
.NB-story-comments-container .NB-story-comment-reply-form .NB-modal-submit-button {
font-size: 14px;
}
}
.NB-story-comments-container .NB-story-comment-reply-form .NB-modal-submit-button:last-child {
margin-right: 0;
}
@ -1102,24 +1117,21 @@ blockquote {
}
.NB-story-comments-container .NB-story-comment-buttons .NB-story-comment-save {
position: absolute;
top: 16px;
top: 13px;
right: 0;
width: 140px;
border: 1px solid #bdbdbd;
-webkit-border-radius: 4px 4px;
-moz-border-radius: 4px / 4px;
border-radius: 4px / 4px;
-webkit-box-shadow: inset 0px 0px 2px white;
-moz-box-shadow: inset 0px 0px 2px white;
box-shadow: inset 0px 0px 2px white;
-webkit-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, white 0 2px 1px inset;
-moz-box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, white 0 2px 1px inset;
box-shadow: rgba(153, 153, 153, 0.4) 0 0 5px, white 0 2px 1px inset;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #f6f6f6));
background-image: -webkit-linear-gradient(#ffffff, #f6f6f6);
background-image: -moz-linear-gradient(#ffffff, #f6f6f6);
background-image: -o-linear-gradient(#ffffff, #f6f6f6);
background-image: linear-gradient(#ffffff, #f6f6f6);
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
-ms-border-radius: 2px;
-o-border-radius: 2px;
border-radius: 2px;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfcfc), color-stop(100%, #f2f2f2));
background-image: -webkit-linear-gradient(#fcfcfc, #f2f2f2);
background-image: -moz-linear-gradient(#fcfcfc, #f2f2f2);
background-image: -o-linear-gradient(#fcfcfc, #f2f2f2);
background-image: linear-gradient(#fcfcfc, #f2f2f2);
text-shadow: 0px -1px 0px white;
color: gray;
height: 20px;
line-height: 20px;
@ -1130,13 +1142,15 @@ blockquote {
font-weight: normal;
}
.NB-story-comments-container .NB-story-comment-buttons .NB-story-comment-save:hover {
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f6f6f6), color-stop(100%, #ffffff));
background-image: -webkit-linear-gradient(#f6f6f6, #ffffff);
background-image: -moz-linear-gradient(#f6f6f6, #ffffff);
background-image: -o-linear-gradient(#f6f6f6, #ffffff);
background-image: linear-gradient(#f6f6f6, #ffffff);
border: 1px solid #ababab;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f8f8f8), color-stop(100%, #e5e5e5));
background-image: -webkit-linear-gradient(#f8f8f8, #e5e5e5);
background-image: -moz-linear-gradient(#f8f8f8, #e5e5e5);
background-image: -o-linear-gradient(#f8f8f8, #e5e5e5);
background-image: linear-gradient(#f8f8f8, #e5e5e5);
}
.NB-story-comments-container .NB-story-comment-buttons .NB-story-comment-save:active {
border: 1px solid #9d9d9d;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9e9e9), color-stop(100%, #e9e9e9));
background-image: -webkit-linear-gradient(#e9e9e9, #e9e9e9);
background-image: -moz-linear-gradient(#e9e9e9, #e9e9e9);
@ -1148,6 +1162,11 @@ blockquote {
text-shadow: 0px -1px 1px white;
color: #333333;
}
@media screen and (max-width: 480px) {
.NB-story-comments-container .NB-story-comment-buttons .NB-story-comment-save {
font-size: 14px;
}
}
.NB-story-comments-container .NB-story-comment-buttons .NB-story-comment-delete {
display: none;
}
@ -1205,11 +1224,11 @@ blockquote {
padding: 20px 28px 20px;
position: relative;
overflow: hidden;
text-shadow: 0 1px 0 #141F48;
-webkit-transition: all .12s ease-out;
-moz-transition: all .12s ease-out;
-o-transition: all .12s ease-out;
-ms-transition: all .12s ease-out;
text-shadow: 0 1px 0 #141f48;
-webkit-transition: all 0.12s ease-out;
-moz-transition: all 0.12s ease-out;
-o-transition: all 0.12s ease-out;
-ms-transition: all 0.12s ease-out;
}
.NB-page-controls-next .NB-page-controls-text,
.NB-page-controls-end .NB-page-controls-text {
@ -1256,14 +1275,51 @@ footer {
overflow: hidden;
background-color: rgba(240, 240, 230, 0.4);
text-align: center;
border-top: 1px solid #C0C0C0;
border-top: 1px solid silver;
}
.NB-footer-logo {
border-top: 1px solid #FFF;
border-top: 1px solid white;
}
.NB-footer-logo img {
margin: 36px auto;
border: none;
}
ul.dropdown-menu {
min-width: 138px;
text-align: left;
cursor: default;
}
ul.dropdown-menu:before {
position: absolute;
top: -7px;
left: 60px;
display: inline-block;
border-right: 7px solid rgba(0, 0, 0, 0);
border-bottom: 7px solid #cccccc;
border-left: 7px solid rgba(0, 0, 0, 0);
border-bottom-color: rgba(0, 0, 0, 0.2);
content: '';
}
ul.dropdown-menu:after {
position: absolute;
top: -6px;
left: 61px;
display: inline-block;
border-right: 6px solid rgba(0, 0, 0, 0);
border-bottom: 6px solid white;
border-left: 6px solid rgba(0, 0, 0, 0);
content: '';
}
ul.dropdown-menu li:hover {
cursor: pointer;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
ul.dropdown-menu .divider {
margin: 4px 0;
}
ul.dropdown-menu .divider:hover {
cursor: default;
}

View file

@ -16,10 +16,13 @@ $more-text-color: #1a9fff;
$more-text-color-hover: #306187;
$more-text-color-active: #722125;
$border-color: #bdbdbd;
$border-color-hover: #ABABAB;
$border-color-active: #9D9D9D;
$title-font-size: 21px;
$small-title-font-size: 16px;
$small-font-size: 14px;
$small-iphone-font-size: 14px;
$smallest-font-size: 12px;
$smallest-iphone-font-size: 11px;
$tiny-font-size: 11px;
@ -38,54 +41,62 @@ $default-box-shadow-blur: 1px;
@mixin NB-default-button {
border: 1px solid $border-color;
@include border-radius(4px, 4px);
@include single-box-shadow(white, 0px, 0px, 2px, false, true);
@include box-shadow(rgba(#999, 0.4) 0 0 5px, white 0 2px 1px inset);
@include background-image(linear-gradient(white, #f6f6f6));
@include border-radius(2px);
@include background-image(linear-gradient(#FCFCFC, #F2F2F2));
@include single-text-shadow(0px, -1px, 0px, false, white);
color: $light-text-color;
height: 20px;
line-height: 20px;
text-align: center;
cursor: pointer;
padding: 4px 12px;
font-size: 14px;
font-size: $small-font-size;
font-weight: normal;
&:hover {
@include background-image(linear-gradient(#f6f6f6, white));
border: 1px solid $border-color-hover;
@include background-image(linear-gradient(#F8F8F8, #E5E5E5));
}
&:active {
border: 1px solid $border-color-active;
@include background-image(linear-gradient(#e9e9e9, #e9e9e9));
@include single-box-shadow(#c1c1c1, 0px, 0px, 10px, false, true);
@include single-text-shadow(0px, -1px, 1px, false, white);
color: $text-color;
}
@media screen and (max-width: 480px) {
font-size: $small-iphone-font-size;
}
}
@mixin NB-blue-button {
border: 1px solid #4388b5;
@include border-radius(4px, 4px);
@include single-box-shadow(#80c5f2, 0px, 0px, 2px, false, true);
@include background-image(linear-gradient(#6eb4e3, #4d98d2));
@include box-shadow(rgba(#999, 0.4) 0 0 5px, #70b5e3 0 2px 1px inset);
@include border-radius(2px);
@include background-image(linear-gradient(#6bb1e0, #5AA1D8));
color: white;
height: 20px;
line-height: 20px;
text-align: center;
cursor: pointer;
padding: 4px 12px;
font-size: 14px;
font-size: $small-font-size;
font-weight: normal;
&:hover {
@include background-image(linear-gradient(#6bb1e0, #6bb1e0));
border: 1px solid #3573A5;
@include background-image(linear-gradient(#5AA1D8, #4d98d2));
}
&:active {
border: 1px solid #2B5C84;
@include background-image(linear-gradient(#4d98d2, #4d98d2));
@include single-box-shadow(#1f74b8, 0px, 0px, 10px, false, true);
}
@media screen and (max-width: 480px) {
font-size: $small-iphone-font-size;
}
}
// ===========
@ -231,14 +242,14 @@ blockquote {
margin: 0 auto;
}
ul {
.NB-header-tabs {
margin: 0 70px;
@media screen and ( max-width: 480px) {
margin: 0 0;
}
li {
.NB-header-tab {
height: 44px;
float: left;
vertical-align: top;
@ -277,7 +288,7 @@ blockquote {
}
}
&:hover {
&:hover, &.open {
div.NB-tab-inner {
color: $highlight-text-color;
}
@ -435,7 +446,7 @@ blockquote {
overflow: hidden;
@media screen and (max-width: 480px) {
padding: 24px 0;
padding: 18px 0 0;
}
.NB-banner-table {
@ -456,8 +467,8 @@ blockquote {
.NB-title-photo img {
max-width: 108px;
max-height: 108px;
border-radius: 4px;
border: 1px solid rgba(0, 0, 0, .5);
border-radius: 2px;
border: 1px solid rgba(0, 0, 0, .2);
}
@media all and (max-width: 480px) {
.NB-title-photo img {
@ -474,7 +485,7 @@ blockquote {
font-weight: bold;
margin: 0;
position: relative;
text-shadow: 1px 1px 0 #E0E0E0;
text-shadow: 0 1px 0 rgba(255, 255, 255, .5);
}
.NB-title-content {
padding: 0 0 12px;
@ -496,18 +507,6 @@ blockquote {
text-decoration: none;
color: #182066;
}
.NB-title .NB-title-location {
float: left;
color: #F0F0F0;
text-shadow: none;
background-color: #C0C0C0;
border-radius: 8px;
font-size: 12px;
display: block;
padding: 2px 8px 1px;
margin: 4px 16px 0 0;
text-transform: uppercase;
}
.NB-title .NB-title-bio {
clear: left;
color: $lighter-text-color;
@ -545,7 +544,7 @@ blockquote {
font-weight: bold;
color: $lighter-text-color;
text-align: center;
text-shadow: 0 1px 0 rgba(255, 255, 255, .75);
text-shadow: 0 1px 0 rgba(255, 255, 255, .5);
.NB-banner-stat {
float: left;
@ -619,7 +618,12 @@ blockquote {
.NB-story-author {
color: $light-text-color;
font-size: $title-font-size;
white-space: nowrap;
@media screen and ( max-width: 480px) {
font-size: $small-title-font-size;
}
}
.NB-story-metadata {
@ -635,7 +639,7 @@ blockquote {
}
.NB-feed {
margin: 2px 10px 10px 0;
margin: 2px 8px 8px 0;
text-transform: capitalize;
float: left;
white-space: nowrap;
@ -664,7 +668,7 @@ blockquote {
float: left;
width: 16px;
height: 16px;
margin-right: 4px;
margin-right: 6px;
}
}
}
@ -774,15 +778,14 @@ blockquote {
float: right;
@media screen and ( max-width: 480px) {
float: none;
text-align: left;
font-size: $smallest-iphone-font-size;
}
.NB-story-share-label {
display: inline-block;
float: left;
vertical-align: top;
margin-top: 3px;
margin: 3px 4px 0;
}
.NB-story-share-profiles,
@ -790,6 +793,7 @@ blockquote {
.NB-story-share-profiles-shares-public,
.NB-story-share-profiles-comments-friends,
.NB-story-share-profiles-comments-public {
font-size: 0;
display: inline;
}
@ -799,7 +803,7 @@ blockquote {
}
.NB-user-avatar {
display: inline-block;
float: left;
margin: 2px 1px 0 2px;
@media screen and ( max-width: 480px) {
@ -841,7 +845,7 @@ blockquote {
position: absolute;
width: 32px;
height: 32px;
top: 15px;
top: 12px;
left: 0;
@include border-radius(3px, 3px);
/* @include single-box-shadow; gets in the way of transparent PNGs */
@ -849,7 +853,7 @@ blockquote {
@media screen and ( max-width: 480px) {
height: 24px;
width: 24px;
top: 8px;
top: 12px;
}
}
@ -870,12 +874,13 @@ blockquote {
.NB-story-comment {
margin-top: -1px;
padding: 15px 0 18px 44px;
padding: 10px 0 12px 44px;
border-top: 1px solid $border-color;
position: relative;
min-height: 32px;
@media screen and ( max-width: 480px) {
padding: 8px 0 8px 34px;
@media screen and (max-width: 480px) {
padding: 10px 0 12px 34px;
}
.NB-story-comment-username {
@ -989,6 +994,14 @@ blockquote {
&:active .NB-story-comment-edit-button-wrapper {
background-color: #2A3B72;
}
.NB-reply-lock {
padding-right: 6px;
width: 9px;
height: 9px;
vertical-align: bottom;
float: left;
}
}
.NB-story-comment-input {
@ -996,7 +1009,7 @@ blockquote {
height: 16px;
font-size: 12px;
padding: 6px 4px;
margin-top: 1px;
margin-top: 3px;
border: 1px solid $border-color;
}
@ -1036,7 +1049,7 @@ blockquote {
.NB-story-comment-buttons {
.NB-story-comment-save {
position: absolute;
top: 16px;
top: 13px;
right: 0;
width: 140px;
@include NB-default-button;
@ -1172,4 +1185,46 @@ footer {
.NB-footer-logo img {
margin: 36px auto;
border: none;
}
}
// ============
// = Dropdown =
// ============
ul.dropdown-menu {
min-width: 138px;
text-align: left;
cursor: default;
&:before {
position: absolute;
top: -7px;
left: 60px;
display: inline-block;
border-right: 7px solid rgba(0, 0, 0, 0);
border-bottom: 7px solid #CCC;
border-left: 7px solid rgba(0, 0, 0, 0);
border-bottom-color: rgba(0, 0, 0, 0.2);
content: '';
}
&:after {
position: absolute;
top: -6px;
left: 61px;
display: inline-block;
border-right: 6px solid rgba(0, 0, 0, 0);
border-bottom: 6px solid #FFF;
border-left: 6px solid rgba(0, 0, 0, 0);
content: '';
}
li:hover {
cursor: pointer;
text-shadow: 0 1px 0 rgba(0, 0, 0, .2);
}
.divider {
margin: 4px 0;
&:hover {
cursor: default;
}
}
}

189
media/css/vendor/bootstrap-dropdown.css vendored Normal file
View file

@ -0,0 +1,189 @@
.dropup,
.dropdown {
position: relative;
}
.dropdown-toggle {
*margin-bottom: -3px;
}
.dropdown-toggle:active,
.open .dropdown-toggle {
outline: 0;
}
.caret {
display: inline-block;
width: 0;
height: 0;
vertical-align: top;
border-top: 4px solid #000000;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
content: "";
}
.dropdown .caret {
margin-top: 8px;
margin-left: 2px;
}
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
background-color: #ffffff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
*border-right-width: 2px;
*border-bottom-width: 2px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.dropdown-menu.pull-right {
right: 0;
left: auto;
}
.dropdown-menu .divider {
*width: 100%;
height: 1px;
margin: 9px 1px;
*margin: -5px 0 5px;
overflow: hidden;
background-color: #e5e5e5;
border-bottom: 1px solid #ffffff;
}
.dropdown-menu li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 20px;
color: #333333;
white-space: nowrap;
}
.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus,
.dropdown-submenu:hover > a {
text-decoration: none;
color: #ffffff;
background-color: #0081c2;
background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
background-image: -o-linear-gradient(top, #0088cc, #0077b3);
background-image: linear-gradient(to bottom, #0088cc, #0077b3);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
}
.dropdown-menu .active > a,
.dropdown-menu .active > a:hover {
color: #ffffff;
text-decoration: none;
outline: 0;
background-color: #0081c2;
background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
background-image: -o-linear-gradient(top, #0088cc, #0077b3);
background-image: linear-gradient(to bottom, #0088cc, #0077b3);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
}
.dropdown-menu .disabled > a,
.dropdown-menu .disabled > a:hover {
color: #999999;
}
.dropdown-menu .disabled > a:hover {
text-decoration: none;
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
cursor: default;
}
.open {
*z-index: 1000;
}
.open > .dropdown-menu {
display: block;
}
.pull-right > .dropdown-menu {
right: 0;
left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
border-top: 0;
border-bottom: 4px solid #000000;
content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 1px;
}
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px 6px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
.dropup .dropdown-submenu > .dropdown-menu {
top: auto;
bottom: 0;
margin-top: 0;
margin-bottom: -2px;
-webkit-border-radius: 5px 5px 5px 0;
-moz-border-radius: 5px 5px 5px 0;
border-radius: 5px 5px 5px 0;
}
.dropdown-submenu > a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #cccccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
border-left-color: #ffffff;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
-webkit-border-radius: 6px 0 6px 6px;
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
}
.dropdown .dropdown-menu .nav-header {
padding-left: 20px;
padding-right: 20px;
}

6103
media/css/vendor/bootstrap.css vendored Executable file

File diff suppressed because it is too large Load diff

View file

@ -75,7 +75,7 @@ NEWSBLUR.Views.SocialPage = Backbone.View.extend({
var $controls = this.$('.NB-page-controls');
if ($controls.length) {
var page_control_y = $controls.last().offset().top - 500;
var page_control_y = $controls.last().offset().top + 25;
if (viewport_y > page_control_y) {
this.cached_page_control_y = page_control_y;
this.flags.loading_page = true;
@ -103,8 +103,10 @@ NEWSBLUR.Views.SocialPage = Backbone.View.extend({
},
scroll_to_story: function(story_view, run) {
var offset = navigator.platform.indexOf("iPhone") != -1 ? 12 : 12 + 48;
$('html,body').stop().animate({
scrollTop: story_view.$mark.offset().top - 12
scrollTop: story_view.$mark.offset().top - offset
}, {
duration: run == 1 ? 1000 : 500,
easing: run == 1 ? 'easeInQuint' : 'easeOutQuint',

View file

@ -1,8 +1,6 @@
NEWSBLUR.Views.SocialPageLoginSignupView = Backbone.View.extend({
events: {
"click .NB-circular-tab" : "toggle_login_dialog",
"click .NB-user-tab" : "toggle_request_dialog",
"click .NB-logout-button" : "logout",
"click .NB-login-button" : "login",
"click .NB-request-button" : "request_invite"
@ -10,136 +8,6 @@ NEWSBLUR.Views.SocialPageLoginSignupView = Backbone.View.extend({
initialize: function() {
},
toggle_login_dialog: function(options) {
console.log('open');
options = options || {};
var $popover = this.$('.NB-login-popover');
var $other_popover = this.$('.NB-request-popover');
var $login_username = this.$('input[name=login_username]');
var $login_password = this.$('input[name=login_password]');
if (options.open != true &&
(options.close ||
($popover.hasClass('NB-active')))) {
// Close
$popover.animate({
'opacity': 0
}, {
'duration': 300,
'easing': 'easeInOutQuint',
'queue': false,
'complete': _.bind(function() {
this.$('.NB-error').remove();
$popover.removeClass('NB-active');
}, this)
});
$(document).unbind('mousedown.loginView');
} else {
// Open/resize
this.$('.NB-error').remove();
$other_popover.removeClass('NB-active');
$popover.addClass('NB-active');
$popover.animate({
'opacity': 1
}, {
'duration': options.immediate ? 0 : 350,
'easing': 'easeInOutQuint',
'queue': false,
'complete': _.bind(function() {
$login_username.focus();
}, this)
});
var login = _.bind(function(e) {
e.preventDefault();
this.login();
}, this);
$login_username.add($login_password)
.unbind('keydown.login')
.bind('keydown.login', 'ctrl+return', login)
.bind('keydown.login', 'meta+return', login)
.bind('keydown.login', 'return', login);
_.defer(_.bind(function() {
$(document).bind('mousedown.loginView', _.bind(this.hide_popovers, this));
}, this));
}
},
toggle_request_dialog: function(e, options) {
options = options || {};
var $popover = this.$('.NB-user-popover');
var $other_popover = this.$('.NB-login-popover');
var $request_email = this.$('input[name=request_email]');
if (options.close ||
($popover.hasClass('NB-active'))) {
// Close
$popover.animate({
'opacity': 0
}, {
'duration': 300,
'easing': 'easeInOutQuint',
'queue': false,
'complete': _.bind(function() {
$popover.removeClass('NB-active');
}, this)
});
$(document).unbind('mousedown.loginView');
} else {
$other_popover.removeClass('NB-active');
$popover.addClass('NB-active');
console.log(["Opening", e.currentTarget, $popover]);
$popover.align(e.currentTarget, "bottom");
$popover.animate({
'opacity': 1
}, {
'duration': options.immediate ? 0 : 350,
'easing': 'easeInOutQuint',
'queue': false,
'complete': _.bind(function() {
$request_email.focus();
}, this)
});
var request_invite = _.bind(function(e) {
e.preventDefault();
this.request_invite();
}, this);
$request_email
.unbind('keydown.invite')
.bind('keydown.invite', 'ctrl+return', request_invite)
.bind('keydown.invite', 'meta+return', request_invite)
.bind('keydown.invite', 'return', request_invite);
_.defer(_.bind(function() {
$(document).bind('mousedown.loginView', _.bind(this.hide_popovers, this));
}, this));
}
},
hide_popovers: function(e) {
var $popover = this.$('.NB-popover');
if (e) {
if (($(e.target).closest(".NB-popover").length) || ($(e.target).closest(".NB-button").length)) return;
}
$(document).unbind('mousedown.loginView');
// Close
$popover.animate({
'opacity': 0
}, {
'duration': 300,
'easing': 'easeInOutQuint',
'queue': false
});
$popover.removeClass('NB-active');
},
// ==========
// = Events =

View file

@ -1,5 +1,5 @@
/* ==========================================================
* bootstrap-carousel.js v2.2.1
* bootstrap-carousel.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#carousel
* ==========================================================
* Copyright 2012 Twitter, Inc.
@ -29,7 +29,6 @@
var Carousel = function (element, options) {
this.$element = $(element)
this.options = options
this.options.slide && this.slide(this.options.slide)
this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this))
@ -141,6 +140,8 @@
/* CAROUSEL PLUGIN DEFINITION
* ========================== */
var old = $.fn.carousel
$.fn.carousel = function (option) {
return this.each(function () {
var $this = $(this)
@ -162,6 +163,14 @@
$.fn.carousel.Constructor = Carousel
/* CAROUSEL NO CONFLICT
* ==================== */
$.fn.carousel.noConflict = function () {
$.fn.carousel = old
return this
}
/* CAROUSEL DATA-API
* ================= */

161
media/js/vendor/bootstrap-dropdown.js vendored Executable file
View file

@ -0,0 +1,161 @@
/* ============================================================
* bootstrap-dropdown.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============================================================ */
!function ($) {
"use strict"; // jshint ;_;
/* DROPDOWN CLASS DEFINITION
* ========================= */
var toggle = '[data-toggle=dropdown]'
, Dropdown = function (element) {
var $el = $(element).on('click.dropdown.data-api', this.toggle)
$('html').on('click.dropdown.data-api', function () {
$el.parent().removeClass('open')
})
}
Dropdown.prototype = {
constructor: Dropdown
, toggle: function (e) {
var $this = $(this)
, $parent
, isActive
if ($this.is('.disabled, :disabled')) return
$parent = getParent($this)
isActive = $parent.hasClass('open')
clearMenus()
if (!isActive) {
$parent.toggleClass('open')
}
$this.focus()
return false
}
, keydown: function (e) {
var $this
, $items
, $active
, $parent
, isActive
, index
if (!/(38|40|27)/.test(e.keyCode)) return
$this = $(this)
e.preventDefault()
e.stopPropagation()
if ($this.is('.disabled, :disabled')) return
$parent = getParent($this)
isActive = $parent.hasClass('open')
if (!isActive || (isActive && e.keyCode == 27)) return $this.click()
$items = $('[role=menu] li:not(.divider):visible a', $parent)
if (!$items.length) return
index = $items.index($items.filter(':focus'))
if (e.keyCode == 38 && index > 0) index-- // up
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
if (!~index) index = 0
$items
.eq(index)
.focus()
}
}
function clearMenus() {
$(toggle).each(function () {
getParent($(this)).removeClass('open')
})
}
function getParent($this) {
var selector = $this.attr('data-target')
, $parent
if (!selector) {
selector = $this.attr('href')
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
}
$parent = $(selector)
$parent.length || ($parent = $this.parent())
return $parent
}
/* DROPDOWN PLUGIN DEFINITION
* ========================== */
var old = $.fn.dropdown
$.fn.dropdown = function (option) {
return this.each(function () {
var $this = $(this)
, data = $this.data('dropdown')
if (!data) $this.data('dropdown', (data = new Dropdown(this)))
if (typeof option == 'string') data[option].call($this)
})
}
$.fn.dropdown.Constructor = Dropdown
/* DROPDOWN NO CONFLICT
* ==================== */
$.fn.dropdown.noConflict = function () {
$.fn.dropdown = old
return this
}
/* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */
$(document)
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
}(window.jQuery);

114
media/js/vendor/bootstrap-popover.js vendored Executable file
View file

@ -0,0 +1,114 @@
/* ===========================================================
* bootstrap-popover.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#popovers
* ===========================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =========================================================== */
!function ($) {
"use strict"; // jshint ;_;
/* POPOVER PUBLIC CLASS DEFINITION
* =============================== */
var Popover = function (element, options) {
this.init('popover', element, options)
}
/* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
========================================== */
Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
constructor: Popover
, setContent: function () {
var $tip = this.tip()
, title = this.getTitle()
, content = this.getContent()
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
$tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
$tip.removeClass('fade top bottom left right in')
}
, hasContent: function () {
return this.getTitle() || this.getContent()
}
, getContent: function () {
var content
, $e = this.$element
, o = this.options
content = $e.attr('data-content')
|| (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
return content
}
, tip: function () {
if (!this.$tip) {
this.$tip = $(this.options.template)
}
return this.$tip
}
, destroy: function () {
this.hide().$element.off('.' + this.type).removeData(this.type)
}
})
/* POPOVER PLUGIN DEFINITION
* ======================= */
var old = $.fn.popover
$.fn.popover = function (option) {
return this.each(function () {
var $this = $(this)
, data = $this.data('popover')
, options = typeof option == 'object' && option
if (!data) $this.data('popover', (data = new Popover(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.popover.Constructor = Popover
$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
placement: 'right'
, trigger: 'click'
, content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
})
/* POPOVER NO CONFLICT
* =================== */
$.fn.popover.noConflict = function () {
$.fn.popover = old
return this
}
}(window.jQuery);

287
media/js/vendor/bootstrap-tooltip.js vendored Executable file
View file

@ -0,0 +1,287 @@
/* ===========================================================
* bootstrap-tooltip.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame
* ===========================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================== */
!function ($) {
"use strict"; // jshint ;_;
/* TOOLTIP PUBLIC CLASS DEFINITION
* =============================== */
var Tooltip = function (element, options) {
this.init('tooltip', element, options)
}
Tooltip.prototype = {
constructor: Tooltip
, init: function (type, element, options) {
var eventIn
, eventOut
this.type = type
this.$element = $(element)
this.options = this.getOptions(options)
this.enabled = true
if (this.options.trigger == 'click') {
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
} else if (this.options.trigger != 'manual') {
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
}
this.options.selector ?
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
this.fixTitle()
}
, getOptions: function (options) {
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
if (options.delay && typeof options.delay == 'number') {
options.delay = {
show: options.delay
, hide: options.delay
}
}
return options
}
, enter: function (e) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
if (!self.options.delay || !self.options.delay.show) return self.show()
clearTimeout(this.timeout)
self.hoverState = 'in'
this.timeout = setTimeout(function() {
if (self.hoverState == 'in') self.show()
}, self.options.delay.show)
}
, leave: function (e) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
if (this.timeout) clearTimeout(this.timeout)
if (!self.options.delay || !self.options.delay.hide) return self.hide()
self.hoverState = 'out'
this.timeout = setTimeout(function() {
if (self.hoverState == 'out') self.hide()
}, self.options.delay.hide)
}
, show: function () {
var $tip
, inside
, pos
, actualWidth
, actualHeight
, placement
, tp
if (this.hasContent() && this.enabled) {
$tip = this.tip()
this.setContent()
if (this.options.animation) {
$tip.addClass('fade')
}
placement = typeof this.options.placement == 'function' ?
this.options.placement.call(this, $tip[0], this.$element[0]) :
this.options.placement
inside = /in/.test(placement)
$tip
.detach()
.css({ top: 0, left: 0, display: 'block' })
.insertAfter(this.$element)
pos = this.getPosition(inside)
actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight
switch (inside ? placement.split(' ')[1] : placement) {
case 'bottom':
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
break
case 'top':
tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
break
case 'left':
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
break
case 'right':
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
break
}
$tip
.offset(tp)
.addClass(placement)
.addClass('in')
}
}
, setContent: function () {
var $tip = this.tip()
, title = this.getTitle()
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
$tip.removeClass('fade in top bottom left right')
}
, hide: function () {
var that = this
, $tip = this.tip()
$tip.removeClass('in')
function removeWithAnimation() {
var timeout = setTimeout(function () {
$tip.off($.support.transition.end).detach()
}, 500)
$tip.one($.support.transition.end, function () {
clearTimeout(timeout)
$tip.detach()
})
}
$.support.transition && this.$tip.hasClass('fade') ?
removeWithAnimation() :
$tip.detach()
return this
}
, fixTitle: function () {
var $e = this.$element
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
$e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
}
}
, hasContent: function () {
return this.getTitle()
}
, getPosition: function (inside) {
return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
width: this.$element[0].offsetWidth
, height: this.$element[0].offsetHeight
})
}
, getTitle: function () {
var title
, $e = this.$element
, o = this.options
title = $e.attr('data-original-title')
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
return title
}
, tip: function () {
return this.$tip = this.$tip || $(this.options.template)
}
, validate: function () {
if (!this.$element[0].parentNode) {
this.hide()
this.$element = null
this.options = null
}
}
, enable: function () {
this.enabled = true
}
, disable: function () {
this.enabled = false
}
, toggleEnabled: function () {
this.enabled = !this.enabled
}
, toggle: function (e) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
self[self.tip().hasClass('in') ? 'hide' : 'show']()
}
, destroy: function () {
this.hide().$element.off('.' + this.type).removeData(this.type)
}
}
/* TOOLTIP PLUGIN DEFINITION
* ========================= */
var old = $.fn.tooltip
$.fn.tooltip = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('tooltip')
, options = typeof option == 'object' && option
if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.tooltip.Constructor = Tooltip
$.fn.tooltip.defaults = {
animation: true
, placement: 'top'
, selector: false
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
, trigger: 'hover'
, title: ''
, delay: 0
, html: false
}
/* TOOLTIP NO CONFLICT
* =================== */
$.fn.tooltip.noConflict = function () {
$.fn.tooltip = old
return this
}
}(window.jQuery);

View file

@ -1,5 +1,5 @@
/* ===================================================
* bootstrap-transition.js v2.0.4
* bootstrap-transition.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#transitions
* ===================================================
* Copyright 2012 Twitter, Inc.
@ -20,14 +20,14 @@
!function ($) {
"use strict"; // jshint ;_;
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
* ======================================================= */
$(function () {
"use strict"; // jshint ;_;
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
* ======================================================= */
$.support.transition = (function () {
var transitionEnd = (function () {
@ -36,8 +36,7 @@
, transEndEventNames = {
'WebkitTransition' : 'webkitTransitionEnd'
, 'MozTransition' : 'transitionend'
, 'OTransition' : 'oTransitionEnd'
, 'msTransition' : 'MSTransitionEnd'
, 'OTransition' : 'oTransitionEnd otransitionend'
, 'transition' : 'transitionend'
}
, name

View file

@ -93,41 +93,40 @@
<header class="NB-header">
<div class="NB-header-inner">
<ul>
<li class="NB-blurblog-tab NB-active">
<ul class="NB-header-tabs">
<li class="NB-header-tab NB-blurblog-tab NB-active">
<div class="NB-tab-inner">
<span class="NB-icon"></span>
Blurblogs
</div>
</li>
<li class="NB-following-tab">
<li class="NB-header-tab NB-following-tab">
<div class="NB-tab-inner">
<span class="NB-icon"></span>
Following
</div>
</li>
<li class="NB-trending-tab">
<li class="NB-header-tab NB-trending-tab">
<div class="NB-tab-inner">
<span class="NB-icon"></span>
Global
</div>
</li>
{% if user.is_authenticated %}
<li class="NB-user-tab">
<div class="NB-tab-inner">
<li class="NB-header-tab NB-user-tab dropdown">
<div class="NB-tab-inner dropdown-toggle" data-toggle="dropdown">
<span><img src="{{ user_social_profile.large_photo_url }}" class="NB-user-avatar" /></span>
<img src="{{ MEDIA_URL }}img/icons/silk/bullet_arrow_down.png" class="NB-arrow" />
{{ user_social_profile.username }}
<div class="NB-user-popover NB-popover">
Logout...
<div class="NB-arrow"></div>
</div>
</div>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Other thing</a></li>
<li class="divider"></li>
<li><a href="#">Logout</a></li>
</ul>
</li>
{% else %}
<li class="NB-circular-tab">
<li class="NB-header-tab NB-circular-tab">
<div class="NB-tab-inner">
<span class="NB-icon"></span>
<img src="{{ MEDIA_URL }}img/icons/silk/bullet_arrow_down.png" class="NB-arrow" />

View file

@ -36,12 +36,6 @@
</div>
<div class="NB-story-shares-container">
{% if story.share_count %}
{% render_story_share story %}
{% endif %}
</div>
<div class="NB-feed NB-feed-{{ story.feed.favicon_text_color }}" >
{% if story.feed %}
<div class="NB-feed-favicon">
@ -53,6 +47,12 @@
{% endif %}
</div>
<div class="NB-story-shares-container">
{% if story.share_count %}
{% render_story_share story %}
{% endif %}
</div>
<div class="NB-story-content-wrapper">
<div class="NB-story-content">
{{ story.story_content|safe }}

View file

@ -17,7 +17,7 @@
<div class="NB-story-comment-button NB-story-comment-reply-button">
<div class="NB-story-comment-button-wrapper NB-story-comment-reply-button-wrapper">
{% if comment.user.protected %}
<img src="{{ MEDIA_URL }}img/icons/silk/lock.png">
<img src="{{ MEDIA_URL }}img/icons/silk/lock.png" class="NB-reply-lock">
{% endif %}
reply
</div>

View file

@ -25,10 +25,14 @@
{% if story.comment_count %}
{{ story.comment_count }}
{{ story.comment_count|pluralize:"Comment,Comments" }}
and
{% if story.share_count != story.comment_count %}
and
{% endif %}
{% endif %}
{% if story.share_count != story.comment_count %}
{{ story.share_count }}
{{ story.share_count|pluralize:"Share,Shares" }}
{% endif %}
{{ story.share_count }}
{{ story.share_count|pluralize:"Share,Shares" }}
</div>
<div class="NB-story-share-profiles NB-story-share-profiles-comments">