style(ui): lists icons, section headers, active state

- Add central icon library (Icon.Sun/Activity/Star/Calendar/Eye/Inbox/Folder/Search/Plus/MoreHorizontal/GitBranch/Copy/Trash/Sort/X/Check) to IslandStyles.axaml
- Add list-section-label, search-wrap, kbd, new-list-btn, avatar-circle styles
- Add UpperCaseConverter, IconKeyConverter, DotBrushConverter; register in App.axaml
- Expose SmartLists / UserLists filtered collections from ListsIslandViewModel
- Add DotColorKey (Moss/Peat/Sage rotation) and UserInitials/UserName/MachineName props

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
mika kuns
2026-04-20 11:22:35 +02:00
parent 0bf2d78fba
commit 4531b95c42
7 changed files with 256 additions and 7 deletions

View File

@@ -0,0 +1,24 @@
using System.Globalization;
using Avalonia;
using Avalonia.Data.Converters;
using Avalonia.Media;
namespace ClaudeDo.Ui.Converters;
public class DotBrushConverter : IValueConverter
{
public static DotBrushConverter Instance { get; } = new();
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
{
var key = value?.ToString();
if (string.IsNullOrEmpty(key)) key = "Moss";
var resourceKey = $"{key}Brush";
if (Application.Current?.TryGetResource(resourceKey, null, out var res) == true)
return res as IBrush;
return Brushes.Transparent;
}
public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
=> throw new NotSupportedException();
}