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