diff --git a/Wallet/ItemNavigationCollectionViewModelActivatedHandler.cs b/Wallet/ItemNavigationCollectionViewModelActivatedHandler.cs index 8f848c9..6d47e20 100644 --- a/Wallet/ItemNavigationCollectionViewModelActivatedHandler.cs +++ b/Wallet/ItemNavigationCollectionViewModelActivatedHandler.cs @@ -31,7 +31,7 @@ public class ItemNavigationCollectionViewModelActivatedHandler(IMediator mediato IDecoratorService> decoratorService = serviceScope.ServiceProvider .GetRequiredService>>(); - if (serviceFactory.Create(args => args.Initialize(), + if (serviceFactory.Create(args => args.Initialize(), configuration.Filter, Id, Name, "Description", Category, selected, Favourite, Archived) is ItemNavigationViewModel viewModel) { diff --git a/Wallet/ItemNavigationViewModel.cs b/Wallet/ItemNavigationViewModel.cs index ad39c97..4afdb7a 100644 --- a/Wallet/ItemNavigationViewModel.cs +++ b/Wallet/ItemNavigationViewModel.cs @@ -12,6 +12,7 @@ public partial class ItemNavigationViewModel(IServiceProvider provider, IDisposer disposer, IContentTemplate template, NamedComponent named, + string filter, Guid id, string name = "", string description = "", @@ -37,6 +38,9 @@ public partial class ItemNavigationViewModel(IServiceProvider provider, [ObservableProperty] private string? description = description; + [ObservableProperty] + private string filter = filter; + [ObservableProperty] private Guid id = id; @@ -60,6 +64,7 @@ public partial class ItemNavigationViewModel(IServiceProvider provider, [ObservableProperty] private string named = $"{named}"; + public IContentTemplate Template { get; set; } = template; public Task Handle(ArchiveEventArgs args) @@ -82,6 +87,11 @@ public partial class ItemNavigationViewModel(IServiceProvider provider, public Task Handle(UnfavouriteEventArgs args) { + if (Filter == "Favourites") + { + Dispose(); + } + IsFavourite = false; return Task.CompletedTask; }