diff --git a/src/PostIt/PostIt.Tests/HomePageProviderFlowTests.cs b/src/PostIt/PostIt.Tests/HomePageProviderFlowTests.cs index accd22ded..216c880a4 100644 --- a/src/PostIt/PostIt.Tests/HomePageProviderFlowTests.cs +++ b/src/PostIt/PostIt.Tests/HomePageProviderFlowTests.cs @@ -61,6 +61,8 @@ public class HomePageProviderFlowTests Assert.Equal("—", vm.FullName); Assert.Equal("—", vm.Address); + Assert.Equal("Non configuré", vm.DedicatedGoogleCalendar); + Assert.Equal("Aucune information bancaire", vm.BankInfoSummary); Assert.NotNull(vm.RefreshCommand); } @@ -70,7 +72,9 @@ public class HomePageProviderFlowTests var vm = new UserProfilePageViewModel { FullName = "Alice Example", - Address = "14 rue de l’Érable" + Address = "14 rue de l’Érable", + DedicatedGoogleCalendar = "calendar-123", + BankInfoSummary = "FR14 2004 1010 0505 0001 3M02 606" }; Assert.NotNull(vm.SaveProfileCommand); diff --git a/src/PostIt/PostIt/ViewModels/Layout/UserProfilePageViewModel.cs b/src/PostIt/PostIt/ViewModels/Layout/UserProfilePageViewModel.cs index c47fe8b71..9bf204cfc 100644 --- a/src/PostIt/PostIt/ViewModels/Layout/UserProfilePageViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/Layout/UserProfilePageViewModel.cs @@ -36,6 +36,9 @@ public partial class UserProfilePageViewModel : ViewModelBase [ObservableProperty] public partial string DedicatedGoogleCalendar { get; set; } = "Non configuré"; + [ObservableProperty] + public partial string BankInfoSummary { get; set; } = "Aucune information bancaire"; + [ObservableProperty] public partial string StatusMessage { get; set; } = "Prêt."; @@ -71,6 +74,7 @@ public partial class UserProfilePageViewModel : ViewModelBase Avatar = string.IsNullOrWhiteSpace(me?.Avatar) ? "Aucun avatar" : me.Avatar; Roles = me?.Roles is { Length: > 0 } ? string.Join(", ", me.Roles) : "Aucun rôle"; DedicatedGoogleCalendar = string.IsNullOrWhiteSpace(me?.DedicatedGoogleCalendar) ? "Non configuré" : me.DedicatedGoogleCalendar; + BankInfoSummary = string.IsNullOrWhiteSpace(me?.BankInfoSummary) ? "Aucune information bancaire" : me.BankInfoSummary; StatusMessage = "Profil chargé."; } catch (Exception ex) @@ -82,6 +86,7 @@ public partial class UserProfilePageViewModel : ViewModelBase Avatar = "—"; Roles = "—"; DedicatedGoogleCalendar = "Non configuré"; + BankInfoSummary = "Aucune information bancaire"; StatusMessage = $"Impossible de charger le profil : {ex.Message}"; } finally @@ -105,7 +110,9 @@ public partial class UserProfilePageViewModel : ViewModelBase var payload = new ProfileUpdateRequest { FullName = FullName, - Address = Address + Address = Address, + GoogleCalendarId = DedicatedGoogleCalendar == "Non configuré" ? string.Empty : DedicatedGoogleCalendar, + BankInfoSummary = BankInfoSummary == "Aucune information bancaire" ? string.Empty : BankInfoSummary }; var endpoint = new Uri(new Uri(_api.Settings.ApiUrl.TrimEnd('/') + "/", UriKind.Absolute), "account/me").ToString(); diff --git a/src/PostIt/PostIt/Views/Layout/UserProfilePage.axaml b/src/PostIt/PostIt/Views/Layout/UserProfilePage.axaml index f07351682..6922b6204 100644 --- a/src/PostIt/PostIt/Views/Layout/UserProfilePage.axaml +++ b/src/PostIt/PostIt/Views/Layout/UserProfilePage.axaml @@ -18,16 +18,19 @@ IsIndeterminate="True" Height="8"/> - + -