Improve desktop UX and accessibility

This commit is contained in:
2026-08-29 20:56:55 +02:00
parent b7a105af73
commit 89a6376fb6
17 changed files with 239 additions and 69 deletions
@@ -43,6 +43,8 @@ public partial class ExamsOverviewViewModel : ObservableObject
public Func<Exam, Task>? OnGradeExam { get; set; }
public Func<Exam, Task>? OnEvaluateExam { get; set; }
public Action<Guid>? OnNavigateToGroup { get; set; }
public Action? OnNavigateToGroups { get; set; }
public bool HasNoExams => Rows.Count == 0;
public ExamsOverviewViewModel(IExamRepository exams, IExamResultRepository examResults,
IGroupRepository groups, IGroupMembershipRepository memberships, GradingService grading,
@@ -85,6 +87,7 @@ public partial class ExamsOverviewViewModel : ObservableObject
Rows.Add(row);
EmptyHint = Rows.Count == 0 ? "Keine Klausuren angelegt." : "";
OnPropertyChanged(nameof(HasNoExams));
SelectedRow = selectedId is { } id
? Rows.FirstOrDefault(r => r.Exam.Id == id) ?? Rows.FirstOrDefault()
: Rows.FirstOrDefault();
@@ -173,6 +176,9 @@ public partial class ExamsOverviewViewModel : ObservableObject
OnNavigateToGroup?.Invoke(SelectedRow.GroupId);
}
[RelayCommand]
private void GoToGroups() => OnNavigateToGroups?.Invoke();
[RelayCommand]
private void ToggleApproval() => ToggleDate(SelectedRow?.Exam, e => e.ApprovalGrantedAt,
(e, v) => e.ApprovalGrantedAt = v);