import { SortMeta } from 'primeng/api'
import { Component, OnInit } from '@angular/core'
-import { ComponentPagination, hasMoreItems, Notifier, RestService } from '@app/core'
+import { ComponentPagination, hasMoreItems, Notifier, RestService, ServerService } from '@app/core'
import { InstanceFollowService } from '@app/shared/shared-instance'
+import { Actor } from '@shared/models/actors'
@Component({
selector: 'my-about-follows',
})
export class AboutFollowsComponent implements OnInit {
+ instanceName: string
+
followers: string[] = []
followings: string[] = []
}
constructor (
+ private server: ServerService,
private restService: RestService,
private notifier: Notifier,
private followService: InstanceFollowService
this.loadMoreFollowers()
this.loadMoreFollowings()
+
+ this.instanceName = this.server.getHTMLConfig().instance.name
}
loadAllFollowings () {
}
private loadMoreFollowers (reset = false) {
- const pagination = this.restService.componentPaginationToRestPagination(this.followersPagination)
+ const pagination = this.restService.componentToRestPagination(this.followersPagination)
this.followService.getFollowers({ pagination, sort: this.sort, state: 'accepted' })
.subscribe({
next: resultList => {
if (reset) this.followers = []
- const newFollowers = resultList.data.map(r => r.follower.host)
+ const newFollowers = resultList.data.map(r => this.formatFollow(r.follower))
this.followers = this.followers.concat(newFollowers)
this.followersPagination.totalItems = resultList.total
}
private loadMoreFollowings (reset = false) {
- const pagination = this.restService.componentPaginationToRestPagination(this.followingsPagination)
+ const pagination = this.restService.componentToRestPagination(this.followingsPagination)
this.followService.getFollowing({ pagination, sort: this.sort, state: 'accepted' })
.subscribe({
next: resultList => {
if (reset) this.followings = []
- const newFollowings = resultList.data.map(r => r.following.host)
+ const newFollowings = resultList.data.map(r => this.formatFollow(r.following))
this.followings = this.followings.concat(newFollowings)
this.followingsPagination.totalItems = resultList.total
})
}
+ private formatFollow (actor: Actor) {
+ // Instance follow, only display host
+ if (actor.name === 'peertube') return actor.host
+
+ return actor.name + '@' + actor.host
+ }
+
}