From a44c104940915e4b90d18575e881a0435f23a1c8 Mon Sep 17 00:00:00 2001 From: Mika Kuns Date: Tue, 14 Apr 2026 10:31:54 +0200 Subject: [PATCH] feat(ui): add auto-save LostFocus handlers and tag input KeyDown Co-Authored-By: Claude Sonnet 4.6 --- src/ClaudeDo.Ui/Views/TaskDetailView.axaml.cs | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/ClaudeDo.Ui/Views/TaskDetailView.axaml.cs b/src/ClaudeDo.Ui/Views/TaskDetailView.axaml.cs index 6cf2758..70546b3 100644 --- a/src/ClaudeDo.Ui/Views/TaskDetailView.axaml.cs +++ b/src/ClaudeDo.Ui/Views/TaskDetailView.axaml.cs @@ -1,4 +1,7 @@ using Avalonia.Controls; +using Avalonia.Input; +using Avalonia.Interactivity; +using ClaudeDo.Ui.ViewModels; namespace ClaudeDo.Ui.Views; @@ -9,6 +12,23 @@ public partial class TaskDetailView : UserControl InitializeComponent(); } - private void OnFieldLostFocus(object? sender, Avalonia.Interactivity.RoutedEventArgs e) { } - private void OnTagInputKeyDown(object? sender, Avalonia.Input.KeyEventArgs e) { } + private async void OnFieldLostFocus(object? sender, RoutedEventArgs e) + { + if (DataContext is TaskDetailViewModel vm) + await vm.SaveAsync(); + } + + private void OnTagInputKeyDown(object? sender, KeyEventArgs e) + { + if (e.Key == Key.Enter && DataContext is TaskDetailViewModel vm) + { + vm.AddTagCommand.Execute(null); + e.Handled = true; + } + } + + public void FocusTitle() + { + this.FindControl("TitleBox")?.Focus(); + } }