client/src/app/+videos/video-list/overview/video-overview.component.html
<h1 class="visually-hidden" i18n>Discover</h1>
<div class="margin-content">
<div class="no-results" i18n *ngIf="notResults">No results.</div>
<div
myInfiniteScroller (nearOfBottom)="onNearOfBottom()" [dataObservable]="onDataSubject.asObservable()"
>
<ng-container *ngFor="let overview of overviews">
<div class="section videos" *ngFor="let object of overview.categories">
<h1 class="section-title">
<a class="link-orange" routerLink="/search" [queryParams]="{ categoryOneOf: [ object.category.id ] }">{{ object.category.label }}</a>
</h1>
<div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)">
<my-video-miniature [video]="video" [user]="userMiniature" [displayVideoActions]="true">
</my-video-miniature>
</div>
</div>
<div class="section videos" *ngFor="let object of overview.tags">
<h2 class="section-title">
<a class="link-orange" routerLink="/search" [queryParams]="{ tagsOneOf: [ object.tag ] }">#{{ object.tag }}</a>
</h2>
<div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)">
<my-video-miniature [video]="video" [user]="userMiniature" [displayVideoActions]="true">
</my-video-miniature>
</div>
</div>
<div class="section channel videos" *ngFor="let object of overview.channels">
<div class="section-title">
<a class="link-orange" [routerLink]="[ '/c', buildVideoChannelBy(object) ]">
<my-actor-avatar [actor]="buildVideoChannel(object)" actorType="channel" size="28"></my-actor-avatar>
<h2 class="section-title">{{ object.channel.displayName }}</h2>
</a>
</div>
<div class="video-wrapper" *ngFor="let video of buildVideos(object.videos)">
<my-video-miniature [video]="video" [user]="userMiniature" [displayVideoActions]="true">
</my-video-miniature>
</div>
</div>
</ng-container>
</div>
</div>