diff --git a/src/ClaudeDo.Ui/Design/IslandStyles.axaml b/src/ClaudeDo.Ui/Design/IslandStyles.axaml index 2277a4e..ab1ae34 100644 --- a/src/ClaudeDo.Ui/Design/IslandStyles.axaml +++ b/src/ClaudeDo.Ui/Design/IslandStyles.axaml @@ -94,6 +94,9 @@ M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8z M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65a.5.5 0 0 0 .12-.64l-2-3.46a.5.5 0 0 0-.61-.22l-2.49 1a7.03 7.03 0 0 0-1.69-.98l-.38-2.65a.5.5 0 0 0-.5-.42h-4a.5.5 0 0 0-.5.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1a.5.5 0 0 0-.61.22l-2 3.46a.5.5 0 0 0 .12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65a.5.5 0 0 0-.12.64l2 3.46a.5.5 0 0 0 .61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65a.5.5 0 0 0 .5.42h4a.5.5 0 0 0 .5-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1a.5.5 0 0 0 .61-.22l2-3.46a.5.5 0 0 0-.12-.64l-2.11-1.65z + + F0 M12 2 C7 2 4 5.5 4 10 C4 13.5 6 16 8 17.5 L8 19 C8 20 8.9 21 10 21 L10 18.5 L14 18.5 L14 21 C15.1 21 16 20 16 19 L16 17.5 C18 16 20 13.5 20 10 C20 5.5 17 2 12 2 Z M8.5 8 L8.5 12 L11 12 L11 8 Z M13 8 L13 12 L15.5 12 L15.5 8 Z + diff --git a/src/ClaudeDo.Ui/ViewModels/Islands/Detail/TaskHeaderBarViewModel.cs b/src/ClaudeDo.Ui/ViewModels/Islands/Detail/TaskHeaderBarViewModel.cs new file mode 100644 index 0000000..5e9eb94 --- /dev/null +++ b/src/ClaudeDo.Ui/ViewModels/Islands/Detail/TaskHeaderBarViewModel.cs @@ -0,0 +1,41 @@ +using System.Collections.ObjectModel; +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; + +namespace ClaudeDo.Ui.ViewModels.Islands.Detail; + +public record AgentOption(string Name); + +public partial class TaskHeaderBarViewModel : ViewModelBase +{ + [ObservableProperty] private string _taskIdBadge = "#T42"; + [ObservableProperty] private string _editableTitle = "Refactor diff viewer"; + + // Change to true to preview skull icon + [ObservableProperty] private bool _isRunning = false; + [ObservableProperty] private bool _isAgentSectionEnabled = true; + + [ObservableProperty] private ObservableCollection _taskModelOptions = + new() { "claude-opus-4-5", "claude-sonnet-4-5", "claude-haiku-4-5" }; + [ObservableProperty] private string? _taskModelSelection; + [ObservableProperty] private string? _modelBadge = "inherited · Global"; + [ObservableProperty] private string? _modelInheritedHint = "claude-opus-4-5"; + + [ObservableProperty] private decimal? _taskMaxTurns; + [ObservableProperty] private string? _turnsBadge = "inherited · List"; + [ObservableProperty] private string? _turnsInheritedHint = "40"; + + [ObservableProperty] private string? _taskSystemPrompt; + [ObservableProperty] private string? _effectiveSystemPromptHint = "You are a senior .NET developer…"; + + [ObservableProperty] private ObservableCollection _taskAgentOptions = + new() { new("default"), new("code-reviewer"), new("test-writer") }; + [ObservableProperty] private AgentOption? _taskSelectedAgent; + [ObservableProperty] private string? _agentBadge; + + [RelayCommand] private void DeleteTask() { } + [RelayCommand] private void KillSession() { } + [RelayCommand] private void ResetTaskModel() { } + [RelayCommand] private void ResetTaskTurns() { } + [RelayCommand] private void ResetTaskAgent() { } +} diff --git a/src/ClaudeDo.Ui/Views/Islands/Detail/TaskHeaderBar.axaml b/src/ClaudeDo.Ui/Views/Islands/Detail/TaskHeaderBar.axaml new file mode 100644 index 0000000..769ad8a --- /dev/null +++ b/src/ClaudeDo.Ui/Views/Islands/Detail/TaskHeaderBar.axaml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ClaudeDo.Ui/Views/Islands/Detail/TaskHeaderBar.axaml.cs b/src/ClaudeDo.Ui/Views/Islands/Detail/TaskHeaderBar.axaml.cs new file mode 100644 index 0000000..1bb5616 --- /dev/null +++ b/src/ClaudeDo.Ui/Views/Islands/Detail/TaskHeaderBar.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace ClaudeDo.Ui.Views.Islands.Detail; + +public partial class TaskHeaderBar : UserControl +{ + public TaskHeaderBar() + { + InitializeComponent(); + } +}