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