38 lines
1.4 KiB
HTML
38 lines
1.4 KiB
HTML
<div class="miniature" [ngClass]="{ 'no-videos': playlist.videosLength === 0, 'to-manage': toManage, 'display-as-row': displayAsRow }">
|
|
<my-link
|
|
[internalLink]="routerLink" [href]="playlistHref" [target]="playlistTarget"
|
|
[title]="playlist.description" class="miniature-thumbnail"
|
|
>
|
|
<img alt="" [attr.aria-labelledby]="playlist.displayName" [attr.src]="playlist.thumbnailUrl" />
|
|
|
|
<div class="miniature-playlist-info-overlay">
|
|
<ng-container i18n>{playlist.videosLength, plural, =0 {No videos} =1 {1 video} other {{{ playlist.videosLength }} videos}}</ng-container>
|
|
</div>
|
|
|
|
<div class="play-overlay">
|
|
<div class="icon"></div>
|
|
</div>
|
|
</my-link>
|
|
|
|
<div class="miniature-info">
|
|
<my-link
|
|
[internalLink]="routerLink" [href]="playlistHref" [target]="playlistTarget"
|
|
[title]="playlist.description" class="miniature-name" tabindex="-1"
|
|
>
|
|
{{ playlist.displayName }}
|
|
</my-link>
|
|
|
|
<a i18n [routerLink]="[ '/c', playlist.videoChannelBy ]" class="by" *ngIf="displayChannel && playlist.videoChannelBy">
|
|
{{ playlist.videoChannelBy }}
|
|
</a>
|
|
|
|
<div class="privacy-date">
|
|
<span class="privacy" *ngIf="displayPrivacy">{{ playlist.privacy.label }}</span>
|
|
|
|
<span i18n class="updated-at">Updated {{ playlist.updatedAt | myFromNow }}</span>
|
|
</div>
|
|
|
|
<div *ngIf="displayDescription" class="description" [innerHTML]="playlistDescription"></div>
|
|
</div>
|
|
</div>
|