]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/+video-channels/video-channels.component.html
Add support button in channel page
[github/Chocobozzz/PeerTube.git] / client / src / app / +video-channels / video-channels.component.html
CommitLineData
60c35932
C
1<div class="root" *ngIf="videoChannel">
2 <div class="channel-info">
170726f5 3
60c35932 4 <ng-template #buttonsTemplate>
900f7820 5 <a *ngIf="isManageable()" [routerLink]="[ '/my-library/video-channels/update', videoChannel.nameWithHost ]" class="peertube-button-link orange-button" i18n>
60c35932
C
6 Manage channel
7 </a>
8
900f7820 9 <my-subscribe-button *ngIf="!isManageable()" #subscribeButton [videoChannels]="[videoChannel]"></my-subscribe-button>
100d9ce2
C
10
11 <button *ngIf="videoChannel.support" (click)="showSupportModal()" class="support-button peertube-button orange-button-inverted">
12 <my-global-icon iconName="support" aria-hidden="true"></my-global-icon>
13 <span class="icon-text" i18n>Support</span>
14 </button>
60c35932
C
15 </ng-template>
16
17 <ng-template #ownerTemplate>
18 <div class="owner-block">
19 <div class="avatar-row">
900f7820 20 <img class="account-avatar" [src]="videoChannel.ownerAvatarUrl" alt="Owner account avatar" />
60c35932
C
21
22 <div class="actor-info">
23 <h4>{{ videoChannel.ownerAccount.displayName }}</h4>
170726f5 24
60c35932 25 <div class="actor-handle">@{{ videoChannel.ownerBy }}</div>
a0dedc02 26 </div>
9b8a7aa8 27 </div>
22a16e36 28
60c35932
C
29 <div class="owner-description">
30 <div class="description-html" [innerHTML]="ownerDescriptionHTML"></div>
7de6afdf 31 </div>
a4f99a76 32
60c35932
C
33 <a class="view-account short" [routerLink]="[ '/accounts', videoChannel.ownerBy ]" i18n>
34 View account
35 </a>
36
37 <a class="view-account complete" [routerLink]="[ '/accounts', videoChannel.ownerBy ]" i18n>
38 View owner account
39 </a>
40 </div>
41 </ng-template>
42
43 <div class="channel-avatar-row">
900f7820 44 <img class="channel-avatar" [src]="videoChannel.avatarUrl" alt="Avatar" />
60c35932
C
45
46 <div>
47 <div class="section-label" i18n>VIDEO CHANNEL</div>
48
49 <div class="actor-info">
50 <div>
51 <div class="actor-display-name">
52 <h1>{{ videoChannel.displayName }}</h1>
53 </div>
54
55 <div class="actor-handle">
56 <span>@{{ videoChannel.nameWithHost }}</span>
57 <button [cdkCopyToClipboard]="videoChannel.nameWithHostForced" (click)="activateCopiedMessage()"
58 class="btn btn-outline-secondary btn-sm copy-button" title="Copy channel handle" i18n-title
59 >
60 <span class="glyphicon glyphicon-duplicate"></span>
61 </button>
62 </div>
63
64 <div class="actor-counters">
65 <span i18n>{videoChannel.followersCount, plural, =1 {1 subscriber} other {{{ videoChannel.followersCount }} subscribers}}</span>
66
67 <span class="videos-count" *ngIf="channelVideosCount !== undefined" i18n>
68 {channelVideosCount, plural, =1 {1 videos} other {{{ channelVideosCount }} videos}}
69 </span>
70 </div>
71 </div>
34450e1e 72
60c35932
C
73 <div class="channel-buttons right">
74 <ng-template *ngTemplateOutlet="buttonsTemplate"></ng-template>
75 </div>
9b8a7aa8 76 </div>
170726f5
C
77 </div>
78 </div>
79
60c35932
C
80 <div class="channel-description" [ngClass]="{ expanded: channelDescriptionExpanded }">
81 <div class="description-html" [innerHTML]="channelDescriptionHTML"></div>
82
83 <div class="created-at" i18n>Channel created on {{ videoChannel.createdAt | date }}</div>
84 </div>
24e7916c 85
60c35932
C
86 <div *ngIf="!channelDescriptionExpanded" class="show-more" role="button"
87 (click)="channelDescriptionExpanded = !channelDescriptionExpanded"
88 title="Show the complete description" i18n-title i18n
89 >
90 Show more...
170726f5 91 </div>
60c35932
C
92
93 <div class="channel-buttons bottom">
94 <ng-template *ngTemplateOutlet="buttonsTemplate"></ng-template>
95 </div>
96
97 <div class="owner-card">
98 <div class="section-label" i18n>OWNER ACCOUNT</div>
99
100 <ng-template *ngTemplateOutlet="ownerTemplate"></ng-template>
101 </div>
102 </div>
103
104 <div class="bottom-owner">
105 <div class="section-label" i18n>OWNER ACCOUNT</div>
106
107 <ng-template *ngTemplateOutlet="ownerTemplate"></ng-template>
170726f5
C
108 </div>
109
60c35932
C
110 <div class="links">
111 <ng-template #linkTemplate let-item="item">
112 <a [routerLink]="item.routerLink" routerLinkActive="active" class="title-page">{{ item.label }}</a>
113 </ng-template>
114
115 <list-overflow [items]="links" [itemTemplate]="linkTemplate"></list-overflow>
170726f5 116 </div>
60c35932
C
117
118 <router-outlet></router-outlet>
170726f5 119</div>
100d9ce2
C
120
121<my-support-modal #supportModal [videoChannel]="videoChannel"></my-support-modal>