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; return;
} }
Confirmed?.Invoke(this, Selected); 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(); await app.GoBackAsync();
} }
[RelayCommand] [RelayCommand]
public async Task CloseAsync() 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(); await app.GoBackAsync();
} }
} }

View file

@ -123,8 +123,10 @@ public partial class CirclesPageViewModel : ViewModelBase
[RelayCommand] [RelayCommand]
internal async Task OpenAddMemberAsync() internal async Task OpenAddMemberAsync()
{ {
var app = Application.Current as App; var app = Application.Current as App
var services = app?.ServiceProvider; ?? throw new InvalidOperationException("Application PostIt indisponible.");
var services = app.ServiceProvider
?? throw new InvalidOperationException("ServiceProvider PostIt indisponible.");
var directory = services.GetRequiredService<IUserDirectory>(); var directory = services.GetRequiredService<IUserDirectory>();
AddCircleMemberDialogViewModel model = AddCircleMemberDialogViewModel model =
new AddCircleMemberDialogViewModel(directory); new AddCircleMemberDialogViewModel(directory);

View file

@ -1,10 +1,8 @@
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
using Avalonia.Interactivity;
using Avalonia.VisualTree; using Avalonia.VisualTree;
using PostIt.Services; using PostIt.Services;
using PostIt.ViewModels; using PostIt.ViewModels;
using System.Threading.Tasks;
namespace PostIt.Views; namespace PostIt.Views;
@ -41,10 +39,4 @@ public partial class AddCircleMemberDialog : Avalonia.Controls.ContentPage
/// </summary> /// </summary>
public AddCircleMemberDialogViewModel? ViewModel public AddCircleMemberDialogViewModel? ViewModel
=> DataContext as AddCircleMemberDialogViewModel; => DataContext as AddCircleMemberDialogViewModel;
private async Task OnCloseClicked(object? sender, RoutedEventArgs e)
{
App app = App.Current! as App;
await app!.GoBackAsync();
}
} }