Improve vault navifaiton

This commit is contained in:
TheXamlGuy
2024-05-05 17:41:38 +01:00
parent bfc495af4e
commit a49e2a8fae
15 changed files with 116 additions and 79 deletions
@@ -0,0 +1,35 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Toolkit.Foundation;
namespace Bitvault;
public partial class FilterVaultNavigationViewModel(IServiceProvider provider,
IServiceFactory factory,
IMediator mediator,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
string name) :
ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer),
IVaultNavigationViewModel,
INotificationHandler<Vault<Activated>>,
INotificationHandler<Vault<Deactivated>>
{
[ObservableProperty]
private bool activated;
[ObservableProperty]
private bool selected;
public Task Handle(Vault<Deactivated> args,
CancellationToken cancellationToken = default) =>
Task.FromResult(Activated = false);
public Task Handle(Vault<Activated> args,
CancellationToken cancellationToken = default) =>
Task.FromResult(Activated = true);
[RelayCommand]
public void Invoke() => Publisher.Publish(Vault.As(new Selected<string>(name)));
}