fix(ui): REC / ON-AIR labels are white in every state
RecordPillToggle never set a base Foreground, and its label inherits the toggle's — so unchecked inherited the Control default (black) on the dark bar, while checked was white on red. The style now sets on-accent once; the checked trigger only changes the fill. That is the consistency rule for session controls: white ink always, the fill carries the state (neutral off, red live). EDIT follows the same rule. UiShellTests asserts the base foreground, so the missing setter cannot come back silently.
This commit is contained in:
@@ -43,6 +43,11 @@ public class UiShellTests
|
||||
|
||||
// 5. Armed session controls are red, and the running stop button is red — not a grey literal.
|
||||
Assert.Contains("x:Key=\"RecordPillToggle\"", theme);
|
||||
// One rule for session controls: white ink in every state, the fill carries the state.
|
||||
// The missing base foreground is what painted the REC/ON-AIR labels black (2026-10-30).
|
||||
var pill = theme[theme.IndexOf("x:Key=\"RecordPillToggle\"", System.StringComparison.Ordinal)..];
|
||||
pill = pill[..pill.IndexOf("</Style>", System.StringComparison.Ordinal)];
|
||||
Assert.Contains("<Setter Property=\"Foreground\" Value=\"{StaticResource Brush.OnAccent}\"/>", pill);
|
||||
Assert.Contains("Brush.Primary", theme);
|
||||
Assert.Contains("Style=\"{StaticResource RecordPillToggle}\"", topBar);
|
||||
Assert.Contains("Background=\"{StaticResource Brush.Primary}\" Margin=\"14,0,0,0\"", topBar);
|
||||
|
||||
Reference in New Issue
Block a user