diff --git a/src/ClaudeDo.Ui/Design/IslandStyles.axaml b/src/ClaudeDo.Ui/Design/IslandStyles.axaml index c6d7b97..50c5234 100644 --- a/src/ClaudeDo.Ui/Design/IslandStyles.axaml +++ b/src/ClaudeDo.Ui/Design/IslandStyles.axaml @@ -664,6 +664,23 @@ + + + + + + + + diff --git a/src/ClaudeDo.Ui/ViewModels/Islands/DetailsIslandViewModel.cs b/src/ClaudeDo.Ui/ViewModels/Islands/DetailsIslandViewModel.cs index 21e61bf..3c39a2b 100644 --- a/src/ClaudeDo.Ui/ViewModels/Islands/DetailsIslandViewModel.cs +++ b/src/ClaudeDo.Ui/ViewModels/Islands/DetailsIslandViewModel.cs @@ -37,6 +37,26 @@ public sealed partial class DetailsIslandViewModel : ViewModelBase [ObservableProperty] private string? _branchLine; [ObservableProperty] private int _turns; [ObservableProperty] private int _tokens; + [ObservableProperty] private int _diffAdditions; + [ObservableProperty] private int _diffDeletions; + [ObservableProperty] private int _commitsOnBranch; + + public string TokensFormatted => Tokens >= 1000 ? $"{Tokens / 1000.0:F1}k" : Tokens.ToString(); + public string ElapsedFormatted => ""; // placeholder — no start-time stored yet + + partial void OnTokensChanged(int value) => OnPropertyChanged(nameof(TokensFormatted)); + partial void OnDiffAdditionsChanged(int value) => OnPropertyChanged(nameof(DiffMeterRatio)); + partial void OnDiffDeletionsChanged(int value) => OnPropertyChanged(nameof(DiffMeterRatio)); + + // 0.0–1.0 additions share for the diff meter + public double DiffMeterRatio + { + get + { + var total = DiffAdditions + DiffDeletions; + return total == 0 ? 0.0 : (double)DiffAdditions / total; + } + } public ObservableCollection Log { get; } = new(); public ObservableCollection Subtasks { get; } = new(); diff --git a/src/ClaudeDo.Ui/Views/Islands/AgentStripView.axaml b/src/ClaudeDo.Ui/Views/Islands/AgentStripView.axaml index 3c0edac..8847643 100644 --- a/src/ClaudeDo.Ui/Views/Islands/AgentStripView.axaml +++ b/src/ClaudeDo.Ui/Views/Islands/AgentStripView.axaml @@ -3,38 +3,129 @@ xmlns:vm="using:ClaudeDo.Ui.ViewModels.Islands" x:Class="ClaudeDo.Ui.Views.Islands.AgentStripView" x:DataType="vm:DetailsIslandViewModel"> - - - - - - - + + + + + + + - - + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + +