diff --git a/WebApp/Components/Features/Students/EventRankingEdit.razor b/WebApp/Components/Features/Students/EventRankingEdit.razor index 6fcd36f..27ead28 100644 --- a/WebApp/Components/Features/Students/EventRankingEdit.razor +++ b/WebApp/Components/Features/Students/EventRankingEdit.razor @@ -5,6 +5,8 @@ @using WebApp.Models @inject AppDbContext Context @inject NavigationManager NavigationManager +@inject ISnackbar Snackbar +@inject ILogger Logger Student Event Ranks - TSA Chapter Organizer @@ -17,35 +19,66 @@ } else { - @_student.Name - Warning: drag and drop is currently a bit squirrely - double check! + @_student.Name - Back - Save +
+ Back + Save Rankings +
- /* https://github.com/AlexNek/BlazorSortableList */ - - - + + +
+ + Ranked Events +
+ Drag events here in order of preference +
+ - - @item.Name + + +
+ + + +
+ @item.Name + + @AppIcons.EventAttributes(item) @AppIcons.EventEffort(item) + +
+
+
- + + +
+ + Available Events +
+ Drag events to rank them +
- - @item.Name + + + @item.Name + + @AppIcons.EventAttributes(item) @AppIcons.EventEffort(item) + + -
@@ -66,8 +99,6 @@ public List _rankedEvents = []; public List _availableEvents = []; - SharedSortableListGroup _group; - private void RankedEventsRemove((int oldIndex, int newIndex) indices) { // get the item at the old index in list 1 @@ -105,10 +136,6 @@ _rankedEvents = _student.EventRankings.OrderBy(e => e.Rank).Select(e => e.EventDefinition).ToList(); _availableEvents = _events.Where(e => !_rankedEvents.Contains(e)).ToList(); - - _group = new SharedSortableListGroup(StateHasChanged); - _group.AddModel(ListId1, new SortableListModel(_rankedEvents) { Group = GroupId }); - _group.AddModel(ListId2, new SortableListModel(_availableEvents) { Group = GroupId }); } private void Update((int oldIndex, int newIndex) indices) @@ -152,15 +179,15 @@ } Context.Students.Update(_student); - await Context.SaveChangesAsync(); + Snackbar.Add($"Event rankings saved for {_student.Name}", Severity.Success); NavigationManager.NavigateTo("/students/event-ranking"); } catch (Exception e) { - Console.WriteLine(e); - throw; + Snackbar.Add("Error saving rankings. Please try again.", Severity.Error); + Logger.LogError(e, "Error saving event rankings for student {StudentId}", StudentId); } } }