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>, INotificationHandler>, INotificationHandler>, INotificationHandler>, IItemEntryViewModel { [ObservableProperty] private bool immutable = immutable; public Task Handle(ValidationEventArgs args, CancellationToken cancellationToken) { return Task.FromResult(true); } public Task Handle(ConfirmEventArgs args, CancellationToken cancellationToken) => Task.FromResult(new ItemHeaderConfiguration { Name = Value }); public Task Handle(EditEventArgs args) => Task.FromResult(Immutable = false); public Task Handle(CancelEventArgs args) => Task.FromResult(Immutable = true); public Task Handle(ConfirmEventArgs args) => Task.FromResult(Immutable = true); }