]>
Commit | Line | Data |
---|---|---|
1 | <div class="margin-content"> | |
2 | <div class="videos-header"> | |
3 | <h1 *ngIf="titlePage" class="title-page title-page-single"> | |
4 | <div placement="bottom" [ngbTooltip]="titleTooltip" container="body"> | |
5 | {{ titlePage }} | |
6 | </div> | |
7 | </h1> | |
8 | ||
9 | <div class="action-block"> | |
10 | <my-feed *ngIf="titlePage" [syndicationItems]="syndicationItems"></my-feed> | |
11 | <ng-container *ngFor="let action of actions"> | |
12 | <a *ngIf="action.routerLink" class="ml-2" [routerLink]="action.routerLink" routerLinkActive="active"> | |
13 | <ng-container *ngTemplateOutlet="actionContent; context:{ $implicit: action }"></ng-container> | |
14 | </a> | |
15 | ||
16 | <a *ngIf="!action.routerLink && !action.href && action.click" class="ml-2" (click)="action.click($event)" (key.enter)="action.click($event)"> | |
17 | <ng-container *ngTemplateOutlet="actionContent; context:{ $implicit: action }"></ng-container> | |
18 | </a> | |
19 | ||
20 | <a *ngIf="!action.routerLink && action.href && action.click" class="ml-2" (click)="action.click($event)" (key.enter)="action.click($event)" [href]="action.href"> | |
21 | <ng-container *ngTemplateOutlet="actionContent; context:{ $implicit: action }"></ng-container> | |
22 | </a> | |
23 | ||
24 | <ng-template #actionContent let-action> | |
25 | <my-button *ngIf="!action.justIcon" [icon]="action.iconName" [label]="action.label"></my-button> | |
26 | <my-button *ngIf="action.justIcon" [icon]="action.iconName" [ngbTooltip]="action.label"></my-button> | |
27 | </ng-template> | |
28 | </ng-container> | |
29 | </div> | |
30 | ||
31 | <div class="moderation-block" *ngIf="displayModerationBlock"> | |
32 | <div class="c-hand" ngbDropdown placement="bottom-right auto"> | |
33 | <my-global-icon iconName="cog" ngbDropdownToggle></my-global-icon> | |
34 | ||
35 | <div role="menu" class="dropdown-menu" ngbDropdownMenu> | |
36 | <div class="dropdown-item"> | |
37 | <my-peertube-checkbox | |
38 | (change)="toggleModerationDisplay()" | |
39 | inputName="display-unlisted-private" i18n-labelText labelText="Display all videos (private, unlisted or not yet published)" | |
40 | ></my-peertube-checkbox> | |
41 | </div> | |
42 | </div> | |
43 | </div> | |
44 | </div> | |
45 | </div> | |
46 | ||
47 | <div class="no-results" i18n *ngIf="hasDoneFirstQuery && videos.length === 0">No results.</div> | |
48 | <div | |
49 | myInfiniteScroller (nearOfBottom)="onNearOfBottom()" [autoInit]="true" [dataObservable]="onDataSubject.asObservable()" | |
50 | class="videos" | |
51 | > | |
52 | <ng-container *ngFor="let video of videos; trackBy: videoById;"> | |
53 | <h2 class="date-title" *ngIf="getCurrentGroupedDateLabel(video)"> | |
54 | {{ getCurrentGroupedDateLabel(video) }} | |
55 | </h2> | |
56 | ||
57 | <div class="video-wrapper"> | |
58 | <my-video-miniature | |
59 | [fitWidth]="true" | |
60 | [video]="video" [user]="userMiniature" [ownerDisplayType]="ownerDisplayType" | |
61 | [displayVideoActions]="displayVideoActions" [displayOptions]="displayOptions" | |
62 | (videoBlocked)="removeVideoFromArray(video)" (videoRemoved)="removeVideoFromArray(video)" | |
63 | > | |
64 | </my-video-miniature> | |
65 | </div> | |
66 | </ng-container> | |
67 | </div> | |
68 | </div> |