using Avalonia.Controls;
using Avalonia.Interactivity;
using JdeScoping.SecureStoreManager.ViewModels;
using MsBox.Avalonia;
using MsBox.Avalonia.Enums;
namespace JdeScoping.SecureStoreManager.Views;
public partial class SecretEditDialog : Window
{
///
/// Gets the view model for this dialog.
///
public SecretEditDialogViewModel ViewModel => (SecretEditDialogViewModel)DataContext!;
///
/// Initializes a new instance of the class for creating a new secret.
///
public SecretEditDialog()
{
InitializeComponent();
DataContext = new SecretEditDialogViewModel();
}
///
/// Initializes a new instance of the class for editing an existing secret.
///
/// The secret key.
/// The secret value.
public SecretEditDialog(string key, string value)
{
InitializeComponent();
DataContext = new SecretEditDialogViewModel(key, value);
}
private async void SaveButton_Click(object? sender, RoutedEventArgs e)
{
if (!ViewModel.IsValid)
{
var box = MessageBoxManager
.GetMessageBoxStandard(
"Validation Error",
ViewModel.ValidationError ?? "Please fill in all required fields.",
ButtonEnum.Ok,
MsBox.Avalonia.Enums.Icon.Warning);
await box.ShowWindowDialogAsync(this);
return;
}
Close(true);
}
private void CancelButton_Click(object? sender, RoutedEventArgs e)
{
Close(false);
}
}