]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/video/video-miniature.component.html
Refactor my-subscribe-button to support full account subscription
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / video / video-miniature.component.html
CommitLineData
3a0fb65c 1<div class="video-miniature" [ngClass]="{ 'display-as-row': displayAsRow }" (mouseenter)="loadActions()">
b7819090
C
2 <my-video-thumbnail
3 [video]="video" [nsfw]="isVideoBlur"
4 [displayWatchLaterPlaylist]="isWatchLaterPlaylistDisplayed()" [inWatchLaterPlaylist]="inWatchLaterPlaylist" (watchLaterClick)="onWatchLaterClick($event)"
5 ></my-video-thumbnail>
501bc6c2 6
3a0fb65c
C
7 <div class="video-bottom">
8 <div class="video-miniature-information">
9 <a
10 tabindex="-1"
11 class="video-miniature-name"
12 [routerLink]="[ '/videos/watch', video.uuid ]" [attr.title]="video.name" [ngClass]="{ 'blur-filter': isVideoBlur }"
13 >
14 <ng-container *ngIf="displayOptions.privacyLabel">
15 <span *ngIf="isUnlistedVideo()" class="badge badge-warning" i18n>Unlisted</span>
16 <span *ngIf="isPrivateVideo()" class="badge badge-danger" i18n>Private</span>
17 </ng-container>
18
19 {{ video.name }}
20 </a>
21
22 <span class="video-miniature-created-at-views">
e8050208 23 <my-date-toggle *ngIf="displayOptions.date" [date]="video.publishedAt"></my-date-toggle>
9ea65414
C
24
25 <span class="views">
3921166d 26 <ng-container *ngIf="displayOptions.date && displayOptions.views"> • </ng-container>
41eb700f
RK
27 <ng-container i18n *ngIf="displayOptions.views">{{ video.views | myNumberFormatter }}
28 <ng-container *ngIf="video.views === 1; then single; else multiple"></ng-container>
29 <ng-template i18n #single>view</ng-template>
30 <ng-template i18n #multiple>views</ng-template>
31 </ng-container>
9ea65414 32 </span>
3a0fb65c
C
33 </span>
34
35 <a tabindex="-1" *ngIf="displayOptions.by && displayOwnerAccount()" class="video-miniature-account" [routerLink]="[ '/accounts', video.byAccount ]">
36 {{ video.byAccount }}
37 </a>
38 <a tabindex="-1" *ngIf="displayOptions.by && displayOwnerVideoChannel()" class="video-miniature-channel" [routerLink]="[ '/video-channels', video.byVideoChannel ]">
39 {{ video.byVideoChannel }}
40 </a>
41
42 <div class="video-info-privacy">
43 <ng-container *ngIf="displayOptions.privacyText">{{ video.privacy.label }}</ng-container>
dedc7abb 44 <ng-container *ngIf="displayOptions.privacyText && displayOptions.state && getStateLabel(video)"> - </ng-container>
3a0fb65c
C
45 <ng-container *ngIf="displayOptions.state">{{ getStateLabel(video) }}</ng-container>
46 </div>
47
48 <div *ngIf="displayOptions.blacklistInfo && video.blacklisted" class="video-info-blacklisted">
49 <span class="blacklisted-label" i18n>Blacklisted</span>
50 <span class="blacklisted-reason" *ngIf="video.blacklistedReason">{{ video.blacklistedReason }}</span>
51 </div>
52
53 <div i18n *ngIf="displayOptions.nsfw && video.nsfw" class="video-info-nsfw">
54 Sensitive
55 </div>
e2409062
C
56 </div>
57
3a0fb65c
C
58 <div class="video-actions">
59 <!-- FIXME: remove bottom placement when overflow is fixed in bootstrap dropdown -->
60 <my-video-actions-dropdown
61 *ngIf="showActions" [video]="video" [displayOptions]="videoActionsDisplayOptions" placement="bottom-left bottom-right left"
62 (videoRemoved)="onVideoRemoved()" (videoBlacklisted)="onVideoBlacklisted()" (videoUnblacklisted)="onVideoUnblacklisted()"
63 ></my-video-actions-dropdown>
e2409062 64 </div>
501bc6c2
C
65 </div>
66</div>