]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/shared/shared-moderation/server-blocklist.component.html
Merge branch 'release/3.1.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-moderation / server-blocklist.component.html
1 <h1>
2 <my-global-icon iconName="peertube-x" aria-hidden="true"></my-global-icon>
3 <ng-container i18n>Muted servers</ng-container>
4 </h1>
5
6 <p-table
7 [value]="blockedServers" [lazy]="true" [paginator]="totalRecords > 0" [totalRecords]="totalRecords" [rows]="rowsPerPage" [rowsPerPageOptions]="rowsPerPageOptions"
8 [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)" (onPage)="onPage($event)"
9 [showCurrentPageReport]="true" i18n-currentPageReportTemplate
10 currentPageReportTemplate="Showing {{'{first}'}} to {{'{last}'}} of {{'{totalRecords}'}} muted instances"
11 >
12 <ng-template pTemplate="caption">
13 <div class="caption">
14 <div class="left-buttons">
15 <a class="block-button" (click)="addServersToBlock()" (key.enter)="addServersToBlock()">
16 <my-global-icon iconName="add" aria-hidden="true"></my-global-icon>
17 <ng-container i18n>Mute domain</ng-container>
18 </a>
19 </div>
20
21 <div class="ml-auto has-feedback has-clear">
22 <input
23 type="text" name="table-filter" id="table-filter" i18n-placeholder placeholder="Filter..."
24 (keyup)="onSearch($event)"
25 >
26 <a class="glyphicon glyphicon-remove-sign form-control-feedback form-control-clear" (click)="resetSearch()"></a>
27 <span class="sr-only" i18n>Clear filters</span>
28 </div>
29 </div>
30 </ng-template>
31
32 <ng-template pTemplate="header">
33 <tr>
34 <th style="width: 150px;" i18n>Action</th> <!-- column for action buttons -->
35 <th style="width: calc(100% - 300px);" i18n>Instance</th>
36 <th style="width: 150px;" i18n pSortableColumn="createdAt">Muted at <p-sortIcon field="createdAt"></p-sortIcon></th>
37 </tr>
38 </ng-template>
39
40 <ng-template pTemplate="body" let-serverBlock>
41 <tr>
42 <td class="action-cell">
43 <button class="unblock-button" (click)="unblockServer(serverBlock)" i18n>Unmute</button>
44 </td>
45 <td>
46 <a [href]="'https://' + serverBlock.blockedServer.host" i18n-title title="Open instance in a new tab" target="_blank" rel="noopener noreferrer">
47 {{ serverBlock.blockedServer.host }}
48 <span class="glyphicon glyphicon-new-window"></span>
49 </a>
50 </td>
51 <td>{{ serverBlock.createdAt | date: 'short' }}</td>
52 </tr>
53 </ng-template>
54
55 <ng-template pTemplate="emptymessage">
56 <tr>
57 <td colspan="6">
58 <div class="no-results">
59 <ng-container *ngIf="search" i18n>No server found matching current filters.</ng-container>
60 <ng-container *ngIf="!search" i18n>No server found.</ng-container>
61 </div>
62 </td>
63 </tr>
64 </ng-template>
65 </p-table>
66
67 <my-batch-domains-modal #batchDomainsModal i18n-action action="Mute domains" (domains)="onDomainsToBlock($event)"></my-batch-domains-modal>