]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+my-library/+my-video-channels/my-video-channels.component.html
Merge branch 'release/4.2.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / app / +my-library / +my-video-channels / my-video-channels.component.html
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>