postit: persist settings save and apply ApiUrl changes without restart #51

Merged
notazof merged 25 commits from feat/estimate into main 2026-09-06 21:05:58 +01:00
3 changed files with 8 additions and 12 deletions
Showing only changes of commit e03b979f0b - Show all commits

postit: guard app navigation paths in circle member flows

Paul Schneider 2026-09-06 15:22:50 +01:00
Signed by: notazof
GPG key ID: 1DD5D838E5343B06

View file

@ -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();
}
}

View file

@ -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<IUserDirectory>();
AddCircleMemberDialogViewModel model =
new AddCircleMemberDialogViewModel(directory);

View file

@ -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
/// </summary>
public AddCircleMemberDialogViewModel? ViewModel
=> DataContext as AddCircleMemberDialogViewModel;
private async Task OnCloseClicked(object? sender, RoutedEventArgs e)
{
App app = App.Current! as App;
await app!.GoBackAsync();
}
}