Add hover effect on video miniature

This commit is contained in:
Chocobozzz 2019-02-20 14:56:18 +01:00
parent e5fc7811ae
commit 1aabcae7e3
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 38 additions and 3 deletions

View File

@ -6,6 +6,8 @@
<div class="video-thumbnail-overlay">{{ video.durationLabel }}</div>
<div class="play-overlay"></div>
<div class="progress-bar" *ngIf="video.userHistory?.currentTime">
<div [ngStyle]="{ 'width.%': getProgressPercent() }"></div>
</div>

View File

@ -1,7 +1,13 @@
@import '_variables';
@import '_mixins';
$play-overlay-transition: 0.2s ease;
$play-overlay-height: 26px;
$play-overlay-width: 18px;
.video-thumbnail {
@include disable-outline;
display: inline-block;
position: relative;
border-radius: 3px;
@ -9,12 +15,20 @@
width: $video-thumbnail-width;
height: $video-thumbnail-height;
background-color: #ececec;
transition: filter $play-overlay-transition;
&:hover {
text-decoration: none !important;
filter: brightness(85%);
.play-overlay {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
}
@include disable-outline;
&.focus-visible {
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 {
height: 3px;
width: 100%;

View File

@ -45,11 +45,11 @@ export class VideoTrendingComponent extends AbstractVideoList implements OnInit,
if (trendingDays === 1) {
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 {
this.titlePage = this.i18n('Trending for the last {{days}} days', { days: trendingDays })
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 }
)
}