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

162 lines
3.3 KiB
SCSS
Raw Normal View History

2021-05-27 16:25:00 +00:00
@use '_variables' as *;
@use '_mixins' as *;
2019-03-06 14:36:44 +00:00
@mixin miniature-name {
2021-05-05 07:44:24 +00:00
@include peertube-word-wrap(false);
2023-03-15 13:20:26 +00:00
font-size: 1.1em;
2019-03-06 14:36:44 +00:00
transition: color 0.2s;
font-weight: $font-semibold;
color: pvar(--mainForegroundColor);
2019-03-06 14:36:44 +00:00
&:hover {
text-decoration: none;
}
&.blur-filter {
2021-06-07 15:38:31 +00:00
@include padding-left(4px);
2019-03-06 14:36:44 +00:00
filter: blur(3px);
}
}
2019-03-13 13:18:58 +00:00
@mixin miniature-thumbnail {
$play-overlay-transition: 0.2s ease;
$play-overlay-height: 26px;
$play-overlay-width: 18px;
2021-04-28 14:41:07 +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;
width: 100%;
height: 100%;
2019-03-06 14:36:44 +00:00
overflow: hidden;
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
2021-04-28 14:41:07 +00:00
&,
.icon {
2019-03-06 14:36:44 +00:00
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);
2021-04-28 14:41:07 +00:00
transform: scale(1.03);
2019-03-06 14:36:44 +00:00
}
}
}
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;
}
2021-03-26 14:53:18 +00:00
// Use margin by default, or padding if $margin is false
@mixin grid-videos-miniature-margins ($margin: true, $min-margin: 0) {
--gridVideosMiniatureMargins: #{pvar(--videosHorizontalMarginContent)};
2021-03-31 09:21:10 +00:00
2021-03-26 14:53:18 +00:00
@if $margin {
2021-06-07 15:38:31 +00:00
@include margin-left(var(--gridVideosMiniatureMargins) !important);
@include margin-right(var(--gridVideosMiniatureMargins) !important);
2021-03-26 14:53:18 +00:00
} @else {
2021-06-07 15:38:31 +00:00
@include padding-left(var(--gridVideosMiniatureMargins) !important);
@include padding-right(var(--gridVideosMiniatureMargins) !important);
2021-03-26 14:53:18 +00:00
}
2020-06-11 12:33:33 +00:00
@media screen and (max-width: $mobile-view) {
--gridVideosMiniatureMargins: #{$min-margin};
2021-03-31 09:21:10 +00:00
width: auto;
2021-03-26 14:53:18 +00:00
}
}
@mixin grid-videos-miniature-layout {
2020-06-11 12:33:33 +00:00
@media screen and (min-width: $mobile-view) {
.videos,
.playlists {
--miniatureMinWidth: #{$video-thumbnail-width - 25px};
2021-03-31 09:47:47 +00:00
--miniatureMaxWidth: #{$video-thumbnail-width};
2020-06-11 12:33:33 +00:00
display: grid;
column-gap: 30px;
2020-06-11 12:33:33 +00:00
grid-template-columns: repeat(
auto-fill,
2021-04-28 14:41:07 +00:00
minmax(var(--miniatureMinWidth), 1fr)
2020-06-11 12:33:33 +00:00
);
.video-wrapper,
.playlist-wrapper {
2020-06-11 12:33:33 +00:00
margin: 0 auto;
width: 100%;
my-video-miniature,
my-video-playlist-miniature {
2020-06-11 12:33:33 +00:00
display: block;
2021-03-31 09:47:47 +00:00
min-width: var(--miniatureMinWidth);
max-width: var(--miniatureMaxWidth);
2020-06-11 12:33:33 +00:00
}
}
@media screen and (min-width: #{breakpoint(xm)}) {
column-gap: 15px;
}
@media screen and (min-width: #{breakpoint(fhd)}) {
column-gap: 2%;
}
}
}
}
2021-06-09 08:59:20 +00:00
@mixin grid-videos-miniature-layout-with-margins {
@include grid-videos-miniature-margins;
@include grid-videos-miniature-layout;
}