design: app settings + dialogs to tokens (surface 5 of the sweep)

OverlayHost (the App Settings surface) and every dialog — Go Live, Socials, Mic picker, Camera
picker, Hotkey config, Reuse Image, Rename Recording, Keep Broadcast — now resolve from tokens.
That closes the last place the creator sees a dialog: the settings overlay was still wearing the
old palette while the main window had moved on.

Every #e94560 in these files was an ERROR or validation affordance (hotkey conflicts, socials
validation, the remove tooltip, the go-live error line) — six sites all borrowing the retired
brand red to mean "something is wrong". They are `error` now, which is what the standard says
red-adjacent means; live/record keeps `primary`.

Guard list extended to all nine files.
This commit is contained in:
2026-10-30 08:29:28 -07:00
parent 8415bb5f37
commit 8502c1d194
10 changed files with 101 additions and 97 deletions
+13 -13
View File
@@ -1,4 +1,4 @@
<UserControl x:Class="ytLive.SocialsDialog"
<UserControl x:Class="ytLive.SocialsDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
@@ -18,26 +18,26 @@
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="Social Media Site Promotion" FontSize="18" FontWeight="Bold"
Foreground="#e0e0e0" Margin="0,0,0,12"/>
Foreground="{StaticResource Brush.OnSurface}" Margin="0,0,0,12"/>
<!-- Show/hide the bar on the stream -->
<CheckBox Grid.Row="1" IsChecked="{Binding BarEnabled}" Style="{StaticResource YtCheckBox}" Margin="0,0,0,10">
<TextBlock Text="Show the social bar on the stream" Foreground="#e0e0e0" FontSize="13"/>
<TextBlock Text="Show the social bar on the stream" Foreground="{StaticResource Brush.OnSurface}" FontSize="13"/>
</CheckBox>
<!-- Sign-in gate: the first slot is always your YouTube channel -->
<Border Grid.Row="2" Background="#16213e" CornerRadius="5" Padding="10,8" Margin="0,0,0,10"
<Border Grid.Row="2" Background="{StaticResource Brush.SurfaceContainer}" CornerRadius="5" Padding="10,8" Margin="0,0,0,10"
Visibility="{Binding ShowSignInBanner, Converter={StaticResource BoolToVis}}">
<StackPanel>
<TextBlock Text="Sign in to YouTube first — the first slot is your channel."
Foreground="#e0e0e0" FontSize="12" TextWrapping="Wrap"/>
Foreground="{StaticResource Brush.OnSurface}" FontSize="12" TextWrapping="Wrap"/>
<Button Content="Sign in to YouTube" Command="{Binding SignInCommand}"
Style="{StaticResource YtButtonSecondary}" HorizontalAlignment="Left"
Margin="0,8,0,0" Padding="12,4" FontSize="11"/>
</StackPanel>
</Border>
<TextBlock Grid.Row="2" Text="Signing in… open the browser to authorize, then come back here."
Foreground="#e94560" FontSize="12" Margin="0,0,0,10"
Foreground="{StaticResource Brush.Error}" FontSize="12" Margin="0,0,0,10"
Visibility="{Binding IsBusy, Converter={StaticResource BoolToVis}}"/>
<!-- The six fixed slots -->
@@ -54,17 +54,17 @@
<!-- Service icon: logo, lock (Premium) or do-not (empty/invalid) -->
<Border Grid.Column="0" Width="30" Height="30" CornerRadius="15"
Background="#16213e" HorizontalAlignment="Left" VerticalAlignment="Top">
Background="{StaticResource Brush.SurfaceContainer}" HorizontalAlignment="Left" VerticalAlignment="Top">
<Grid>
<Path Data="{Binding LogoData}" Fill="White" Stretch="Uniform"
Width="15" Height="15" HorizontalAlignment="Center"
VerticalAlignment="Center"
Visibility="{Binding ShowLogo, Converter={StaticResource BoolToVis}}"/>
<Path Data="{Binding LockedIconData}" Fill="#8a93a8" Stretch="Uniform"
<Path Data="{Binding LockedIconData}" Fill="{StaticResource Brush.OnSurfaceVariant}" Stretch="Uniform"
Width="15" Height="15" HorizontalAlignment="Center"
VerticalAlignment="Center"
Visibility="{Binding IsLocked, Converter={StaticResource BoolToVis}}"/>
<Path Data="{Binding DoNotIconData}" Fill="#5a5a6e" Stretch="Uniform"
<Path Data="{Binding DoNotIconData}" Fill="{StaticResource Brush.OnSurfaceDisabled}" Stretch="Uniform"
Width="15" Height="15" HorizontalAlignment="Center"
VerticalAlignment="Center"
Visibility="{Binding ShowDoNot, Converter={StaticResource BoolToVis}}"/>
@@ -73,7 +73,7 @@
<!-- Handle text / edit box / status -->
<Grid Grid.Column="1" Margin="10,0,8,0">
<TextBlock Text="{Binding DisplayText}" Foreground="#e0e0e0" FontSize="14"
<TextBlock Text="{Binding DisplayText}" Foreground="{StaticResource Brush.OnSurface}" FontSize="14"
VerticalAlignment="Top" Margin="0,6,0,0"
TextTrimming="CharacterEllipsis"
Visibility="{Binding ShowDisplay, Converter={StaticResource BoolToVis}}"/>
@@ -81,10 +81,10 @@
Style="{StaticResource YtTextBox}" FontSize="13"
KeyDown="SocialEdit_KeyDown" LostFocus="SocialEdit_LostFocus"
Visibility="{Binding ShowEditBox, Converter={StaticResource BoolToVis}}"/>
<TextBlock Text="{Binding Error}" Foreground="#e94560" FontSize="11"
<TextBlock Text="{Binding Error}" Foreground="{StaticResource Brush.Error}" FontSize="11"
TextWrapping="Wrap" Margin="0,32,0,0"
Visibility="{Binding ShowError, Converter={StaticResource BoolToVis}}"/>
<TextBlock Text="Checking…" Foreground="#a0a0b0" FontSize="11" Margin="0,32,0,0"
<TextBlock Text="Checking…" Foreground="{StaticResource Brush.OnSurfaceVariant}" FontSize="11" Margin="0,32,0,0"
Visibility="{Binding ShowBusy, Converter={StaticResource BoolToVis}}"/>
</Grid>
@@ -105,7 +105,7 @@
Visibility="{Binding ShowEditButton, Converter={StaticResource BoolToVis}}"/>
<Button Content="&#x1F5D1;&#xFE0F;" Click="SlotDelete_Click" Tag="{Binding Index}"
Style="{StaticResource IconButton}" Width="26" Height="26"
ToolTip="Remove" FontSize="12" Foreground="#e94560"
ToolTip="Remove" FontSize="12" Foreground="{StaticResource Brush.Error}"
Visibility="{Binding ShowDeleteButton, Converter={StaticResource BoolToVis}}"/>
</StackPanel>
</Grid>