using CommunityToolkit.Mvvm.ComponentModel; using Toolkit.Foundation; namespace Bitvault; public partial class ItemHeaderViewModel(IServiceProvider provider, IServiceFactory factory, IMediator mediator, IPublisher publisher, ISubscription subscriber, IDisposer disposer, bool immutable, string? value = null) : Observable(provider, factory, mediator, publisher, subscriber, disposer, value), IHandler, bool>, IHandler, ItemHeaderConfiguration> { [ObservableProperty] private bool immutable = immutable; public Task Handle(ValidationEventArgs args, CancellationToken cancellationToken) { // we need to work on the local validation layer return Task.FromResult(true); } public Task Handle(ConfirmEventArgs args, CancellationToken cancellationToken) => Task.FromResult(new ItemHeaderConfiguration { Name = Value }); }