diff --git a/Bitvault.Avalonia/MainView.axaml b/Bitvault.Avalonia/MainView.axaml index f2b5e96..5af2000 100644 --- a/Bitvault.Avalonia/MainView.axaml +++ b/Bitvault.Avalonia/MainView.axaml @@ -12,10 +12,12 @@ 0 1,0,0,0 - + - + + + diff --git a/Bitvault.Avalonia/MainView.axaml.cs b/Bitvault.Avalonia/MainView.axaml.cs index 8a558c0..5479b83 100644 --- a/Bitvault.Avalonia/MainView.axaml.cs +++ b/Bitvault.Avalonia/MainView.axaml.cs @@ -1,9 +1,7 @@ using Avalonia.Controls; -using Toolkit.Foundation; namespace Bitvault.Avalonia; -[NavigationTarget("Main")] public partial class MainView : UserControl { public MainView() => InitializeComponent(); diff --git a/Bitvault.Avalonia/MainWindow.axaml b/Bitvault.Avalonia/MainWindow.axaml index 679bcfa..17bed2c 100644 --- a/Bitvault.Avalonia/MainWindow.axaml +++ b/Bitvault.Avalonia/MainWindow.axaml @@ -7,10 +7,12 @@ x:DataType="vm:MainWindowViewModel" Background="Transparent" TransparencyLevelHint="Mica"> - + - + + + diff --git a/Bitvault.Avalonia/MainWindow.axaml.cs b/Bitvault.Avalonia/MainWindow.axaml.cs index 6bac412..a639308 100644 --- a/Bitvault.Avalonia/MainWindow.axaml.cs +++ b/Bitvault.Avalonia/MainWindow.axaml.cs @@ -1,9 +1,7 @@ using FluentAvalonia.UI.Windowing; -using Toolkit.Foundation; namespace Bitvault.Avalonia; -[NavigationTarget("Window")] public partial class MainWindow : AppWindow { public MainWindow() diff --git a/Bitvault.Avalonia/VaultContentNavigationView.axaml b/Bitvault.Avalonia/VaultContentNavigationView.axaml index 612b90d..a51a548 100644 --- a/Bitvault.Avalonia/VaultContentNavigationView.axaml +++ b/Bitvault.Avalonia/VaultContentNavigationView.axaml @@ -5,11 +5,21 @@ xmlns:vm="using:Bitvault" x:Name="Name" x:CompileBindings="False" - x:DataType="vm:VaultContentNavigationViewModel" - Content="{Binding Name}"> + x:DataType="vm:VaultContentNavigationViewModel"> - + + + + + + + + diff --git a/Bitvault.Avalonia/VaultView.axaml b/Bitvault.Avalonia/VaultView.axaml index 25e5b39..aa741df 100644 --- a/Bitvault.Avalonia/VaultView.axaml +++ b/Bitvault.Avalonia/VaultView.axaml @@ -47,9 +47,21 @@ Padding="4" BorderBrush="{DynamicResource DividerStrokeColorDefaultBrush}" BorderThickness="0,0,0,1"> - + + + + + + + - + + + + + + + diff --git a/Bitvault.Avalonia/VaultView.axaml.cs b/Bitvault.Avalonia/VaultView.axaml.cs index e88b85d..6411dbd 100644 --- a/Bitvault.Avalonia/VaultView.axaml.cs +++ b/Bitvault.Avalonia/VaultView.axaml.cs @@ -1,10 +1,7 @@ using Avalonia.Controls; -using Toolkit.Foundation; namespace Bitvault.Avalonia; -[NavigationTarget("Content")] -[NavigationTarget("ContentHeader")] public partial class VaultView : UserControl { public VaultView() => InitializeComponent(); diff --git a/Bitvault/VaultContentNavigationViewModel.cs b/Bitvault/VaultContentNavigationViewModel.cs index 196255c..086f6ae 100644 --- a/Bitvault/VaultContentNavigationViewModel.cs +++ b/Bitvault/VaultContentNavigationViewModel.cs @@ -10,18 +10,21 @@ public partial class VaultContentNavigationViewModel(IServiceProvider provider, ISubscriber subscriber, IDisposer disposer, IContentTemplate template, + NamedComponent named, string name, string description) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer) { [ObservableProperty] - private bool selected; + private string? description = description; [ObservableProperty] private string? name = name; [ObservableProperty] - private string? description = description; + private string named = $"{named}"; + [ObservableProperty] + private bool selected; public IContentTemplate Template { get; set; } = template; } \ No newline at end of file diff --git a/Bitvault/VaultViewModel.cs b/Bitvault/VaultViewModel.cs index af090e6..b24143b 100644 --- a/Bitvault/VaultViewModel.cs +++ b/Bitvault/VaultViewModel.cs @@ -12,12 +12,16 @@ public partial class VaultViewModel(IServiceProvider provider, ISubscriber subscriber, IDisposer disposer, IContentTemplate template, + NamedComponent named, string? filter = null) : ObservableCollectionViewModel(provider, factory, mediator, publisher, subscriber, disposer), INotificationHandler>> { [ObservableProperty] private string? filter = filter; + [ObservableProperty] + private string named = $"{named}"; + public IContentTemplate Template { get; set; } = template; public override async Task Activated() @@ -32,16 +36,16 @@ public partial class VaultViewModel(IServiceProvider provider, await base.Deactivated(); } - protected override IEnumerate PrepareEnumeration(object? key) => - Enumerate.With(new VaultViewModelOptions { Filter = Filter }) with { Key = key }; - - public async Task Handle(Vault> args, - CancellationToken cancellationToken = default) - { - if (args.Value is Filter filter) + public async Task Handle(Vault> args, + CancellationToken cancellationToken = default) { - Filter = filter.Value; - await Enumerate(); + if (args.Value is Filter filter) + { + Filter = filter.Value; + await Enumerate(); + } } - } + + protected override IEnumerate PrepareEnumeration(object? key) => + Enumerate.With(new VaultViewModelOptions { Filter = Filter }) with { Key = key }; } \ No newline at end of file