Remove redundant OFFLINE/LIVE status pill; single button conveys state

This commit is contained in:
2026-08-04 10:36:37 -07:00
parent 4293ae11a4
commit 639e1bb323
2 changed files with 1 additions and 39 deletions
+1 -29
View File
@@ -78,7 +78,6 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<!-- Logo / Brand --> <!-- Logo / Brand -->
@@ -92,35 +91,8 @@
Width="400" HorizontalAlignment="Left" Width="400" HorizontalAlignment="Left"
VerticalAlignment="Center"/> VerticalAlignment="Center"/>
<!-- Stream Status -->
<Border Grid.Column="2" Background="#0f3460" CornerRadius="4"
Padding="12,6" Margin="16,0" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal">
<Ellipse Width="10" Height="10" Margin="0,0,8,0">
<Ellipse.Style>
<Style TargetType="Ellipse">
<Setter Property="Fill" Value="#555"/>
<Style.Triggers>
<DataTrigger Binding="{Binding StreamStatus}" Value="Streaming">
<Setter Property="Fill" Value="#00ff00"/>
</DataTrigger>
<DataTrigger Binding="{Binding StreamStatus}" Value="Connecting">
<Setter Property="Fill" Value="#ffaa00"/>
</DataTrigger>
<DataTrigger Binding="{Binding StreamStatus}" Value="Error">
<Setter Property="Fill" Value="#ff0000"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
<TextBlock Text="{Binding StatusDisplay}" Foreground="White"
FontSize="13" FontWeight="SemiBold" VerticalAlignment="Center"/>
</StackPanel>
</Border>
<!-- Primary action: single button, adapts to state --> <!-- Primary action: single button, adapts to state -->
<StackPanel Grid.Column="3" Orientation="Horizontal" VerticalAlignment="Center"> <StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">
<Button Content="{Binding PrimaryButtonText}" Style="{StaticResource YtButton}" <Button Content="{Binding PrimaryButtonText}" Style="{StaticResource YtButton}"
Command="{Binding PrimaryCommand}"/> Command="{Binding PrimaryCommand}"/>
</StackPanel> </StackPanel>
-10
View File
@@ -37,7 +37,6 @@ public class MainViewModel : ViewModelBase
{ {
OnPropertyChanged(nameof(IsOffline)); OnPropertyChanged(nameof(IsOffline));
OnPropertyChanged(nameof(IsLive)); OnPropertyChanged(nameof(IsLive));
OnPropertyChanged(nameof(StatusDisplay));
OnPropertyChanged(nameof(PrimaryButtonText)); OnPropertyChanged(nameof(PrimaryButtonText));
} }
} }
@@ -74,15 +73,6 @@ public class MainViewModel : ViewModelBase
} }
} }
public string StatusDisplay => StreamStatus switch
{
StreamStatus.Offline => "OFFLINE",
StreamStatus.Connecting => "CONNECTING...",
StreamStatus.Streaming => "LIVE",
StreamStatus.Error => "ERROR",
_ => "UNKNOWN"
};
/// <summary> /// <summary>
/// Single, context-aware primary button. Follows the user's journey: /// Single, context-aware primary button. Follows the user's journey:
/// not connected → connect, connected+idle → go live, live → stop. /// not connected → connect, connected+idle → go live, live → stop.