profileShare

rasmusjy / splitapp-backend-microservices

Read-only snapshot

No repository description.

main default branch 501 files Expires Sep 13, 2026, 9:06 AM
Index.cshtml 2,813 bytes
1 @model AdminInvitationIndexViewModel
2 <div class="admin-page-header">
3 <div>
4 <h1><i class="bi bi-envelope me-2"></i>@Localizer["Invitations"]</h1>
5 <p class="lead">@Localizer["Review invitation tokens and statuses"]</p>
6 </div>
7 </div>
8
9 <div class="admin-card mb-3">
10 <div class="admin-card-body">
11 <form method="get" class="row g-2 align-items-end">
12 <div class="col-auto">
13 <input type="text" name="search" value="@Model.CurrentSearch" class="form-control" placeholder="@Localizer["Search..."]" />
14 </div>
15 <div class="col-auto">
16 <button type="submit" class="btn btn-outline-primary"><i class="bi bi-search me-1"></i>@Localizer["Search"]</button>
17 </div>
18 </form>
19 </div>
20 </div>
21
22 <div class="admin-card">
23 <div class="admin-card-body p-0">
24 @if (Model.Items.Any())
25 {
26 <table class="table admin-table mb-0">
27 <thead>
28 <tr>
29 <th>@Localizer["Token"]</th>
30 <th>@Localizer["Trip"]</th>
31 <th>@Localizer["InvitedBy"]</th>
32 <th>@Localizer["ExpiresAt"]</th>
33 <th>@Localizer["Status"]</th>
34 <th class="text-end">@Localizer["Actions"]</th>
35 </tr>
36 </thead>
37 <tbody>
38 @foreach (var item in Model.Items)
39 {
40 <tr>
41 <td><code>@(item.Token.Length > 16 ? item.Token[..16] + "..." : item.Token)</code></td>
42 <td>@item.Trip?.Name</td>
43 <td>@item.InvitedByUser?.Email</td>
44 <td>@item.ExpiresAt.ToString("g")</td>
45 <td><span class="badge status-@item.Status.ToString().ToLower()">@SplitApp.WebApp.Hosting.Helpers.EnumHelper.GetDisplayName(item.Status)</span></td>
46 <td class="text-end">
47 <div class="admin-action-group">
48 <a asp-action="Details" asp-route-id="@item.Id" class="btn btn-outline-secondary btn-sm" title="@Localizer["Details"]"><i class="bi bi-eye"></i></a>
49 <a asp-action="Delete" asp-route-id="@item.Id" class="btn btn-outline-danger btn-sm" title="@Localizer["Delete"]"><i class="bi bi-trash"></i></a>
50 </div>
51 </td>
52 </tr>
53 }
54 </tbody>
55 </table>
56 }
57 else
58 {
59 <div class="admin-empty">
60 <i class="bi bi-inbox"></i>
61 <div>@Localizer["No items yet"]</div>
62 </div>
63 }
64 </div>
65 </div>
66