unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at angular21 56 lines 2.2 kB view raw
1<div class="mx-3 lg:mx-4 wafrn-container"> 2 <h2 class="my-3 text-3xl">{{ 'menu.admin.inviteCodes' | translate }}</h2> 3</div> 4 5<mat-card class="p-3 mb-6 lg:mx-4 wafrn-container-wide"> 6 <button mat-flat-button color="primary" class="w-full mb-4" (click)="createInvite()">Create invite</button> 7 8 <mat-form-field class="w-full"> 9 <mat-label>Filter invite codes</mat-label> 10 <input matInput class="w-full" [(ngModel)]="dataSource.filter" /> 11 </mat-form-field> 12 13 <div class="w-full overflow-x-auto"> 14 <table mat-table [dataSource]="dataSource" class="w-max"> 15 <ng-container matColumnDef="actions"> 16 <th mat-header-cell *matHeaderCellDef>Actions</th> 17 <td mat-cell *matCellDef="let element"> 18 <div class="flex gap-2"> 19 <button mat-flat-button (click)="copy(element.code, 'LINK')">Copy link</button> 20 <button mat-flat-button (click)="copy(element.code)">Copy code</button> 21 </div> 22 </td> 23 </ng-container> 24 <ng-container matColumnDef="code"> 25 <th mat-header-cell *matHeaderCellDef>Code</th> 26 <td mat-cell *matCellDef="let element"> 27 {{ element.code }} 28 </td> 29 </ng-container> 30 <ng-container matColumnDef="createdBy"> 31 <th mat-header-cell *matHeaderCellDef>Created by</th> 32 <td mat-cell *matCellDef="let element"> 33 @{{ element.createdBy.url }} 34 </td> 35 </ng-container> 36 <ng-container matColumnDef="expiresIn"> 37 <th mat-header-cell *matHeaderCellDef>Expires in</th> 38 <td mat-cell *matCellDef="let element"> 39 {{ element.expiresIn }} 40 </td> 41 </ng-container> 42 <ng-container matColumnDef="usedBy"> 43 <th mat-header-cell *matHeaderCellDef>Used by</th> 44 <td mat-cell *matCellDef="let element"> 45 {{ element.usedBy ? '@' + element.usedBy.url : 'NONE' }} 46 </td> 47 </ng-container> 48 <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr> 49 <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr> 50 </table> 51 </div> 52 53 <mat-paginator [pageSizeOptions]="[10, 25, 50, 100]" showFirstLastButtons 54 aria-label="Select page of periodic elements"> 55 </mat-paginator> 56</mat-card>