]>
Commit | Line | Data |
---|---|---|
1 | <h1> | |
2 | <my-global-icon iconName="channel" aria-hidden="true"></my-global-icon> | |
3 | <ng-container i18n>My channels</ng-container> | |
4 | <span *ngIf="totalItems" class="pt-badge badge-secondary">{{ totalItems }}</span> | |
5 | </h1> | |
6 | ||
7 | <my-channels-setup-message [hideLink]="true"></my-channels-setup-message> | |
8 | ||
9 | <div class="video-channels-header d-flex justify-content-between"> | |
10 | <my-advanced-input-filter (search)="onSearch($event)"></my-advanced-input-filter> | |
11 | ||
12 | <a class="create-button" routerLink="/manage/create"> | |
13 | <my-global-icon iconName="add" aria-hidden="true"></my-global-icon> | |
14 | <ng-container i18n>Create video channel</ng-container> | |
15 | </a> | |
16 | </div> | |
17 | ||
18 | <div class="no-results" i18n *ngIf="totalItems === 0">No channel found.</div> | |
19 | ||
20 | <div class="video-channels"> | |
21 | <div *ngFor="let videoChannel of videoChannels; let i = index" class="video-channel"> | |
22 | <my-actor-avatar [channel]="videoChannel" [internalHref]="[ '/c', videoChannel.nameWithHost ]" size="80"></my-actor-avatar> | |
23 | ||
24 | <div class="video-channel-info"> | |
25 | <a [routerLink]="[ '/c', videoChannel.nameWithHost ]" class="video-channel-names" i18n-title title="Channel page"> | |
26 | <div class="video-channel-display-name">{{ videoChannel.displayName }}</div> | |
27 | <div class="video-channel-name">{{ videoChannel.nameWithHost }}</div> | |
28 | </a> | |
29 | ||
30 | <a | |
31 | i18n class="video-channel-followers" | |
32 | [routerLink]="[ '/my-library', 'followers' ]" [queryParams]="{ search: 'channel:' + videoChannel.name }" | |
33 | > | |
34 | {videoChannel.followersCount, plural, =0 {No subscribers} =1 {1 subscriber} other {{{ videoChannel.followersCount }} subscribers}} | |
35 | </a> | |
36 | ||
37 | <div class="d-flex"> | |
38 | <span i18n>{videoChannel.videosCount, plural, =0 {No videos} =1 {1 video} other {{{ videoChannel.videosCount }} videos}}</span> | |
39 | <span class="mx-1">ยท</span> | |
40 | <span i18n>{videoChannel.totalViews, plural, =0 {No views} =1 {1 view} other {{{ videoChannel.totalViews | myNumberFormatter }} views}}</span> | |
41 | </div> | |
42 | ||
43 | <div class="video-channel-buttons"> | |
44 | <my-edit-button label [routerLink]="[ '/manage/update', videoChannel.nameWithHost ]"></my-edit-button> | |
45 | <my-delete-button label (click)="deleteVideoChannel(videoChannel)"></my-delete-button> | |
46 | </div> | |
47 | ||
48 | <div *ngIf="!isInSmallView" class="w-100 d-flex justify-content-end chart-container"> | |
49 | <div myDeferLoading> | |
50 | <ng-template> | |
51 | <p-chart | |
52 | *ngIf="chartOptions && videoChannelsChartData && videoChannelsChartData[i]" | |
53 | width="40vw" height="100px" | |
54 | type="line" [data]="videoChannelsChartData[i]" [options]="chartOptions" | |
55 | ></p-chart> | |
56 | </ng-template> | |
57 | </div> | |
58 | </div> | |
59 | </div> | |
60 | </div> | |
61 | </div> |