From 7c4781c8f19620f1a8220e15af7bea93779e858e Mon Sep 17 00:00:00 2001 From: TheXamlGuy Date: Wed, 8 May 2024 22:01:33 +0100 Subject: [PATCH] wip --- .../AddVaultContentActionView.axaml | 1 - .../AddVaultContentHeaderView.axaml | 35 +++++++++++++++ .../AddVaultContentHeaderView.axaml.cs | 12 +++++ Bitvault.Avalonia/AddVaultContentView.axaml | 45 ++++++++++++++++++- Bitvault.Avalonia/App.axaml | 2 +- Bitvault.Avalonia/App.axaml.cs | 9 +++- .../ConfirmVaultContentActionView.axaml | 18 ++++++++ .../ConfirmVaultContentActionView.axaml.cs | 8 ++++ .../DismissVaultContentActionView.axaml | 18 ++++++++ .../DismissVaultContentActionView.axaml.cs | 8 ++++ Bitvault.Avalonia/MainWindow.axaml | 2 +- .../VaultContentNavigationView.axaml | 2 +- Bitvault.Avalonia/VaultHeaderView.axaml | 8 ++++ Bitvault.Avalonia/VaultView.axaml | 35 ++++++++++----- Bitvault.Avalonia/VaultView.axaml.cs | 2 +- Bitvault/AddVaultContentActionViewModel.cs | 2 +- Bitvault/AddVaultContentHeaderViewModel.cs | 22 +++++++++ Bitvault/AddVaultContentViewModel.cs | 18 +++++--- .../ConfirmVaultContentActionViewModel.cs | 10 +++++ Bitvault/CreateVaultViewModel.cs | 6 +-- Bitvault/DeleteVaultContentActionViewModel.cs | 10 +++++ .../DismissVaultContentActionViewModel.cs | 10 +++++ Bitvault/EditVaultContentActionViewModel.cs | 11 +++++ Bitvault/IconPickerViewModel.cs | 16 +++++++ Bitvault/IconViewModel.cs | 16 +++++++ Bitvault/NoteViewModel.cs | 16 +++++++ Bitvault/PasswordViewModel.cs | 16 +++++++ Bitvault/TextViewModel.cs | 16 +++++++ Bitvault/VaultConnectionPersistence.cs | 24 ---------- Bitvault/VaultContentHeaderViewModel.cs | 10 +++++ 30 files changed, 354 insertions(+), 54 deletions(-) create mode 100644 Bitvault.Avalonia/AddVaultContentHeaderView.axaml create mode 100644 Bitvault.Avalonia/AddVaultContentHeaderView.axaml.cs create mode 100644 Bitvault.Avalonia/ConfirmVaultContentActionView.axaml create mode 100644 Bitvault.Avalonia/ConfirmVaultContentActionView.axaml.cs create mode 100644 Bitvault.Avalonia/DismissVaultContentActionView.axaml create mode 100644 Bitvault.Avalonia/DismissVaultContentActionView.axaml.cs create mode 100644 Bitvault/AddVaultContentHeaderViewModel.cs create mode 100644 Bitvault/ConfirmVaultContentActionViewModel.cs create mode 100644 Bitvault/DeleteVaultContentActionViewModel.cs create mode 100644 Bitvault/DismissVaultContentActionViewModel.cs create mode 100644 Bitvault/EditVaultContentActionViewModel.cs create mode 100644 Bitvault/IconPickerViewModel.cs create mode 100644 Bitvault/IconViewModel.cs create mode 100644 Bitvault/NoteViewModel.cs create mode 100644 Bitvault/PasswordViewModel.cs create mode 100644 Bitvault/TextViewModel.cs delete mode 100644 Bitvault/VaultConnectionPersistence.cs create mode 100644 Bitvault/VaultContentHeaderViewModel.cs diff --git a/Bitvault.Avalonia/AddVaultContentActionView.axaml b/Bitvault.Avalonia/AddVaultContentActionView.axaml index 76487ef..6ad8284 100644 --- a/Bitvault.Avalonia/AddVaultContentActionView.axaml +++ b/Bitvault.Avalonia/AddVaultContentActionView.axaml @@ -7,7 +7,6 @@ Width="{StaticResource ButtonWidth}" Height="{StaticResource ButtonHeight}" VerticalAlignment="Center" - BorderThickness="0" Content="" FontFamily="{DynamicResource SymbolThemeFontFamily}" FontSize="16" diff --git a/Bitvault.Avalonia/AddVaultContentHeaderView.axaml b/Bitvault.Avalonia/AddVaultContentHeaderView.axaml new file mode 100644 index 0000000..f0f31b4 --- /dev/null +++ b/Bitvault.Avalonia/AddVaultContentHeaderView.axaml @@ -0,0 +1,35 @@ + + + + 40 + 36 + + + + 0 + + + + + + + + + + + + + + + + + + diff --git a/Bitvault.Avalonia/AddVaultContentHeaderView.axaml.cs b/Bitvault.Avalonia/AddVaultContentHeaderView.axaml.cs new file mode 100644 index 0000000..17c4603 --- /dev/null +++ b/Bitvault.Avalonia/AddVaultContentHeaderView.axaml.cs @@ -0,0 +1,12 @@ +using Avalonia.Controls; + +namespace Bitvault.Avalonia +{ + public partial class AddVaultContentHeaderView : UserControl + { + public AddVaultContentHeaderView() + { + InitializeComponent(); + } + } +} diff --git a/Bitvault.Avalonia/AddVaultContentView.axaml b/Bitvault.Avalonia/AddVaultContentView.axaml index 5ac68c7..e063227 100644 --- a/Bitvault.Avalonia/AddVaultContentView.axaml +++ b/Bitvault.Avalonia/AddVaultContentView.axaml @@ -2,5 +2,48 @@ x:Class="Bitvault.Avalonia.AddVaultContentView" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - Add vault content placeholder + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Bitvault.Avalonia/App.axaml b/Bitvault.Avalonia/App.axaml index 0d6b9d9..fdc33a6 100644 --- a/Bitvault.Avalonia/App.axaml +++ b/Bitvault.Avalonia/App.axaml @@ -5,7 +5,7 @@ xmlns:ui="using:FluentAvalonia.UI.Controls" RequestedThemeVariant="Default"> - + - + Grid.Column="1" + MinWidth="2" + MaxWidth="2" + Background="Transparent" /> + + + + + + + + diff --git a/Bitvault.Avalonia/VaultView.axaml.cs b/Bitvault.Avalonia/VaultView.axaml.cs index 0bcc7e4..e88b85d 100644 --- a/Bitvault.Avalonia/VaultView.axaml.cs +++ b/Bitvault.Avalonia/VaultView.axaml.cs @@ -3,8 +3,8 @@ using Toolkit.Foundation; namespace Bitvault.Avalonia; -[NavigationTarget("Header")] [NavigationTarget("Content")] +[NavigationTarget("ContentHeader")] public partial class VaultView : UserControl { public VaultView() => InitializeComponent(); diff --git a/Bitvault/AddVaultContentActionViewModel.cs b/Bitvault/AddVaultContentActionViewModel.cs index 9f03402..190cf4d 100644 --- a/Bitvault/AddVaultContentActionViewModel.cs +++ b/Bitvault/AddVaultContentActionViewModel.cs @@ -7,4 +7,4 @@ public partial class AddVaultContentActionViewModel(IServiceProvider provider, IMediator mediator, IPublisher publisher, ISubscriber subscriber, - IDisposer disposer) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer); + IDisposer disposer) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer); \ No newline at end of file diff --git a/Bitvault/AddVaultContentHeaderViewModel.cs b/Bitvault/AddVaultContentHeaderViewModel.cs new file mode 100644 index 0000000..e7136e3 --- /dev/null +++ b/Bitvault/AddVaultContentHeaderViewModel.cs @@ -0,0 +1,22 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class AddVaultContentHeaderViewModel : ObservableCollectionViewModel +{ + public AddVaultContentHeaderViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer, + IContentTemplate template) : base(provider, factory, mediator, publisher, subscriber, disposer) + { + Add(); + Add(); + + Template = template; + } + + public IContentTemplate Template { get; set; } +} \ No newline at end of file diff --git a/Bitvault/AddVaultContentViewModel.cs b/Bitvault/AddVaultContentViewModel.cs index ea6f7a2..bc178d5 100644 --- a/Bitvault/AddVaultContentViewModel.cs +++ b/Bitvault/AddVaultContentViewModel.cs @@ -2,9 +2,15 @@ namespace Bitvault; -public partial class AddVaultContentViewModel(IServiceProvider provider, - IServiceFactory factory, - IMediator mediator, - IPublisher publisher, - ISubscriber subscriber, - IDisposer disposer) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer); +public partial class AddVaultContentViewModel : ObservableCollectionViewModel +{ + public AddVaultContentViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer) + { + + } +} diff --git a/Bitvault/ConfirmVaultContentActionViewModel.cs b/Bitvault/ConfirmVaultContentActionViewModel.cs new file mode 100644 index 0000000..509ab6a --- /dev/null +++ b/Bitvault/ConfirmVaultContentActionViewModel.cs @@ -0,0 +1,10 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class ConfirmVaultContentActionViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer); diff --git a/Bitvault/CreateVaultViewModel.cs b/Bitvault/CreateVaultViewModel.cs index 90c5eb7..d39ed24 100644 --- a/Bitvault/CreateVaultViewModel.cs +++ b/Bitvault/CreateVaultViewModel.cs @@ -21,8 +21,6 @@ public partial class CreateVaultViewModel(IServiceProvider provider, [ObservableProperty] private string password; - public async Task Confirm() - { - return await Mediator.Handle, bool>(Create.As(new Vault(Name, Password))); - } + public async Task Confirm() => + await Mediator.Handle, bool>(Create.As(new Vault(Name, Password))); } \ No newline at end of file diff --git a/Bitvault/DeleteVaultContentActionViewModel.cs b/Bitvault/DeleteVaultContentActionViewModel.cs new file mode 100644 index 0000000..8328383 --- /dev/null +++ b/Bitvault/DeleteVaultContentActionViewModel.cs @@ -0,0 +1,10 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class DeleteVaultContentActionViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer); diff --git a/Bitvault/DismissVaultContentActionViewModel.cs b/Bitvault/DismissVaultContentActionViewModel.cs new file mode 100644 index 0000000..b29c9bc --- /dev/null +++ b/Bitvault/DismissVaultContentActionViewModel.cs @@ -0,0 +1,10 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class DismissVaultContentActionViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer); \ No newline at end of file diff --git a/Bitvault/EditVaultContentActionViewModel.cs b/Bitvault/EditVaultContentActionViewModel.cs new file mode 100644 index 0000000..3f55b72 --- /dev/null +++ b/Bitvault/EditVaultContentActionViewModel.cs @@ -0,0 +1,11 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class EditVaultContentActionViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer); + diff --git a/Bitvault/IconPickerViewModel.cs b/Bitvault/IconPickerViewModel.cs new file mode 100644 index 0000000..c2a473d --- /dev/null +++ b/Bitvault/IconPickerViewModel.cs @@ -0,0 +1,16 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class IconPickerViewModel : ObservableViewModel +{ + public IconPickerViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer) + { + + } +} diff --git a/Bitvault/IconViewModel.cs b/Bitvault/IconViewModel.cs new file mode 100644 index 0000000..061e69a --- /dev/null +++ b/Bitvault/IconViewModel.cs @@ -0,0 +1,16 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class IconViewModel : ObservableViewModel +{ + public IconViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer) + { + + } +} diff --git a/Bitvault/NoteViewModel.cs b/Bitvault/NoteViewModel.cs new file mode 100644 index 0000000..415122d --- /dev/null +++ b/Bitvault/NoteViewModel.cs @@ -0,0 +1,16 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class NoteViewModel : ObservableViewModel +{ + public NoteViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer) + { + + } +} diff --git a/Bitvault/PasswordViewModel.cs b/Bitvault/PasswordViewModel.cs new file mode 100644 index 0000000..dd954c7 --- /dev/null +++ b/Bitvault/PasswordViewModel.cs @@ -0,0 +1,16 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class PasswordViewModel : ObservableViewModel +{ + public PasswordViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer) + { + + } +} diff --git a/Bitvault/TextViewModel.cs b/Bitvault/TextViewModel.cs new file mode 100644 index 0000000..04fa299 --- /dev/null +++ b/Bitvault/TextViewModel.cs @@ -0,0 +1,16 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class TextViewModel : ObservableViewModel +{ + public TextViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer) + { + + } +} diff --git a/Bitvault/VaultConnectionPersistence.cs b/Bitvault/VaultConnectionPersistence.cs deleted file mode 100644 index 5345973..0000000 --- a/Bitvault/VaultConnectionPersistence.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace Bitvault; - -public class VaultConnectionPersistence : - IVaultConnectionPersistence, - IDisposable -{ - private string? connection; - - public void Dispose() - { - connection = null; - } - - public string? Get(string key) - { - return connection; - } - - public void Set(string key, - string connection) - { - this.connection = connection; - } -} diff --git a/Bitvault/VaultContentHeaderViewModel.cs b/Bitvault/VaultContentHeaderViewModel.cs new file mode 100644 index 0000000..aab09c9 --- /dev/null +++ b/Bitvault/VaultContentHeaderViewModel.cs @@ -0,0 +1,10 @@ +using Toolkit.Foundation; + +namespace Bitvault; + +public partial class VaultContentHeaderViewModel(IServiceProvider provider, + IServiceFactory factory, + IMediator mediator, + IPublisher publisher, + ISubscriber subscriber, + IDisposer disposer) : ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer); \ No newline at end of file