aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/+admin/moderation/instance-blocklist
diff options
context:
space:
mode:
authorRigel Kent <sendmemail@rigelk.eu>2020-04-19 20:26:25 +0200
committerRigel Kent <par@rigelk.eu>2020-05-01 16:41:02 +0200
commitd384061366ae06294c0e222f0fb7ec4f0a172f39 (patch)
treeac97c69d7be200ab42d70ba50340b42673a4480e /client/src/app/+admin/moderation/instance-blocklist
parente0a929179a9dc76e035ca7fda2b61d5ff46afbc5 (diff)
downloadPeerTube-d384061366ae06294c0e222f0fb7ec4f0a172f39.tar.gz
PeerTube-d384061366ae06294c0e222f0fb7ec4f0a172f39.tar.zst
PeerTube-d384061366ae06294c0e222f0fb7ec4f0a172f39.zip
Empty states for tables
Diffstat (limited to 'client/src/app/+admin/moderation/instance-blocklist')
-rw-r--r--client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html31
-rw-r--r--client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts5
-rw-r--r--client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html13
3 files changed, 46 insertions, 3 deletions
diff --git a/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html b/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html
index d340b5e57..df0a8247e 100644
--- a/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html
+++ b/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html
@@ -17,7 +17,7 @@
17 17
18 <ng-template pTemplate="header"> 18 <ng-template pTemplate="header">
19 <tr> 19 <tr>
20 <th i18n>Account</th> 20 <th style="width: 100%;" i18n>Account</th>
21 <th style="width: 190px;" i18n pSortableColumn="createdAt">Muted at <p-sortIcon field="createdAt"></p-sortIcon></th> 21 <th style="width: 190px;" i18n pSortableColumn="createdAt">Muted at <p-sortIcon field="createdAt"></p-sortIcon></th>
22 <th style="width: 100px;"></th> <!-- column for action buttons --> 22 <th style="width: 100px;"></th> <!-- column for action buttons -->
23 </tr> 23 </tr>
@@ -25,11 +25,38 @@
25 25
26 <ng-template pTemplate="body" let-accountBlock> 26 <ng-template pTemplate="body" let-accountBlock>
27 <tr> 27 <tr>
28 <td>{{ accountBlock.blockedAccount.nameWithHost }}</td> 28 <td>
29 <a [href]="accountBlock.blockedAccount.url" i18n-title title="Open account in a new tab" target="_blank" rel="noopener noreferrer">
30 <div class="chip two-lines">
31 <img
32 class="avatar"
33 [src]="accountBlock.blockedAccount.avatar?.path"
34 (error)="switchToDefaultAvatar($event)"
35 alt="Avatar"
36 >
37 <div>
38 {{ accountBlock.blockedAccount.displayName }}
39 <span class="text-muted">{{ accountBlock.blockedAccount.nameWithHost }}</span>
40 </div>
41 </div>
42 </a>
43 </td>
44
29 <td>{{ accountBlock.createdAt }}</td> 45 <td>{{ accountBlock.createdAt }}</td>
30 <td class="action-cell"> 46 <td class="action-cell">
31 <button class="unblock-button" (click)="unblockAccount(accountBlock)" i18n>Unmute</button> 47 <button class="unblock-button" (click)="unblockAccount(accountBlock)" i18n>Unmute</button>
32 </td> 48 </td>
33 </tr> 49 </tr>
34 </ng-template> 50 </ng-template>
51
52 <ng-template pTemplate="emptymessage">
53 <tr>
54 <td colspan="6">
55 <div class="empty-table-message">
56 <ng-container *ngIf="search" i18n>No account found matching current filters.</ng-container>
57 <ng-container *ngIf="!search" i18n>No account found.</ng-container>
58 </div>
59 </td>
60 </tr>
61 </ng-template>
35</p-table> 62</p-table>
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 607b1cbe0..6bd015234 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
@@ -4,6 +4,7 @@ import { I18n } from '@ngx-translate/i18n-polyfill'
4import { RestPagination, RestTable } from '@app/shared' 4import { RestPagination, RestTable } from '@app/shared'
5import { SortMeta } from 'primeng/api' 5import { SortMeta } from 'primeng/api'
6import { AccountBlock, BlocklistService } from '@app/shared/blocklist' 6import { AccountBlock, BlocklistService } from '@app/shared/blocklist'
7import { Actor } from '@app/shared/actor/actor.model'
7 8
8@Component({ 9@Component({
9 selector: 'my-instance-account-blocklist', 10 selector: 'my-instance-account-blocklist',
@@ -34,6 +35,10 @@ export class InstanceAccountBlocklistComponent extends RestTable implements OnIn
34 return 'InstanceAccountBlocklistComponent' 35 return 'InstanceAccountBlocklistComponent'
35 } 36 }
36 37
38 switchToDefaultAvatar ($event: Event) {
39 ($event.target as HTMLImageElement).src = Actor.GET_DEFAULT_AVATAR_URL()
40 }
41
37 unblockAccount (accountBlock: AccountBlock) { 42 unblockAccount (accountBlock: AccountBlock) {
38 const blockedAccount = accountBlock.blockedAccount 43 const blockedAccount = accountBlock.blockedAccount
39 44
diff --git a/client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html b/client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html
index b6c87fdc8..d4e6933af 100644
--- a/client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html
+++ b/client/src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html
@@ -21,7 +21,7 @@
21 21
22 <ng-template pTemplate="header"> 22 <ng-template pTemplate="header">
23 <tr> 23 <tr>
24 <th i18n>Instance</th> 24 <th style="width: 100%;" i18n>Instance</th>
25 <th style="width: 190px;" i18n pSortableColumn="createdAt">Muted at <p-sortIcon field="createdAt"></p-sortIcon></th> 25 <th style="width: 190px;" i18n pSortableColumn="createdAt">Muted at <p-sortIcon field="createdAt"></p-sortIcon></th>
26 <th style="width: 100px;"></th> <!-- column for action buttons --> 26 <th style="width: 100px;"></th> <!-- column for action buttons -->
27 </tr> 27 </tr>
@@ -41,6 +41,17 @@
41 </td> 41 </td>
42 </tr> 42 </tr>
43 </ng-template> 43 </ng-template>
44
45 <ng-template pTemplate="emptymessage">
46 <tr>
47 <td colspan="6">
48 <div class="empty-table-message">
49 <ng-container *ngIf="search" i18n>No server found matching current filters.</ng-container>
50 <ng-container *ngIf="!search" i18n>No server found.</ng-container>
51 </div>
52 </td>
53 </tr>
54 </ng-template>
44</p-table> 55</p-table>
45 56
46<my-batch-domains-modal #batchDomainsModal i18n-action action="Mute domains" (domains)="onDomainsToBlock($event)"> 57<my-batch-domains-modal #batchDomainsModal i18n-action action="Mute domains" (domains)="onDomainsToBlock($event)">