Add hover effect on video miniature
This commit is contained in:
parent
e5fc7811ae
commit
1aabcae7e3
|
@ -6,6 +6,8 @@
|
||||||
|
|
||||||
<div class="video-thumbnail-overlay">{{ video.durationLabel }}</div>
|
<div class="video-thumbnail-overlay">{{ video.durationLabel }}</div>
|
||||||
|
|
||||||
|
<div class="play-overlay"></div>
|
||||||
|
|
||||||
<div class="progress-bar" *ngIf="video.userHistory?.currentTime">
|
<div class="progress-bar" *ngIf="video.userHistory?.currentTime">
|
||||||
<div [ngStyle]="{ 'width.%': getProgressPercent() }"></div>
|
<div [ngStyle]="{ 'width.%': getProgressPercent() }"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
@import '_variables';
|
@import '_variables';
|
||||||
@import '_mixins';
|
@import '_mixins';
|
||||||
|
|
||||||
|
$play-overlay-transition: 0.2s ease;
|
||||||
|
$play-overlay-height: 26px;
|
||||||
|
$play-overlay-width: 18px;
|
||||||
|
|
||||||
.video-thumbnail {
|
.video-thumbnail {
|
||||||
|
@include disable-outline;
|
||||||
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
@ -9,12 +15,20 @@
|
||||||
width: $video-thumbnail-width;
|
width: $video-thumbnail-width;
|
||||||
height: $video-thumbnail-height;
|
height: $video-thumbnail-height;
|
||||||
background-color: #ececec;
|
background-color: #ececec;
|
||||||
|
transition: filter $play-overlay-transition;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: none !important;
|
text-decoration: none !important;
|
||||||
|
|
||||||
|
filter: brightness(85%);
|
||||||
|
|
||||||
|
.play-overlay {
|
||||||
|
opacity: 1;
|
||||||
|
|
||||||
|
transform: translate(-50%, -50%) scale(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@include disable-outline;
|
|
||||||
&.focus-visible {
|
&.focus-visible {
|
||||||
box-shadow: 0 0 0 2px var(--mainColor);
|
box-shadow: 0 0 0 2px var(--mainColor);
|
||||||
}
|
}
|
||||||
|
@ -29,6 +43,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.play-overlay {
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%) scale(0.5);
|
||||||
|
|
||||||
|
transition: all $play-overlay-transition;
|
||||||
|
|
||||||
|
border-top: calc(#{$play-overlay-height} / 2) solid transparent;
|
||||||
|
border-bottom: calc(#{$play-overlay-height} / 2) solid transparent;
|
||||||
|
|
||||||
|
border-left: $play-overlay-width solid rgba(255, 255, 255, 0.95);
|
||||||
|
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.progress-bar {
|
.progress-bar {
|
||||||
height: 3px;
|
height: 3px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
|
@ -45,11 +45,11 @@ export class VideoTrendingComponent extends AbstractVideoList implements OnInit,
|
||||||
|
|
||||||
if (trendingDays === 1) {
|
if (trendingDays === 1) {
|
||||||
this.titlePage = this.i18n('Trending for the last 24 hours')
|
this.titlePage = this.i18n('Trending for the last 24 hours')
|
||||||
this.titleTooltip = this.i18n('Trending videos are those totalizing the greatest number of views during the last 24 hours.')
|
this.titleTooltip = this.i18n('Trending videos are those totalizing the greatest number of views during the last 24 hours')
|
||||||
} else {
|
} else {
|
||||||
this.titlePage = this.i18n('Trending for the last {{days}} days', { days: trendingDays })
|
this.titlePage = this.i18n('Trending for the last {{days}} days', { days: trendingDays })
|
||||||
this.titleTooltip = this.i18n(
|
this.titleTooltip = this.i18n(
|
||||||
'Trending videos are those totalizing the greatest number of views during the last {{days}} days.',
|
'Trending videos are those totalizing the greatest number of views during the last {{days}} days',
|
||||||
{ days: trendingDays }
|
{ days: trendingDays }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue