profileShare

rasmusjy / splitapp-backend-clean-onion

Read-only snapshot

No repository description.

main default branch 429 files Expires Sep 13, 2026, 9:06 AM
Index.cshtml 3,338 bytes
1 @model AdminPollIndexViewModel
2 @using App.Domain
3
4 <div class="admin-page-header">
5 <div>
6 <h1><i class="bi bi-bar-chart me-2"></i>@Localizer["Polls"]</h1>
7 <p class="lead">@Localizer["Manage polls across trips"]</p>
8 </div>
9 <a asp-action="Create" class="btn btn-primary">
10 <i class="bi bi-plus-lg me-1"></i>@Localizer["New"]
11 </a>
12 </div>
13
14 <div class="admin-card mb-3">
15 <div class="admin-card-body">
16 <form method="get" class="row g-2 align-items-end">
17 <div class="col-auto">
18 <input type="text" name="search" value="@Model.CurrentSearch" class="form-control" placeholder="@Localizer["Search..."]" />
19 </div>
20 <div class="col-auto">
21 <button type="submit" class="btn btn-outline-primary"><i class="bi bi-search me-1"></i>@Localizer["Search"]</button>
22 </div>
23 </form>
24 </div>
25 </div>
26
27 <div class="admin-card">
28 <div class="admin-card-body p-0">
29 @if (Model.Items.Any())
30 {
31 <table class="table admin-table mb-0">
32 <thead>
33 <tr>
34 <th>@Localizer["Question"]</th>
35 <th>@Localizer["Trip"]</th>
36 <th>@Localizer["Created By"]</th>
37 <th>@Localizer["Options"]</th>
38 <th>@Localizer["Multi-Vote"]</th>
39 <th>@Localizer["Anonymous"]</th>
40 <th>@Localizer["Closed"]</th>
41 <th class="text-end">@Localizer["Actions"]</th>
42 </tr>
43 </thead>
44 <tbody>
45 @foreach (var poll in Model.Items)
46 {
47 <tr>
48 <td>@poll.Question</td>
49 <td>@poll.Trip?.Name</td>
50 <td>@(poll.CreatedByUser != null ? $"{poll.CreatedByUser.FirstName} {poll.CreatedByUser.LastName}" : "")</td>
51 <td>@(poll.Options?.Count ?? 0)</td>
52 <td>@(poll.AllowMultipleVotes ? Localizer["Yes"] : Localizer["No"])</td>
53 <td>@(poll.IsAnonymous ? Localizer["Yes"] : Localizer["No"])</td>
54 <td>@(poll.ClosedAt.HasValue ? Localizer["Yes"] : Localizer["No"])</td>
55 <td class="text-end">
56 <div class="admin-action-group">
57 <a asp-action="Details" asp-route-id="@poll.Id" class="btn btn-outline-secondary btn-sm" title="@Localizer["Details"]"><i class="bi bi-eye"></i></a>
58 <a asp-action="Edit" asp-route-id="@poll.Id" class="btn btn-outline-primary btn-sm" title="@Localizer["Edit"]"><i class="bi bi-pencil"></i></a>
59 <a asp-action="Delete" asp-route-id="@poll.Id" class="btn btn-outline-danger btn-sm" title="@Localizer["Delete"]"><i class="bi bi-trash"></i></a>
60 </div>
61 </td>
62 </tr>
63 }
64 </tbody>
65 </table>
66 }
67 else
68 {
69 <div class="admin-empty">
70 <i class="bi bi-inbox"></i>
71 <div>@Localizer["No items yet"]</div>
72 </div>
73 }
74 </div>
75 </div>
76