From 12f8b521732b569bb23854cb3c0822d487730355 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Fri, 9 Oct 2026 16:01:26 +0100 Subject: [PATCH] admin page presentation --- .../PostIt.Tests/HomePageProviderFlowTests.cs | 13 +++++ .../ViewModels/AdministrationPageViewModel.cs | 3 ++ .../Views/Layout/AdministrationPage.axaml | 47 ++++++++++++------- 3 files changed, 47 insertions(+), 16 deletions(-) diff --git a/src/PostIt/PostIt.Tests/HomePageProviderFlowTests.cs b/src/PostIt/PostIt.Tests/HomePageProviderFlowTests.cs index 21d532cd1..e002e534d 100644 --- a/src/PostIt/PostIt.Tests/HomePageProviderFlowTests.cs +++ b/src/PostIt/PostIt.Tests/HomePageProviderFlowTests.cs @@ -68,6 +68,19 @@ public class HomePageProviderFlowTests Assert.Equal("alice", vm.FilteredUsers[0].UserName); } + [Fact] + public void Administration_page_tracks_selected_user() + { + var vm = new AdministrationPageViewModel(); + var user = new Yavsc.Abstract.Identity.UserInfo { UserId = "1", UserName = "alice", FullName = "Alice Example", Email = "alice@example.com", DedicatedGoogleCalendar = "calendar-123" }; + + vm.Users.Add(user); + vm.SelectedUser = user; + + Assert.Same(user, vm.SelectedUser); + Assert.Equal("alice", vm.SelectedUser?.UserName); + } + [Fact] public void UserProfilePage_exposes_full_name_and_address_fields() { diff --git a/src/PostIt/PostIt/ViewModels/AdministrationPageViewModel.cs b/src/PostIt/PostIt/ViewModels/AdministrationPageViewModel.cs index 7ef626c56..85841bfbc 100644 --- a/src/PostIt/PostIt/ViewModels/AdministrationPageViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/AdministrationPageViewModel.cs @@ -27,6 +27,9 @@ public partial class AdministrationPageViewModel : ViewModelBase [ObservableProperty] public partial string StatusMessage { get; set; } = "Chargement…"; + [ObservableProperty] + public partial UserInfo? SelectedUser { get; set; } + public IReadOnlyList FilteredUsers => string.IsNullOrWhiteSpace(SearchText) ? Users.ToList() diff --git a/src/PostIt/PostIt/Views/Layout/AdministrationPage.axaml b/src/PostIt/PostIt/Views/Layout/AdministrationPage.axaml index 692b4972c..db1d3b490 100644 --- a/src/PostIt/PostIt/Views/Layout/AdministrationPage.axaml +++ b/src/PostIt/PostIt/Views/Layout/AdministrationPage.axaml @@ -24,21 +24,36 @@ TextWrapping="Wrap"/> - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +