unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
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>