X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=inline;f=client%2Fsrc%2Fapp%2F%2Badmin%2Fmoderation%2Finstance-blocklist%2Finstance-account-blocklist.component.ts;h=548f3c9179e50615129fb9dce55a6802c79579a3;hb=8cbc40b2fe9d36ef0505b9441276ca561342e9e9;hp=73a9ae75d4ad577a3d3f5cf06ce3cf07331f4c88;hpb=610d0be13b3d01f653ef269271dd667a57c85ef2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts b/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts index 73a9ae75d..548f3c917 100644 --- a/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts +++ b/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts @@ -1,70 +1,15 @@ -import { Component, OnInit } from '@angular/core' -import { Notifier } from '@app/core' -import { I18n } from '@ngx-translate/i18n-polyfill' -import { RestPagination, RestTable } from '@app/shared' -import { SortMeta } from 'primeng/api' -import { AccountBlock, BlocklistService } from '@app/shared/blocklist' -import { Actor } from '@app/shared/actor/actor.model' +import { Component } from '@angular/core' +import { BlocklistComponentType, GenericAccountBlocklistComponent } from '@app/shared/shared-moderation' @Component({ selector: 'my-instance-account-blocklist', - styleUrls: [ '../moderation.component.scss', './instance-account-blocklist.component.scss' ], - templateUrl: './instance-account-blocklist.component.html' + styleUrls: [ '../../../shared/shared-moderation/moderation.scss', '../../../shared/shared-moderation/account-blocklist.component.scss' ], + templateUrl: '../../../shared/shared-moderation/account-blocklist.component.html' }) -export class InstanceAccountBlocklistComponent extends RestTable implements OnInit { - blockedAccounts: AccountBlock[] = [] - totalRecords = 0 - sort: SortMeta = { field: 'createdAt', order: -1 } - pagination: RestPagination = { count: this.rowsPerPage, start: 0 } - - constructor ( - private notifier: Notifier, - private blocklistService: BlocklistService, - private i18n: I18n - ) { - super() - } - - ngOnInit () { - this.initialize() - } +export class InstanceAccountBlocklistComponent extends GenericAccountBlocklistComponent { + mode = BlocklistComponentType.Instance getIdentifier () { return 'InstanceAccountBlocklistComponent' } - - switchToDefaultAvatar ($event: Event) { - ($event.target as HTMLImageElement).src = Actor.GET_DEFAULT_AVATAR_URL() - } - - unblockAccount (accountBlock: AccountBlock) { - const blockedAccount = accountBlock.blockedAccount - - this.blocklistService.unblockAccountByInstance(blockedAccount) - .subscribe( - () => { - this.notifier.success( - this.i18n('Account {{nameWithHost}} unmuted by your instance.', { nameWithHost: blockedAccount.nameWithHost }) - ) - - this.loadData() - } - ) - } - - protected loadData () { - return this.blocklistService.getInstanceAccountBlocklist({ - pagination: this.pagination, - sort: this.sort, - search: this.search - }) - .subscribe( - resultList => { - this.blockedAccounts = resultList.data - this.totalRecords = resultList.total - }, - - err => this.notifier.error(err.message) - ) - } }