1
0
Fork 0
peertube/client/src/sass/include/_miniature.scss

260 lines
5.0 KiB
SCSS
Raw Normal View History

2019-03-06 14:36:44 +00:00
@import '_variables';
@import '_mixins';
@mixin miniature-name {
2019-04-03 12:18:23 +00:00
@include ellipsis-multiline(1.1em, 2);
2019-03-06 14:36:44 +00:00
transition: color 0.2s;
font-weight: $font-semibold;
color: pvar(--mainForegroundColor);
2019-04-03 12:18:23 +00:00
margin-top: 10px;
2019-03-06 14:36:44 +00:00
margin-bottom: 5px;
&:hover {
text-decoration: none;
}
&.blur-filter {
filter: blur(3px);
padding-left: 4px;
}
}
$play-overlay-transition: 0.2s ease;
$play-overlay-height: 26px;
$play-overlay-width: 18px;
2019-03-13 13:18:58 +00:00
@mixin miniature-thumbnail {
2019-03-06 14:36:44 +00:00
@include disable-outline;
2019-04-03 12:18:23 +00:00
display: flex;
flex-direction: column;
2019-03-06 14:36:44 +00:00
position: relative;
border-radius: 3px;
overflow: hidden;
2019-03-13 13:18:58 +00:00
width: $video-thumbnail-width;
height: $video-thumbnail-height;
2019-03-06 14:36:44 +00:00
background-color: #ececec;
transition: filter $play-overlay-transition;
.play-overlay {
position: absolute;
right: 0;
bottom: 0;
2019-03-11 15:23:33 +00:00
width: inherit;
height: inherit;
2019-03-06 14:36:44 +00:00
opacity: 0;
background-color: rgba(0, 0, 0, 0.3);
2019-03-06 14:36:44 +00:00
&, .icon {
transition: all $play-overlay-transition;
}
.icon {
2020-08-07 11:46:58 +00:00
@include play-icon($play-overlay-width, $play-overlay-height);
2019-03-06 14:36:44 +00:00
}
}
&:hover {
text-decoration: none !important;
.play-overlay {
opacity: 1;
.icon {
transform: translate(-50%, -50%) scale(1);
}
}
}
&.focus-visible {
box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest);
outline: none;
2019-03-06 14:36:44 +00:00
}
img {
2019-03-11 15:23:33 +00:00
width: inherit;
height: inherit;
2019-03-06 14:36:44 +00:00
&.blur-filter {
filter: blur(20px);
2019-03-06 14:36:44 +00:00
transform : scale(1.03);
}
}
}
2019-03-13 13:18:58 +00:00
@mixin thumbnail-size-component ($width, $height) {
2019-07-24 14:12:35 +00:00
::ng-deep .video-thumbnail {
2019-03-13 13:18:58 +00:00
width: $width;
height: $height;
}
}
2019-03-06 14:36:44 +00:00
@mixin static-thumbnail-overlay {
display: inline-block;
background-color: rgba(0, 0, 0, 0.7);
color: #fff;
}
@mixin miniature-rows {
&:first-child {
padding-top: 30px;
.section-title {
border-top: none !important;
}
}
.section-title {
font-size: 24px;
font-weight: $font-semibold;
padding-top: 15px;
margin-bottom: 15px;
display: flex;
justify-content: space-between;
&:not(h2) {
border-top: 1px solid $separator-border-color;
}
a {
&:hover, &:focus:not(.focus-visible), &:active {
text-decoration: none;
outline: none;
}
color: pvar(--mainForegroundColor);
}
}
&.channel {
.section-title {
a {
display: flex;
width: fit-content;
align-items: center;
img {
2021-03-29 14:45:35 +00:00
@include channel-avatar(28px);
margin-right: 8px;
}
}
.followers {
color: pvar(--greyForegroundColor);
font-weight: normal;
font-size: 14px;
margin-left: 10px;
position: relative;
top: 2px;
}
}
}
.show-more {
position: relative;
top: -5px;
display: inline-block;
font-size: 16px;
text-transform: uppercase;
color: pvar(--greyForegroundColor);
margin-bottom: 10px;
font-weight: $font-semibold;
text-decoration: none;
}
@media screen and (max-width: $mobile-view) {
max-height: initial;
overflow: initial;
.section-title {
font-size: 17px;
2020-06-11 12:33:33 +00:00
margin-left: 10px;
}
}
}
2021-03-26 14:53:18 +00:00
// Use margin by default, or padding if $margin is false
@mixin fluid-videos-miniature-margins ($margin: true, $min-margin: 0) {
2021-03-31 09:21:10 +00:00
--fluidVideosMiniatureMargins: #{pvar(--horizontalMarginContent)};
2021-03-26 14:53:18 +00:00
@if $margin {
2021-03-31 09:21:10 +00:00
margin-left: var(--fluidVideosMiniatureMargins) !important;
margin-right: var(--fluidVideosMiniatureMargins) !important;
2021-03-26 14:53:18 +00:00
} @else {
2021-03-31 09:21:10 +00:00
padding-left: var(--fluidVideosMiniatureMargins) !important;
padding-right: var(--fluidVideosMiniatureMargins) !important;
2021-03-26 14:53:18 +00:00
}
2020-06-11 12:33:33 +00:00
@media screen and (max-width: $mobile-view) {
2021-03-31 09:21:10 +00:00
--fluidVideosMiniatureMargins: $min-margin;
2021-03-31 09:21:10 +00:00
width: auto;
2021-03-26 14:53:18 +00:00
}
}
@mixin fluid-videos-miniature-layout {
@include fluid-videos-miniature-margins;
@media screen and (max-width: $mobile-view) {
2020-06-11 12:33:33 +00:00
.videos {
text-align: center;
2020-06-11 12:33:33 +00:00
::ng-deep .video-miniature {
padding-right: 0;
height: auto;
width: 100%;
margin-bottom: 25px;
2020-06-11 12:33:33 +00:00
.video-miniature-information {
width: 100% !important;
text-align: left;
span {
width: 100%;
}
}
.video-thumbnail {
border-radius: 0;
}
}
}
2020-06-11 12:33:33 +00:00
}
@media screen and (min-width: $mobile-view) {
.videos {
--miniature-min-width: #{$video-thumbnail-width - 15px};
--miniature-max-width: #{$video-thumbnail-width};
display: grid;
column-gap: 5px;
grid-template-columns: repeat(
auto-fill,
minmax(
var(--miniature-min-width),
1fr
)
);
@media screen and (min-width: #{breakpoint(fhd)}) {
column-gap: 1%;
--miniature-min-width: #{$video-thumbnail-width};
}
.video-wrapper {
margin: 0 auto;
width: 100%;
2020-06-11 12:33:33 +00:00
my-video-miniature {
display: block;
min-width: var(--miniature-min-width);
max-width: var(--miniature-max-width);
}
}
}
}
}