Skip to content
Snippets Groups Projects
Unverified Commit a004ff17 authored by Rigel Kent's avatar Rigel Kent
Browse files

Add naive aggregation from channels to account display of subscribers

parent 333952bc
No related branches found
No related tags found
No related merge requests found
......@@ -28,7 +28,9 @@
>
</my-user-moderation-dropdown>
</div>
<div class="actor-followers" i18n>{account.followersCount, plural, =1 {1 subscriber} other {{{ account.followersCount }} subscribers}}</div>
<div class="actor-followers" i18n-title [title]="subscribersDisplayFor(account.followersCount) + ' to the account actor'">
{{ subscribersDisplayFor(naiveAggregatedSubscribers) }}
</div>
</div>
<my-subscribe-button *ngIf="videoChannels" [account]="account" [videoChannels]="videoChannels"></my-subscribe-button>
......
......@@ -18,7 +18,7 @@ import { VideoChannel } from '@app/shared/video-channel/video-channel.model'
export class AccountsComponent implements OnInit, OnDestroy {
account: Account
user: User
videoChannels: VideoChannel[]
videoChannels: VideoChannel[] = []
private routeSub: Subscription
......@@ -58,6 +58,13 @@ export class AccountsComponent implements OnInit, OnDestroy {
if (this.routeSub) this.routeSub.unsubscribe()
}
get naiveAggregatedSubscribers () {
return this.videoChannels.reduce(
(acc, val) => acc + val.followersCount,
this.account.followersCount // accumulator starts with the base number of subscribers the account has
)
}
onUserChanged () {
this.getUserIfNeeded(this.account)
}
......@@ -70,6 +77,10 @@ export class AccountsComponent implements OnInit, OnDestroy {
this.notifier.success(this.i18n('Username copied'))
}
subscribersDisplayFor (count: number) {
return this.i18n(`{count, plural, =1 {1 subscriber} other {${count} subscribers}}`, { count })
}
private getUserIfNeeded (account: Account) {
if (!account.userId) return
if (!this.authService.isLoggedIn()) return
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment