Vulcan/packages/telescope-theme-hubble/lib/client/scss/modules/_posts.scss

542 lines
8.5 KiB
SCSS

// ------------------------------------ posts ------------------------------------ //
.posts-wrapper {
padding: 0;
}
.single-post .posts {
margin-bottom: 10px;
.post {
border-radius: 3px;
@extend .has-shadow;
}
}
// ------------------------------------ post ------------------------------------ //
.post {
padding: 10px 0px 10px 10px;
border-radius: 0px;
margin-bottom: 0px;
border-bottom: 1px solid $lightest-grey;
display: flex;
align-items: center;
position: relative;
width: 100%;
background: white;
&:first-child {
border-radius: 3px 3px 0px 0px;
}
&:last-child {
border-radius: 0px 0px 3px 3px;
}
&.animate {
transition: ease-out, top, 400ms, 0ms;
}
&.inactive {
.post-content {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVQYV2NkIALMnDlTkpGQOpCi9PT053gVwhSBDMOpEFkRToXoirAqxKYIQyEuRSgK8SmCKySkCKyQGEUghQC5OyXvW/4BHwAAAABJRU5ErkJggg==');
}
}
}
.post-list-title{
text-align: center;
font-size: 22px;
}
// ------------------------------------ posts views nav ------------------------------------ //
.posts-list-views{
background: white(0.6);
border-radius: 3px;
span, a{
display: inline-block;
margin-right: 10px;
}
.admin-item{
&:after{
content: "[A]";
font-size: 10px;
color: $red;
display: inline-block;
margin-left: 3px;
}
}
}
// ------------------------------ posts-list layout ------------------------------ //
.posts-list {
.post-module {
flex-shrink: 0;
flex-grow: 0;
margin-right: 10px;
}
.post-rank {
@include small {
display: none;
}
.post-rank-inner {
height: 25px;
position: relative;
}
span {
position: absolute;
top: 0px;
left: -60px;
display: block;
height: 25px;
line-height: 25px;
width: 30px;
text-align: right;
font-size: 18px;
// font-weight: bold;
color: black(0.2);
}
}
.post-upvote {
order: 1;
@include small {
display: none;
}
}
.post-content {
order: 2;
width: 100%;
// can shrink on mobile or desktop
flex-shrink: 1;
@include medium-large {
// but can only grow on desktop
flex-grow: 1;
// only be a flex container on desktop
display: flex;
}
align-items: center;
}
.post-info {
flex-grow: 1;
}
.post-share {
order: 3;
}
.post-discuss {
order: 7;
@include small {
display: none;
}
}
.post-share,
.post-discuss {
// width: 60px;
text-align: center;
// height: 60px;
// position: relative;
// top: -5px;
}
.post-actions {
order: 8;
@include small {
display: block;
}
}
.post-avatars {
order: 6;
@include small {
display: none;
}
}
.show-actions {
.post-content {
display: none;
}
.post-share,
.post-discuss,
.post-upvote {
flex-grow: 1;
display: block;
}
}
.action-label {
@include small {
display: block;
}
}
}
// ------------------------------ posts-grid layout ------------------------------ //
.posts-grid {
@include medium-large {
display: flex;
flex-wrap: wrap;
}
.post {
@include medium-large {
width: calc((100% - 20px)/3);
margin-right: 10px;
&:nth-of-type(3n) {
margin-right: 0;
}
}
margin-bottom: 10px;
display: block;
padding: 0;
position: relative;
padding-bottom: 40px;
&:after {
content: " ";
display: block;
position: absolute;
bottom: 40px;
left: 0px;
width: 100%;
border-bottom: 1px solid $lightest-grey;
}
}
.post-rank {
span {
position: absolute;
top: 0px;
right: 0px;
z-index: 1;
background: black(0.4);
color: white;
height: 24px;
width: 24px;
line-height: 24px;
vertical-align: middle;
text-align: center;
font-size: 14px;
// border-radius: 100%;
// box-shadow: 0px 0px 2px white(0.5);
}
}
.post-upvote {
position: absolute;
left: 3px;
bottom: 3px;
}
.post-content {
display: block;
}
.post-thumbnail {
margin-right: 0px;
a {
width: 100%;
}
}
.post-info {
padding: 10px;
}
.no-thumbnail .post-info {
padding-right: 35px;
}
.post-avatars {
position: absolute;
right: 48px;
bottom: 0px;
padding: 8px 0px;
}
.post-discuss {
position: absolute;
right: 8px;
bottom: 0px;
padding: 8px 0px 2px 0px;
}
}
// -------------------------------- post modules --------------------------------- //
.post-module.post-rank {
margin: 0;
}
.post{
.icon{
}
}
.post-upvote {
@include small{
text-align: center;
}
.upvote-link {
display: block;
.icon-upvote{
&:before {
top: -1px;
position: relative;
}
}
&.not-voted:hover {
i{
// opacity: 1;
text-shadow: none;
}
}
&.voted {
cursor: default;
i.icon-upvote {
display: none;
}
i.icon-voted {
border: 1px solid $lighter-text;
display: inline-block;
color: $lighter-text;
// opacity: 0.5;
}
}
}
}
.post-content {
min-height: $grid-unit - 30px;
.post-sticky {
display: block;
position: absolute;
right: -40px;
top: 16px;
font-size: 24px;
i {
color: $light-text;
}
span {
display: none;
}
}
}
.post-avatars {
display: inline-block;
display: flex;
.author-avatar {
display: block;
}
.post-commenters {
display: block;
border-left: 1px solid black(0.2);
padding-left: 5px;
}
.avatar-link {
display: inline-block;
margin-right: 5px;
&:last-child {
margin-right: 0px;
}
}
.avatar {
display: inline-block;
height: 24px;
width: 24px;
vertical-align: middle;
}
}
.post-author {
.avatar {
display: inline-block;
width: 20px;
height: 20px;
vertical-align: middle;
margin-right: 5px;
}
}
.post-discuss {
.action {
position: relative;
display: block;
padding: 0;
text-align: center;
color: $light-text;
margin-top: -4px;
}
.action-count {
position: absolute;
top: 13px;
display: block;
width: 100%;
height: 20px;
line-height: 20px;
font-size: 13px;
}
.icon-comment{
font-size: 30px;
}
}
.post-actions {
display: none;
text-align: right;
a {
display: block;
padding: 6px;
}
}
.post-share {
display: none;
}
// -------------------------------- post content --------------------------------- //
.post-heading {
margin-bottom: 3px;
line-height: 1.2;
.post-title {
@include small {
font-size: 15px;
}
@include medium-large {
font-size: 18px;
}
font-weight: normal;
&:visited {
color: $grey;
}
}
.post-domain {
color: $light-text;
@include small {
font-size: 13px;
}
@include medium-large {
font-size: 14px;
}
font-weight: normal;
}
}
.post-meta {
font-size: 13px;
color: $light-text;
line-height: 1.5;
@include small {
font-size: 11px;
line-height: 1.7;
}
a {
&:link,
&:visited,
&:active {
color: $medium-text;
}
&:hover {
color: $red;
}
}
}
.post-meta-item {
display: inline-block;
}
.post-body {
@extend .has-shadow;
border-radius: 3px;
margin-bottom: 10px;
background: white;
padding: 20px;
font-size: 16px;
.list & {
display: none;
}
}
.post.sticky {
background: $light-yellow;
}
// -------------------------------- mobile view --------------------------------- //
@include small {
.posts {
padding: 0;
.post-rank {
display: none;
}
}
.post {
.post-content {
margin-right: 50px;
margin-right: 0px;
// min-height: 90px;
.upvote-link {
width: 30px;
}
.post-info {
// margin-left: 30px;
padding: 13px 0;
}
.post-heading {
.post-title {
display: block;
margin-bottom: 4px;
}
.post-domain {
display: block;
margin-bottom: 4px;
font-size: 13px;
}
}
.post-meta {
font-size: 11px;
.unit {
font-size: 0;
&:after {
font-size: 12px;
content: "pts ";
}
}
}
}
}
}
// -------------------------------- other --------------------------------- //
.no-posts {
padding: 20px;
border: 1px solid black(0.1);
font-size: 14px;
border-radius: 3px;
// @extend .has-shadow;
margin-bottom: 10px;
color: black(0.5);
}
.empty-notice {
text-align: center;
padding: 10px 0;
&.edit-link {
color: $red;
}
&.share-link {
color: $light-text;
}
&.discuss-link {
color: $light-text;
}
&.more-link {
color: $blue;
}
&:hover {
&,
.action {
color: $red;
}
}
&.voted {
color: white;
cursor: default;
}
.points {
display: block;
font-size: 30px;
line-height: 50px;
}
}
.more-button {
display: block;
width: 100%;
height: $grid-unit;
background: black(0.05);
text-align: center;
color: white;
line-height: $grid-unit;
font-size: 18px;
border-radius: 0px 0px 3px 3px;
text-shadow: 0px 1px 1px 0px black(0.25);
padding: 0px;
&:hover {
background: black(0.15);
}
}
.module {
border-radius: 3px;
}