]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/shared-user-subscription/subscribe-button.component.html
Implement remote interaction
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-user-subscription / subscribe-button.component.html
CommitLineData
1916c966
C
1<div
2 class="btn-group-subscribe btn-group"
3 [ngClass]="{'subscribe-button': !isAllChannelsSubscribed, 'unsubscribe-button': isAllChannelsSubscribed, 'big': isBigButton }"
4>
41eb700f
RK
5
6 <ng-template #userLoggedOut>
f8b65c22 7 <span [ngClass]="{ 'extra-text': isAtLeastOneChannelSubscribed }">
41eb700f
RK
8 <ng-container *ngIf="account; then multiple; else single"></ng-container>
9 <ng-template i18n #single>Subscribe</ng-template>
b061c8ed
RK
10 <ng-template #multiple>
11 <span i18n>Subscribe to all channels</span>
f8b65c22 12 <span *ngIf="isAtLeastOneChannelSubscribed">{{ subscribeStatus(true).length }}/{{ subscribed.size }}
b061c8ed
RK
13 <ng-container i18n>channels subscribed</ng-container>
14 </span>
15 </ng-template>
660d11e9 16 </span>
f8b65c22 17 <span *ngIf="!isBigButton && displayFollowers && videoChannels.length > 1 && videoChannel.followersCount !== 0" class="followers-count">
2d0d88a0 18 {{ videoChannels[0].followersCount | myNumberFormatter }}
660d11e9 19 </span>
41eb700f
RK
20 </ng-template>
21
22 <ng-template #userLoggedIn>
1916c966
C
23 <button
24 *ngIf="!isAllChannelsSubscribed" type="button"
25 class="btn btn-sm" (click)="subscribe()"
26 >
41eb700f
RK
27 <ng-template [ngTemplateOutlet]="userLoggedOut"></ng-template>
28 </button>
db84cf89 29
41eb700f 30 <button
f8b65c22 31 *ngIf="isAllChannelsSubscribed" type="button"
41eb700f 32 class="btn btn-sm" role="button"
9270ccf6
RK
33 (click)="unsubscribe()">
34 <ng-container i18n>{account + "", select, undefined {Unsubscribe} other {Unsubscribe from all channels}}</ng-container>
41eb700f
RK
35 </button>
36 </ng-template>
660d11e9 37
41eb700f
RK
38 <ng-container
39 *ngIf="isUserLoggedIn(); then userLoggedIn">
40 </ng-container>
39ba2e8e 41
1916c966
C
42 <div
43 class="btn-group" ngbDropdown autoClose="outside" placement="bottom-right"
44 role="group" aria-label="Multiple ways to subscribe to the current channel" i18n-aria-label
45 >
46 <button class="btn btn-sm dropdown-toggle-split" ngbDropdownToggle aria-label="Open subscription dropdown" i18n-aria-label>
41eb700f
RK
47 <ng-container
48 *ngIf="!isUserLoggedIn(); then userLoggedOut">
49 </ng-container>
660d11e9 50 </button>
39ba2e8e 51
660d11e9
RK
52 <div class="dropdown-menu" ngbDropdownMenu>
53
8be9f43a 54 <h6 class="dropdown-header" i18n>Using an ActivityPub account</h6>
39ba2e8e 55
8be9f43a 56 <button class="dropdown-item" (click)="subscribe()">
2d0d88a0 57 <span *ngIf="!isUserLoggedIn()" i18n>Subscribe with an account on this instance</span>
660d11e9
RK
58 <span *ngIf="isUserLoggedIn()" i18n>Subscribe with your local account</span>
59 </button>
39ba2e8e 60
2522fea7 61 <button class="dropdown-item dropdown-item-neutral">
d43c6b1f 62 <div class="mb-1" i18n>Subscribe with a remote account:</div>
2522fea7
RK
63 <my-remote-subscribe [showHelp]="true" [uri]="uri"></my-remote-subscribe>
64 </button>
39ba2e8e 65
660d11e9
RK
66 <div class="dropdown-divider"></div>
67
68 <h6 class="dropdown-header" i18n>Using a syndication feed</h6>
405ec98b 69 <a [href]="rssUri" target="_blank" class="dropdown-item" i18n>Subscribe via RSS</a>
660d11e9
RK
70
71 </div>
72 </div>
3ddb1ec5 73</div>