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); } }