Skip to content

Feature/lucide icons#5

Merged
willwade merged 6 commits into
mainfrom
feature/lucide-icons
Jun 17, 2026
Merged

Feature/lucide icons#5
willwade merged 6 commits into
mainfrom
feature/lucide-icons

Conversation

@willwade

Copy link
Copy Markdown
Contributor

Summary

Issue / RFC: #4

Type of change

  • Bug fix
  • New feature
  • Cross-platform / parity change
  • Refactor / tooling / docs

Cross-platform impact

A core goal of Dasher v6 is feature parity across frontends. Help reviewers
see the blast radius:

  • This changes a capability that users see on other platforms.
    If checked, I have opened / updated the feature matrix
    (website/src/data/feature-status.yaml) — linked PR: #
    (or confirmed this is genuinely platform-specific-only)
  • This introduces a new UX or hardware interaction.
    If checked, an RFC (governance/rfcs) is linked: #

Definition of Done

  • CI is green (build + tests + lint + format, as applicable)
  • Tests added for new behaviour
  • Feature matrix updated if this affects a cross-platform capability
  • Docs / changelog updated if the change is user-facing
  • Commits are signed off (DCO) — git commit -s

willwade added 6 commits June 17, 2026 18:22
Replace all inline PathIcon elements with LucideIcon from the
Lucide.Avalonia NuGet package (v0.2.10), per RFC 0002.

Replaced icons:
- Toolbar: New (file-plus), Open (folder-open), Save, Play/Pause,
  Position (flip-horizontal-2), Keyboard, Game Mode (gamepad-2),
  Control Mode (mouse-pointer-click), Prefs (settings)
- Status bar: show/hide chevrons, back button
- Message pane: eye (toggle), volume-2 (speak), circle-stop (stop),
  copy, clipboard-copy, clipboard-paste, ellipsis-vertical (more)

Updated styles to target LucideIcon instead of PathIcon.
Play/pause icon Kind now swaps dynamically in code-behind.
Uses {x:Static} binding for enum values (compiled bindings compat).
Mode button icon now reflects pane position:
- Right: panel-right, Left: panel-left, Bottom: panel-bottom, Top: panel-top

Game button swaps between Gamepad2 (inactive) and Pause (active),
matching the Play/Pause button pattern.
Dark mode: ThemeDictionaries in App.axaml with Light/Dark variants for
all custom brushes (BgLight, SurfaceLight, BorderLight, TextPrimary, etc).
RequestedThemeVariant=Default follows the system setting.

Tooltips: Added ToolTip.Tip to all toolbar buttons (New, Open, Save,
Mode, Keyboard, Game, Control, Prefs) and message pane buttons (Eye,
Speak, Stop, Copy, Copy All, Paste, More, Back).

Theme cleanup: Replaced hardcoded #ECEFF1/#735A52/#EAE5E3/#DFDAD7 with
DynamicResource bindings so they adapt to dark mode.

Fixed CS8602 nullable warnings in UpdateChecker.cs and
MainWindow.axaml.cs with null-forgiving operators.
TextBox.message-area had hardcoded #FFFFFF background. Changed to
DynamicResource SurfaceLight so it adapts to theme (white in light,
#25282B in dark).
@willwade willwade merged commit b95edbf into main Jun 17, 2026
1 check passed
@willwade willwade mentioned this pull request Jun 18, 2026
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant