profileShare

rasmusjy / splitapp-backend-modular-monolith

Read-only snapshot

No repository description.

main default branch 418 files Expires Sep 13, 2026, 9:06 AM
Index.cshtml 3,282 bytes
1 @model AdminBudgetCategoryIndexViewModel
2 <div class="admin-page-header">
3 <div>
4 <h1><i class="bi bi-tags me-2"></i>@Localizer["BudgetCategories"]</h1>
5 <p class="lead">@Localizer["Manage budget categories for trips"]</p>
6 </div>
7 <a asp-action="Create" class="btn btn-primary">
8 <i class="bi bi-plus-lg me-1"></i>@Localizer["New"]
9 </a>
10 </div>
11
12 <div class="admin-card mb-3">
13 <div class="admin-card-body">
14 <form method="get" class="row g-2 align-items-end">
15 <div class="col-auto">
16 <select name="tripId" class="form-select">
17 <option value="">— @Localizer["All"] —</option>
18 @foreach (var t in Model.Trips)
19 {
20 <option value="@t.Id" selected="@(Model.CurrentTripId?.ToString() == t.Id.ToString())">@t.Name</option>
21 }
22 </select>
23 </div>
24 <div class="col-auto">
25 <input type="text" name="search" value="@Model.CurrentSearch" class="form-control" placeholder="@Localizer["Search..."]" />
26 </div>
27 <div class="col-auto">
28 <button type="submit" class="btn btn-outline-primary"><i class="bi bi-search me-1"></i>@Localizer["Search"]</button>
29 </div>
30 </form>
31 </div>
32 </div>
33
34 <div class="admin-card">
35 <div class="admin-card-body p-0">
36 @if (Model.Items.Any())
37 {
38 <table class="table admin-table mb-0">
39 <thead>
40 <tr>
41 <th>@Localizer["Name"]</th>
42 <th>@Localizer["Trip"]</th>
43 <th class="text-end">@Localizer["PlannedAmount"]</th>
44 <th>@Localizer["DisplayOrder"]</th>
45 <th class="text-end">@Localizer["Actions"]</th>
46 </tr>
47 </thead>
48 <tbody>
49 @foreach (var item in Model.Items)
50 {
51 <tr>
52 <td>@item.Name</td>
53 <td>@item.Trip?.Name</td>
54 <td class="text-end fw-bold">@item.PlannedAmount</td>
55 <td>@item.DisplayOrder</td>
56 <td class="text-end">
57 <div class="admin-action-group">
58 <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>
59 <a asp-action="Edit" asp-route-id="@item.Id" class="btn btn-outline-primary btn-sm" title="@Localizer["Edit"]"><i class="bi bi-pencil"></i></a>
60 <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>
61 </div>
62 </td>
63 </tr>
64 }
65 </tbody>
66 </table>
67 }
68 else
69 {
70 <div class="admin-empty">
71 <i class="bi bi-inbox"></i>
72 <div>@Localizer["No items yet"]</div>
73 </div>
74 }
75 </div>
76 </div>
77