Add extra text to button when partially subscribed to all channels
This commit is contained in:
parent
41eb700fce
commit
b061c8edb0
|
@ -2,10 +2,15 @@
|
||||||
[ngClass]="{'subscribe-button': !isAllChannelsSubscribed(), 'unsubscribe-button': isAllChannelsSubscribed()}">
|
[ngClass]="{'subscribe-button': !isAllChannelsSubscribed(), 'unsubscribe-button': isAllChannelsSubscribed()}">
|
||||||
|
|
||||||
<ng-template #userLoggedOut>
|
<ng-template #userLoggedOut>
|
||||||
<span>
|
<span [ngClass]="{ 'extra-text': subscribeStatus(true).length > 0 }">
|
||||||
<ng-container *ngIf="account; then multiple; else single"></ng-container>
|
<ng-container *ngIf="account; then multiple; else single"></ng-container>
|
||||||
<ng-template i18n #single>Subscribe</ng-template>
|
<ng-template i18n #single>Subscribe</ng-template>
|
||||||
<ng-template i18n #multiple>Subscribe to all channels</ng-template>
|
<ng-template #multiple>
|
||||||
|
<span i18n>Subscribe to all channels</span>
|
||||||
|
<span *ngIf="subscribeStatus(true).length > 0">{{subscribeStatus(true).length}}/{{subscribed.size}}
|
||||||
|
<ng-container i18n>channels subscribed</ng-container>
|
||||||
|
</span>
|
||||||
|
</ng-template>
|
||||||
</span>
|
</span>
|
||||||
<span *ngIf="displayFollowers && videoChannel.followersCount !== 0" class="followers-count">
|
<span *ngIf="displayFollowers && videoChannel.followersCount !== 0" class="followers-count">
|
||||||
{{ videoChannel.followersCount | myNumberFormatter }}
|
{{ videoChannel.followersCount | myNumberFormatter }}
|
||||||
|
@ -24,9 +29,11 @@
|
||||||
class="btn btn-sm" role="button"
|
class="btn btn-sm" role="button"
|
||||||
(click)="unsubscribe()" i18n
|
(click)="unsubscribe()" i18n
|
||||||
>
|
>
|
||||||
|
<span>
|
||||||
<ng-container *ngIf="account; then multiple; else single"></ng-container>
|
<ng-container *ngIf="account; then multiple; else single"></ng-container>
|
||||||
<ng-template i18n #single>Unsubscribe</ng-template>
|
<ng-template i18n #single>Unsubscribe</ng-template>
|
||||||
<ng-template i18n #multiple>Unsubscribe from all channels</ng-template>
|
<ng-template i18n #multiple>Unsubscribe from all channels</ng-template>
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
|
|
|
@ -69,3 +69,16 @@
|
||||||
@include peertube-input-text(100%);
|
@include peertube-input-text(100%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.extra-text {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
span:first-child {
|
||||||
|
line-height: 75%;
|
||||||
|
}
|
||||||
|
|
||||||
|
span:not(:first-child) {
|
||||||
|
font-size: 60%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -15,6 +15,12 @@ import { forkJoin } from 'rxjs'
|
||||||
styleUrls: [ './subscribe-button.component.scss' ]
|
styleUrls: [ './subscribe-button.component.scss' ]
|
||||||
})
|
})
|
||||||
export class SubscribeButtonComponent implements OnInit {
|
export class SubscribeButtonComponent implements OnInit {
|
||||||
|
/**
|
||||||
|
* SubscribeButtonComponent can be used with a single VideoChannel passed as [VideoChannel],
|
||||||
|
* or with an account and a full list of that account's videoChannels. The latter is intended
|
||||||
|
* to allow mass un/subscription from an account's page, while keeping the channel-centric
|
||||||
|
* subscription model.
|
||||||
|
*/
|
||||||
@Input() account: Account
|
@Input() account: Account
|
||||||
@Input() videoChannels: VideoChannel[]
|
@Input() videoChannels: VideoChannel[]
|
||||||
@Input() displayFollowers = false
|
@Input() displayFollowers = false
|
||||||
|
|
|
@ -509,6 +509,8 @@
|
||||||
a {
|
a {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue