Limit thumbnail sizes
This commit is contained in:
parent
7e4022a554
commit
cf78883c70
|
@ -3,7 +3,7 @@
|
||||||
@import '_miniature';
|
@import '_miniature';
|
||||||
|
|
||||||
.margin-content {
|
.margin-content {
|
||||||
@include adapt-margin-content-width;
|
@include fluid-videos-miniature-layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
.section {
|
.section {
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
<div *ngIf="isVideo(result)" class="entry video">
|
<div *ngIf="isVideo(result)" class="entry video">
|
||||||
<my-video-miniature
|
<my-video-miniature
|
||||||
[video]="result" [user]="user" [displayAsRow]="true" [displayVideoActions]="!hideActions()"
|
[video]="result" [user]="user" [displayAsRow]="true" [displayVideoActions]="!hideActions()"
|
||||||
[useLazyLoadUrl]="advancedSearch.searchTarget === 'search-index'"
|
[displayOptions]="videoDisplayOptions" [useLazyLoadUrl]="advancedSearch.searchTarget === 'search-index'"
|
||||||
(videoBlocked)="removeVideoFromArray(result)" (videoRemoved)="removeVideoFromArray(result)"
|
(videoBlocked)="removeVideoFromArray(result)" (videoRemoved)="removeVideoFromArray(result)"
|
||||||
></my-video-miniature>
|
></my-video-miniature>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,11 +8,11 @@ import { SearchService } from '@app/search/search.service'
|
||||||
import { immutableAssign } from '@app/shared/misc/utils'
|
import { immutableAssign } from '@app/shared/misc/utils'
|
||||||
import { ComponentPagination } from '@app/shared/rest/component-pagination.model'
|
import { ComponentPagination } from '@app/shared/rest/component-pagination.model'
|
||||||
import { VideoChannel } from '@app/shared/video-channel/video-channel.model'
|
import { VideoChannel } from '@app/shared/video-channel/video-channel.model'
|
||||||
|
import { MiniatureDisplayOptions } from '@app/shared/video/video-miniature.component'
|
||||||
import { Video } from '@app/shared/video/video.model'
|
import { Video } from '@app/shared/video/video.model'
|
||||||
import { MetaService } from '@ngx-meta/core'
|
import { MetaService } from '@ngx-meta/core'
|
||||||
import { I18n } from '@ngx-translate/i18n-polyfill'
|
import { I18n } from '@ngx-translate/i18n-polyfill'
|
||||||
import { ServerConfig } from '@shared/models'
|
import { ServerConfig } from '@shared/models'
|
||||||
import { UserService } from '@app/shared'
|
|
||||||
import { SearchTargetType } from '@shared/models/search/search-target-query.model'
|
import { SearchTargetType } from '@shared/models/search/search-target-query.model'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -32,6 +32,17 @@ export class SearchComponent implements OnInit, OnDestroy {
|
||||||
isSearchFilterCollapsed = true
|
isSearchFilterCollapsed = true
|
||||||
currentSearch: string
|
currentSearch: string
|
||||||
|
|
||||||
|
videoDisplayOptions: MiniatureDisplayOptions = {
|
||||||
|
date: true,
|
||||||
|
views: true,
|
||||||
|
by: true,
|
||||||
|
avatar: false,
|
||||||
|
privacyLabel: false,
|
||||||
|
privacyText: false,
|
||||||
|
state: false,
|
||||||
|
blacklistInfo: false
|
||||||
|
}
|
||||||
|
|
||||||
errorMessage: string
|
errorMessage: string
|
||||||
serverConfig: ServerConfig
|
serverConfig: ServerConfig
|
||||||
|
|
||||||
|
|
|
@ -36,11 +36,11 @@ export class ScreenService {
|
||||||
|
|
||||||
let numberOfVideos = 1
|
let numberOfVideos = 1
|
||||||
|
|
||||||
if (screenWidth > 1850) numberOfVideos = 6
|
if (screenWidth > 1850) numberOfVideos = 7
|
||||||
else if (screenWidth > 1600) numberOfVideos = 5
|
else if (screenWidth > 1600) numberOfVideos = 6
|
||||||
else if (screenWidth > 1370) numberOfVideos = 4
|
else if (screenWidth > 1370) numberOfVideos = 5
|
||||||
else if (screenWidth > 1100) numberOfVideos = 3
|
else if (screenWidth > 1100) numberOfVideos = 4
|
||||||
else if (screenWidth > 850) numberOfVideos = 2
|
else if (screenWidth > 850) numberOfVideos = 3
|
||||||
|
|
||||||
return numberOfVideos
|
return numberOfVideos
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,13 +35,15 @@
|
||||||
{{ getCurrentGroupedDateLabel(video) }}
|
{{ getCurrentGroupedDateLabel(video) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<my-video-miniature
|
<div class="video-wrapper">
|
||||||
[fitWidth]="true"
|
<my-video-miniature
|
||||||
[video]="video" [user]="user" [ownerDisplayType]="ownerDisplayType"
|
[fitWidth]="true"
|
||||||
[displayVideoActions]="displayVideoActions" [displayOptions]="displayOptions"
|
[video]="video" [user]="user" [ownerDisplayType]="ownerDisplayType"
|
||||||
(videoBlocked)="removeVideoFromArray(video)" (videoRemoved)="removeVideoFromArray(video)"
|
[displayVideoActions]="displayVideoActions" [displayOptions]="displayOptions"
|
||||||
>
|
(videoBlocked)="removeVideoFromArray(video)" (videoRemoved)="removeVideoFromArray(video)"
|
||||||
</my-video-miniature>
|
>
|
||||||
|
</my-video-miniature>
|
||||||
|
</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -3,24 +3,6 @@
|
||||||
@import '_mixins';
|
@import '_mixins';
|
||||||
@import '_miniature';
|
@import '_miniature';
|
||||||
|
|
||||||
.videos {
|
|
||||||
$column-width: #{$video-thumbnail-width - 25px};
|
|
||||||
|
|
||||||
display: grid;
|
|
||||||
column-gap: calc(10px + .2%);
|
|
||||||
grid-template-columns: repeat(
|
|
||||||
auto-fill,
|
|
||||||
minmax(
|
|
||||||
var(--miniature-min-width, #{$column-width}),
|
|
||||||
1fr
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
@media screen and (min-width: #{breakpoint(fhd)}) {
|
|
||||||
--miniature-min-width: #{$column-width + 100px};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.videos-header {
|
.videos-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
@ -74,8 +56,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:host-context(.main-col:not(.expanded)) .margin-content {
|
.margin-content {
|
||||||
@include adapt-margin-content-width($fluid: true);
|
@include fluid-videos-miniature-layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: $mobile-view) {
|
@media screen and (max-width: $mobile-view) {
|
||||||
|
@ -83,6 +65,7 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: auto;
|
height: auto;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
.title-page {
|
.title-page {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
|
|
|
@ -56,7 +56,7 @@ export abstract class AbstractVideoList implements OnInit, OnDestroy, DisableFor
|
||||||
date: true,
|
date: true,
|
||||||
views: true,
|
views: true,
|
||||||
by: true,
|
by: true,
|
||||||
avatar: true,
|
avatar: false,
|
||||||
privacyLabel: true,
|
privacyLabel: true,
|
||||||
privacyText: false,
|
privacyText: false,
|
||||||
state: false,
|
state: false,
|
||||||
|
@ -139,6 +139,11 @@ export abstract class AbstractVideoList implements OnInit, OnDestroy, DisableFor
|
||||||
if (this.hasDoneFirstQuery) this.reloadVideos()
|
if (this.hasDoneFirstQuery) this.reloadVideos()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Display avatar in mobile view
|
||||||
|
if (this.screenService.isInMobileView()) {
|
||||||
|
this.displayOptions.avatar = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy () {
|
ngOnDestroy () {
|
||||||
|
|
|
@ -9,32 +9,34 @@
|
||||||
|
|
||||||
<div class="video-bottom">
|
<div class="video-bottom">
|
||||||
<div class="video-miniature-information">
|
<div class="video-miniature-information">
|
||||||
<a
|
|
||||||
tabindex="-1"
|
|
||||||
class="video-miniature-name"
|
|
||||||
[routerLink]="videoLink" [attr.title]="video.name" [ngClass]="{ 'blur-filter': isVideoBlur }"
|
|
||||||
>{{ video.name }}</a>
|
|
||||||
|
|
||||||
<div class="d-inline-flex">
|
<div class="d-inline-flex">
|
||||||
<avatar-channel *ngIf="displayOptions.avatar" class="mr-1 pt-1" [video]="video" size="sm"></avatar-channel>
|
<div *ngIf="displayOptions.avatar" class="avatar">
|
||||||
|
<img [src]="getAvatarUrl()" alt="Avatar" />
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="d-flex flex-column">
|
<div class="d-flex flex-column">
|
||||||
|
<a
|
||||||
|
tabindex="-1"
|
||||||
|
class="video-miniature-name"
|
||||||
|
[routerLink]="videoLink" [attr.title]="video.name" [ngClass]="{ 'blur-filter': isVideoBlur }"
|
||||||
|
>{{ video.name }}</a>
|
||||||
|
|
||||||
<span class="video-miniature-created-at-views">
|
<span class="video-miniature-created-at-views">
|
||||||
<my-date-toggle *ngIf="displayOptions.date" [date]="video.publishedAt"></my-date-toggle>
|
<my-date-toggle *ngIf="displayOptions.date" [date]="video.publishedAt"></my-date-toggle>
|
||||||
|
|
||||||
<span class="views">
|
<span class="views">
|
||||||
<ng-container *ngIf="displayOptions.date && displayOptions.views"> • </ng-container>
|
<ng-container *ngIf="displayOptions.date && displayOptions.views"> • </ng-container>
|
||||||
<ng-container i18n *ngIf="displayOptions.views">{video.views, plural, =1 {1 view} other {{{ video.views | myNumberFormatter }} views}}</ng-container>
|
<ng-container i18n *ngIf="displayOptions.views">{video.views, plural, =1 {1 view} other {{{ video.views | myNumberFormatter }} views}}</ng-container>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<a tabindex="-1" *ngIf="displayOptions.by && displayOwnerAccount()" class="video-miniature-account" [routerLink]="[ '/accounts', video.byAccount ]">
|
<a tabindex="-1" *ngIf="displayOptions.by && displayOwnerAccount()" class="video-miniature-account" [routerLink]="[ '/accounts', video.byAccount ]">
|
||||||
{{ video.byAccount }}
|
{{ video.byAccount }}
|
||||||
</a>
|
</a>
|
||||||
<a tabindex="-1" *ngIf="displayOptions.by && displayOwnerVideoChannel()" class="video-miniature-channel" [routerLink]="[ '/video-channels', video.byVideoChannel ]">
|
<a tabindex="-1" *ngIf="displayOptions.by && displayOwnerVideoChannel()" class="video-miniature-channel" [routerLink]="[ '/video-channels', video.byVideoChannel ]">
|
||||||
{{ video.byVideoChannel }}
|
{{ video.byVideoChannel }}
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div class="video-info-privacy">
|
<div class="video-info-privacy">
|
||||||
<ng-container *ngIf="displayOptions.privacyText">{{ video.privacy.label }}</ng-container>
|
<ng-container *ngIf="displayOptions.privacyText">{{ video.privacy.label }}</ng-container>
|
||||||
<ng-container *ngIf="displayOptions.privacyText && displayOptions.state && getStateLabel(video)"> - </ng-container>
|
<ng-container *ngIf="displayOptions.privacyText && displayOptions.state && getStateLabel(video)"> - </ng-container>
|
||||||
|
|
|
@ -19,16 +19,22 @@ $more-margin-right: 15px;
|
||||||
.video-miniature-information {
|
.video-miniature-information {
|
||||||
width: $video-miniature-width - $more-button-width - $more-margin-right;
|
width: $video-miniature-width - $more-button-width - $more-margin-right;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
font-size: 13px;
|
|
||||||
|
.avatar {
|
||||||
|
margin: 10px 10px 0 0;
|
||||||
|
|
||||||
|
img {
|
||||||
|
@include avatar(40px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.video-miniature-name {
|
.video-miniature-name {
|
||||||
@include miniature-name;
|
@include miniature-name;
|
||||||
font-size: 110%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.video-miniature-created-at-views {
|
.video-miniature-created-at-views {
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 95%;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.video-miniature-account,
|
.video-miniature-account,
|
||||||
|
@ -37,7 +43,7 @@ $more-margin-right: 15px;
|
||||||
@include ellipsis;
|
@include ellipsis;
|
||||||
|
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 95%;
|
font-size: 13px;
|
||||||
color: pvar(--greyForegroundColor);
|
color: pvar(--greyForegroundColor);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
|
|
@ -178,6 +178,14 @@ export class VideoMiniatureComponent implements OnInit {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getAvatarUrl () {
|
||||||
|
if (this.ownerDisplayTypeChosen === 'account') {
|
||||||
|
return this.video.accountAvatarUrl
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.video.videoChannelAvatarUrl
|
||||||
|
}
|
||||||
|
|
||||||
loadActions () {
|
loadActions () {
|
||||||
if (this.displayVideoActions) this.showActions = true
|
if (this.displayVideoActions) this.showActions = true
|
||||||
|
|
||||||
|
|
|
@ -7,25 +7,29 @@
|
||||||
>
|
>
|
||||||
<ng-container *ngFor="let overview of overviews">
|
<ng-container *ngFor="let overview of overviews">
|
||||||
|
|
||||||
<div class="section" *ngFor="let object of overview.categories">
|
<div class="section videos" *ngFor="let object of overview.categories">
|
||||||
<div class="section-title">
|
<div class="section-title">
|
||||||
<a routerLink="/search" [queryParams]="{ categoryOneOf: [ object.category.id ] }">{{ object.category.label }}</a>
|
<a routerLink="/search" [queryParams]="{ categoryOneOf: [ object.category.id ] }">{{ object.category.label }}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<my-video-miniature class="pr-2" *ngFor="let video of buildVideos(object.videos)" [video]="video" [user]="user" [displayVideoActions]="false">
|
<div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)">
|
||||||
</my-video-miniature>
|
<my-video-miniature [video]="video" [fitWidth]="true" [user]="user" [displayVideoActions]="false">
|
||||||
|
</my-video-miniature>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="section" *ngFor="let object of overview.tags">
|
<div class="section videos" *ngFor="let object of overview.tags">
|
||||||
<div class="section-title">
|
<div class="section-title">
|
||||||
<a routerLink="/search" [queryParams]="{ tagsOneOf: [ object.tag ] }">#{{ object.tag }}</a>
|
<a routerLink="/search" [queryParams]="{ tagsOneOf: [ object.tag ] }">#{{ object.tag }}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<my-video-miniature class="pr-2" *ngFor="let video of buildVideos(object.videos)" [video]="video" [user]="user" [displayVideoActions]="false">
|
<div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)">
|
||||||
</my-video-miniature>
|
<my-video-miniature [video]="video" [fitWidth]="true" [user]="user" [displayVideoActions]="false">
|
||||||
|
</my-video-miniature>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="section channel" *ngFor="let object of overview.channels">
|
<div class="section channel videos" *ngFor="let object of overview.channels">
|
||||||
<div class="section-title">
|
<div class="section-title">
|
||||||
<a [routerLink]="[ '/video-channels', buildVideoChannelBy(object) ]">
|
<a [routerLink]="[ '/video-channels', buildVideoChannelBy(object) ]">
|
||||||
<img [src]="buildVideoChannelAvatarUrl(object)" alt="Avatar" />
|
<img [src]="buildVideoChannelAvatarUrl(object)" alt="Avatar" />
|
||||||
|
@ -34,8 +38,10 @@
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<my-video-miniature class="pr-2" *ngFor="let video of buildVideos(object.videos)" [video]="video" [user]="user" [displayVideoActions]="false">
|
<div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)">
|
||||||
</my-video-miniature>
|
<my-video-miniature [video]="video" [fitWidth]="true" [user]="user" [displayVideoActions]="false">
|
||||||
|
</my-video-miniature>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
|
@ -2,8 +2,13 @@
|
||||||
@import '_mixins';
|
@import '_mixins';
|
||||||
@import '_miniature';
|
@import '_miniature';
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
// make the element span a full grid row within .videos grid
|
||||||
|
grid-column: 1 / -1;
|
||||||
|
}
|
||||||
|
|
||||||
.margin-content {
|
.margin-content {
|
||||||
@include adapt-margin-content-width;
|
@include fluid-videos-miniature-layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
.section {
|
.section {
|
||||||
|
|
|
@ -18,7 +18,7 @@ $grid-breakpoints: (
|
||||||
xxl: 1600px,
|
xxl: 1600px,
|
||||||
|
|
||||||
// SCREEN GROUP
|
// SCREEN GROUP
|
||||||
fhd: 1920px,
|
fhd: 1800px,
|
||||||
qhd: 2560px,
|
qhd: 2560px,
|
||||||
uhd: 3840px
|
uhd: 3840px
|
||||||
);
|
);
|
||||||
|
|
|
@ -108,38 +108,6 @@ $play-overlay-width: 18px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin video-miniature-small-screen {
|
|
||||||
text-align: center;
|
|
||||||
|
|
||||||
::ng-deep .video-miniature {
|
|
||||||
padding-right: 0;
|
|
||||||
height: auto;
|
|
||||||
width: 100%;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
|
|
||||||
.video-miniature-information {
|
|
||||||
width: 100% !important;
|
|
||||||
text-align: left;
|
|
||||||
|
|
||||||
span {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-thumbnail {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
width: 100%;
|
|
||||||
height: calc(100% / #{$video-thumbnail-ratio});
|
|
||||||
border-radius: 0;
|
|
||||||
|
|
||||||
img {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin miniature-rows {
|
@mixin miniature-rows {
|
||||||
&:first-child {
|
&:first-child {
|
||||||
padding-top: 30px;
|
padding-top: 30px;
|
||||||
|
@ -149,10 +117,6 @@ $play-overlay-width: 18px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my-video-miniature {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.section-title {
|
.section-title {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: $font-semibold;
|
font-weight: $font-semibold;
|
||||||
|
@ -213,44 +177,81 @@ $play-overlay-width: 18px;
|
||||||
max-height: initial;
|
max-height: initial;
|
||||||
overflow: initial;
|
overflow: initial;
|
||||||
|
|
||||||
@include video-miniature-small-screen;
|
|
||||||
|
|
||||||
.section-title {
|
.section-title {
|
||||||
font-size: 17px;
|
font-size: 17px;
|
||||||
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin adapt-margin-content-width($fluid: false) {
|
@mixin fluid-videos-miniature-layout {
|
||||||
@if $fluid {
|
margin-left: 3vw !important;
|
||||||
margin-left: 3vw !important;
|
margin-right: 3vw !important;
|
||||||
margin-right: 3vw !important;
|
|
||||||
} @else {
|
|
||||||
width: $video-miniature-width * 6;
|
|
||||||
margin: auto !important;
|
|
||||||
|
|
||||||
@media screen and (max-width: 1800px) {
|
@media screen and (max-width: $mobile-view) {
|
||||||
width: $video-miniature-width * 5;
|
width: auto;
|
||||||
|
margin: 0 !important;
|
||||||
|
|
||||||
|
.videos {
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
::ng-deep .video-miniature {
|
||||||
|
padding-right: 0;
|
||||||
|
height: auto;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
|
||||||
|
.video-miniature-information {
|
||||||
|
width: 100% !important;
|
||||||
|
text-align: left;
|
||||||
|
|
||||||
|
span {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-thumbnail {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1800px - $video-miniature-width) {
|
@media screen and (min-width: #{breakpoint(fhd)}) {
|
||||||
width: $video-miniature-width * 4;
|
margin-left: 6vw !important;
|
||||||
}
|
margin-right: 6vw !important;
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1800px - (2* $video-miniature-width)) {
|
@media screen and (min-width: $mobile-view) {
|
||||||
width: $video-miniature-width * 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 1800px - (3* $video-miniature-width)) {
|
.videos {
|
||||||
width: $video-miniature-width * 2;
|
--miniature-min-width: #{$video-thumbnail-width - 15px};
|
||||||
}
|
--miniature-max-width: #{$video-thumbnail-width};
|
||||||
|
|
||||||
@media screen and (max-width: $mobile-view) {
|
display: grid;
|
||||||
width: auto;
|
column-gap: 5px;
|
||||||
margin: 0 !important;
|
grid-template-columns: repeat(
|
||||||
|
auto-fill,
|
||||||
|
minmax(
|
||||||
|
var(--miniature-min-width),
|
||||||
|
1fr
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
.videos {
|
@media screen and (min-width: #{breakpoint(fhd)}) {
|
||||||
@include video-miniature-small-screen;
|
column-gap: 1%;
|
||||||
|
--miniature-min-width: #{$video-thumbnail-width};
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-wrapper {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
my-video-miniature {
|
||||||
|
display: block;
|
||||||
|
min-width: var(--miniature-min-width);
|
||||||
|
max-width: var(--miniature-max-width);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,6 @@ $video-miniature-width: 238px;
|
||||||
$video-miniature-margin-bottom: 30px;
|
$video-miniature-margin-bottom: 30px;
|
||||||
$video-thumbnail-height: 122px;
|
$video-thumbnail-height: 122px;
|
||||||
$video-thumbnail-width: 223px;
|
$video-thumbnail-width: 223px;
|
||||||
$video-thumbnail-ratio: $video-thumbnail-width / $video-thumbnail-height;
|
|
||||||
|
|
||||||
$theater-bottom-space: 115px;
|
$theater-bottom-space: 115px;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue