using System; using Avalonia.Controls; using Avalonia.Interactivity; using Avalonia.Media; using Project.Controller; namespace Project.View; public partial class NewEntry : Window { readonly AppController? _controller; public NewEntry() { InitializeComponent(); this.SizeToContent = SizeToContent.Height; Title = "KEYWI - your password manager!"; } public NewEntry(AppController controller) { InitializeComponent(); _controller = controller; } private void NewEntry_Cancel_Click(object? sender, RoutedEventArgs e) { Close(); } //saves the new entry to the database on click private void NewEntry_Save_Click(object? sender, RoutedEventArgs e) { string? name = NameBox.Text; string? username = UsernameMailBox.Text; string? url = URLBox.Text; string? pass = PassBox.Text; string? note = NoteBox.Text; //test inputs: if (InputSanitizer.EntryName(name) && InputSanitizer.Password(pass) && InputSanitizer.Userormail(username)) { AppController.NewEntrySave(name, username, url, pass, note); var newMenuView = new MenuView(); newMenuView.AfterSavingNewEntry(); Close(); } else { var newPopUp = new EntryErrorPopUp(); NameBox.Text = string.Empty; UsernameMailBox.Text = string.Empty; URLBox.Text = String.Empty; PassBox.Text = String.Empty; NoteBox.Text = String.Empty; newPopUp.Show(); } } //shows the password or hides it again private void NewEntry_ShowPW_Click(object? sender, RoutedEventArgs e) { if (NewentryPW.PasswordChar == '•') { NewentryPW.PasswordChar = '\0'; } else { NewentryPW.PasswordChar = '•'; } } }