EditCategory.cshtml
3,731 bytes
| 1 | @model App.BLL.DTO.BudgetCategoryBllDto |
|---|---|
| 2 | |
| 3 | @{ |
| 4 | ViewData["Title"] = Localizer["Edit Budget Category"]; |
| 5 | var tripId = (Guid)ViewData["TripId"]!; |
| 6 | } |
| 7 | |
| 8 | <div class="row justify-content-center"> |
| 9 | <div class="col-md-8 col-lg-6"> |
| 10 | <div class="sa-card-static sa-card-accent sa-card-accent-secondary"> |
| 11 | <div class="sa-card-body" style="padding: var(--sa-space-8);"> |
| 12 | <div class="text-center mb-4"> |
| 13 | <div style="font-size: 2rem; color: var(--sa-secondary); margin-bottom: var(--sa-space-2);"> |
| 14 | <i class="bi bi-pencil-square"></i> |
| 15 | </div> |
| 16 | <h1 style="font-size: 1.5rem; margin-bottom: 4px;">@Localizer["Edit Budget Category"]</h1> |
| 17 | </div> |
| 18 | |
| 19 | <form asp-action="EditCategory" data-sa-loading> |
| 20 | <div asp-validation-summary="ModelOnly" class="text-danger"></div> |
| 21 | <input type="hidden" asp-for="Id" /> |
| 22 | <input type="hidden" asp-for="TripId" /> |
| 23 | |
| 24 | <div class="mb-3"> |
| 25 | <label for="name" class="form-label">@Localizer["Category Name"]</label> |
| 26 | <input type="text" id="name" name="name" class="form-control" value="@Model.Name.ToString()" required /> |
| 27 | <span asp-validation-for="Name" class="text-danger"></span> |
| 28 | </div> |
| 29 | |
| 30 | <div class="mb-3"> |
| 31 | <label class="form-label">@Localizer["Icon"]</label> |
| 32 | <input type="hidden" asp-for="IconName" id="iconNameInput" /> |
| 33 | <div class="sa-icon-picker"> |
| 34 | @{ |
| 35 | var icons = new[] { "airplane", "house", "cart", "cup-hot", "film", "music-note-beamed", "cash-stack", "ticket-perforated", "bus-front", "fuel-pump", "gift", "heart-fill", "camera-fill", "egg-fried", "bed", "bicycle", "shop", "palette", "binoculars", "lightning" }; |
| 36 | } |
| 37 | @foreach (var icon in icons) |
| 38 | { |
| 39 | <div class="sa-icon-option @(Model.IconName == icon ? "active" : "")" data-icon="@icon" title="@icon"> |
| 40 | <i class="bi bi-@icon"></i> |
| 41 | </div> |
| 42 | } |
| 43 | </div> |
| 44 | </div> |
| 45 | |
| 46 | <div class="mb-3"> |
| 47 | <label asp-for="PlannedAmount" class="form-label">@Localizer["Planned Amount"]</label> |
| 48 | <input asp-for="PlannedAmount" type="number" step="0.01" min="0" class="form-control" /> |
| 49 | <span asp-validation-for="PlannedAmount" class="text-danger"></span> |
| 50 | </div> |
| 51 | |
| 52 | <div class="mb-4"> |
| 53 | <label asp-for="DisplayOrder" class="form-label">@Localizer["Display Order"]</label> |
| 54 | <input asp-for="DisplayOrder" type="number" class="form-control" /> |
| 55 | <span asp-validation-for="DisplayOrder" class="text-danger"></span> |
| 56 | </div> |
| 57 | |
| 58 | <div class="d-flex gap-3"> |
| 59 | <button type="submit" class="sa-btn sa-btn-secondary flex-grow-1"> |
| 60 | <i class="bi bi-check-lg"></i> @Localizer["Save"] |
| 61 | </button> |
| 62 | <a asp-action="Index" asp-route-tripId="@tripId" class="sa-btn sa-btn-ghost">@Localizer["Cancel"]</a> |
| 63 | </div> |
| 64 | </form> |
| 65 | </div> |
| 66 | </div> |
| 67 | </div> |
| 68 | </div> |
| 69 | |
| 70 | @section Scripts { |
| 71 | <partial name="_ValidationScriptsPartial" /> |
| 72 | } |
| 73 | |