From 3e37a857c52c3401b6a4e81211a06d2d02a2125c Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 6 Sep 2026 15:22:50 +0100 Subject: [PATCH] postit: guard app navigation paths in circle member flows --- .../PostIt/ViewModels/AddCircleMemberDialogViewModel.cs | 6 ++++-- src/PostIt/PostIt/ViewModels/CirclesPageViewModel.cs | 6 ++++-- src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml.cs | 8 -------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/PostIt/PostIt/ViewModels/AddCircleMemberDialogViewModel.cs b/src/PostIt/PostIt/ViewModels/AddCircleMemberDialogViewModel.cs index e63cfb28a..d3f9deb68 100644 --- a/src/PostIt/PostIt/ViewModels/AddCircleMemberDialogViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/AddCircleMemberDialogViewModel.cs @@ -122,14 +122,16 @@ public partial class AddCircleMemberDialogViewModel : ViewModelBase return; } Confirmed?.Invoke(this, Selected); - var app = App.Current as App; + var app = App.Current as App + ?? throw new InvalidOperationException("Application PostIt indisponible."); await app.GoBackAsync(); } [RelayCommand] public async Task CloseAsync() { - var app = App.Current as App; + var app = App.Current as App + ?? throw new InvalidOperationException("Application PostIt indisponible."); await app.GoBackAsync(); } } diff --git a/src/PostIt/PostIt/ViewModels/CirclesPageViewModel.cs b/src/PostIt/PostIt/ViewModels/CirclesPageViewModel.cs index 6d70add1d..73b87a181 100644 --- a/src/PostIt/PostIt/ViewModels/CirclesPageViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/CirclesPageViewModel.cs @@ -123,8 +123,10 @@ public partial class CirclesPageViewModel : ViewModelBase [RelayCommand] internal async Task OpenAddMemberAsync() { - var app = Application.Current as App; - var services = app?.ServiceProvider; + var app = Application.Current as App + ?? throw new InvalidOperationException("Application PostIt indisponible."); + var services = app.ServiceProvider + ?? throw new InvalidOperationException("ServiceProvider PostIt indisponible."); var directory = services.GetRequiredService(); AddCircleMemberDialogViewModel model = new AddCircleMemberDialogViewModel(directory); diff --git a/src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml.cs b/src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml.cs index 2941c5576..0fdb15c09 100644 --- a/src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml.cs +++ b/src/PostIt/PostIt/Views/AddCircleMemberDialog.axaml.cs @@ -1,10 +1,8 @@ using Avalonia.Markup.Xaml; -using Avalonia.Interactivity; using Avalonia.VisualTree; using PostIt.Services; using PostIt.ViewModels; -using System.Threading.Tasks; namespace PostIt.Views; @@ -41,10 +39,4 @@ public partial class AddCircleMemberDialog : Avalonia.Controls.ContentPage /// public AddCircleMemberDialogViewModel? ViewModel => DataContext as AddCircleMemberDialogViewModel; - - private async Task OnCloseClicked(object? sender, RoutedEventArgs e) - { - App app = App.Current! as App; - await app!.GoBackAsync(); - } }