Skip to content

Commit a40ef79

Browse files
committed
ux: show counters in collapsed sidebar icon
Signed-off-by: leo <longshuang@msn.cn>
1 parent 5112980 commit a40ef79

2 files changed

Lines changed: 31 additions & 2 deletions

File tree

‎src/Converters/IntConverters.cs‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,8 @@ public static class IntConverters
2222

2323
public static readonly FuncValueConverter<int, string> ToUnsolvedDesc =
2424
new(v => v == 0 ? App.Text("MergeConflictEditor.AllResolved") : App.Text("MergeConflictEditor.ConflictsRemaining", v));
25+
26+
public static readonly FuncValueConverter<int, string> ToBadgeWithLimit =
27+
new(v => v > 999 ? "999+" : v.ToString());
2528
}
2629
}

‎src/Views/Repository.axaml‎

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -750,11 +750,37 @@
750750
</ListBoxItem>
751751

752752
<ListBoxItem IsVisible="{Binding !IsBare}">
753-
<Path Classes="icon" Margin="2,0,0,0" Data="{StaticResource Icons.Changes}"/>
753+
<Grid>
754+
<Path Classes="icon" Data="{StaticResource Icons.Changes}"/>
755+
<Border Height="14"
756+
Margin="0,4,4,0" Padding="5,0"
757+
CornerRadius="7"
758+
HorizontalAlignment="Right" VerticalAlignment="Top"
759+
Background="Crimson"
760+
IsVisible="{Binding LocalChangesCount, Mode=OneWay, Converter={x:Static c:IntConverters.IsGreaterThanZero}}">
761+
<TextBlock Text="{Binding LocalChangesCount, Mode=OneWay, Converter={x:Static c:IntConverters.ToBadgeWithLimit}}"
762+
Foreground="White"
763+
FontFamily="{DynamicResource Fonts.Monospace}"
764+
FontSize="10"/>
765+
</Border>
766+
</Grid>
754767
</ListBoxItem>
755768

756769
<ListBoxItem IsVisible="{Binding !IsBare}">
757-
<Path Classes="icon" Data="{StaticResource Icons.Stashes}"/>
770+
<Grid>
771+
<Path Classes="icon" Data="{StaticResource Icons.Stashes}"/>
772+
<Border Height="14"
773+
Margin="0,4,4,0" Padding="5,0"
774+
CornerRadius="7"
775+
HorizontalAlignment="Right" VerticalAlignment="Top"
776+
Background="Crimson"
777+
IsVisible="{Binding StashesCount, Mode=OneWay, Converter={x:Static c:IntConverters.IsGreaterThanZero}}">
778+
<TextBlock Text="{Binding StashesCount, Mode=OneWay, Converter={x:Static c:IntConverters.ToBadgeWithLimit}}"
779+
Foreground="White"
780+
FontFamily="{DynamicResource Fonts.Monospace}"
781+
FontSize="10"/>
782+
</Border>
783+
</Grid>
758784
</ListBoxItem>
759785
</ListBox>
760786
</Grid>

0 commit comments

Comments
 (0)