unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at angular21 109 lines 4.5 kB view raw
1<div class="mx-3 lg:mx-4 wafrn-container-wide"> 2 <h2 class="my-3 text-3xl">{{ 'menu.admin.blocklist' | translate }}</h2> 3</div> 4<div class="mb-3 lg:mx-4 wafrn-container-wide"> 5 <p>This sucks to look at so here's a second step of buttons before you see the data</p> 6 <div class="flex gap-3"> 7 <button mat-stroked-button (click)="showUserBlocks = !showUserBlocks">Show users blocked by users</button> 8 <button mat-stroked-button (click)="showUserServerBlocks = !showUserServerBlocks" 9 >Show servers blocked by users</button 10 > 11 </div> 12</div> 13<mat-card [class.hidden]="!showUserBlocks" class="p-3 mb-3 lg:mx-4 wafrn-container-wide"> 14 <h2>Per user user blocks</h2> 15 <mat-form-field class="w-full mat-form-field-no-padding"> 16 <mat-label>Search</mat-label> 17 <input (input)="onUserBlockChange($event)" matNativeControl spellcheck="false" /> 18 </mat-form-field> 19 <div class="w-full overflow-x-auto"> 20 <table mat-table matSort #userBlocksSort="matSort" [dataSource]="userBlocks"> 21 <ng-container matColumnDef="blocker"> 22 <th mat-header-cell mat-sort-header *matHeaderCellDef>Blocker</th> 23 <td mat-cell *matCellDef="let row"> 24 <a [routerLink]="'/blog/' + row.blocker.url"> 25 <div class="flex gap-2 align-items-start"> 26 <app-avatar-small [user]="row.blocker"></app-avatar-small> 27 {{ row.blocker.url }} 28 </div> 29 </a> 30 </td> 31 </ng-container> 32 <ng-container matColumnDef="blocked"> 33 <th mat-header-cell mat-sort-header *matHeaderCellDef>Blocked</th> 34 <td mat-cell *matCellDef="let row"> 35 <a [routerLink]="'/blog/' + row.blocked.url"> 36 <div class="flex gap-2 align-items-start"> 37 <app-avatar-small [user]="row.blocked"></app-avatar-small> 38 {{ row.blocked.url }} 39 </div> 40 </a> 41 </td> 42 </ng-container> 43 <ng-container matColumnDef="reason"> 44 <th mat-header-cell *matHeaderCellDef>Reason</th> 45 <td mat-cell *matCellDef="let row"> 46 {{ row.reason }} 47 </td> 48 </ng-container> 49 <ng-container matColumnDef="createdAt"> 50 <th mat-header-cell mat-sort-header *matHeaderCellDef>Date</th> 51 <td mat-cell *matCellDef="let row"> 52 {{ row.createdAt | date: 'M/d/yy, h:mm:ss a' }} 53 </td> 54 </ng-container> 55 <tr mat-header-row *matHeaderRowDef="userBlocksColumns"></tr> 56 <tr mat-row *matRowDef="let row; columns: userBlocksColumns"></tr> 57 </table> 58 </div> 59 <mat-paginator 60 #userBlocksPaginator 61 [pageSizeOptions]="[10, 25, 50, 100]" 62 showFirstLastButtons 63 aria-label="Select user block list page" 64 > 65 </mat-paginator> 66</mat-card> 67<mat-card [class.hidden]="!showUserServerBlocks" class="p-3 mb-3 lg:mx-4 wafrn-container-wide"> 68 <h2>Per user server blocks</h2> 69 <mat-form-field class="w-full mat-form-field-no-padding"> 70 <mat-label>Search</mat-label> 71 <input (input)="onUserServerBlockChange($event)" matNativeControl spellcheck="false" /> 72 </mat-form-field> 73 <div class="w-full overflow-x-auto"> 74 <table mat-table matSort #userServerBlocksSort="matSort" [dataSource]="userServerBlocks"> 75 <ng-container matColumnDef="userBlocker"> 76 <th mat-header-cell mat-sort-header *matHeaderCellDef>User blocker</th> 77 <td mat-cell *matCellDef="let row"> 78 <a [routerLink]="'/blog/' + row.userBlocker.url"> 79 <div class="flex gap-2 align-items-start"> 80 <app-avatar-small [user]="row.userBlocker"></app-avatar-small> 81 {{ row.userBlocker.url }} 82 </div> 83 </a> 84 </td> 85 </ng-container> 86 <ng-container matColumnDef="blockedServer"> 87 <th mat-header-cell mat-sort-header *matHeaderCellDef>Server</th> 88 <td mat-cell *matCellDef="let row"> 89 {{ row.blockedServer.displayName }} 90 </td> 91 </ng-container> 92 <ng-container matColumnDef="createdAt"> 93 <th mat-header-cell mat-sort-header *matHeaderCellDef>Date</th> 94 <td mat-cell *matCellDef="let row"> 95 {{ row.createdAt | date: 'M/d/yy, h:mm:ss a' }} 96 </td> 97 </ng-container> 98 <tr mat-header-row *matHeaderRowDef="userServerBlocksColumns"></tr> 99 <tr mat-row *matRowDef="let row; columns: userServerBlocksColumns"></tr> 100 </table> 101 </div> 102 <mat-paginator 103 #userServerBlocksPaginator 104 [pageSizeOptions]="[10, 25, 50, 100]" 105 showFirstLastButtons 106 aria-label="Select server block list page" 107 > 108 </mat-paginator> 109</mat-card>