creator feedback batch: 9 fixes from initial review
1. About box bg → #0A0C1A (matches icon bg) 2. Elements panel collapses when no element selected / scene changes 3. OpacityChip moved from preview overlay into Elements panel 4. Color picker fix: cast to SceneElement not Source (WebcamSceneConfig was silently blocked) 5. Red left accent bar on selected items in Scene/Source lists 6. ✓ character replaced with Path checkmark icon in Elements panel 7. Removed ToolTip='Applied' from green check buttons 8. Created bugs.md with first entry (iTunes audio on mic meter) 9. Full logo in README + About box uses ytLlive-logo.png
This commit is contained in:
+52
-56
@@ -33,6 +33,8 @@
|
||||
xmlns:Helpers="clr-namespace:ytLive.Helpers"/>
|
||||
<Helpers:NotNullToVisibilityConverter x:Key="NotNullToVis"
|
||||
xmlns:Helpers="clr-namespace:ytLive.Helpers"/>
|
||||
<Helpers:NullToVisibilityConverter x:Key="NullToVis"
|
||||
xmlns:Helpers="clr-namespace:ytLive.Helpers"/>
|
||||
<Helpers:HiddenBoolToVisibilityConverter x:Key="HiddenBoolToVis"
|
||||
xmlns:Helpers="clr-namespace:ytLive.Helpers"/>
|
||||
<Helpers:EnumToBoolConverter x:Key="EnumToBool"
|
||||
@@ -356,13 +358,40 @@
|
||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||
Visibility="{Binding ShowSourcesEmptyHint, Converter={StaticResource BoolToVis}}"/>
|
||||
|
||||
<!-- ELEMENTS panel: per-element config beneath Sources -->
|
||||
<Rectangle Grid.Row="5" Height="1" Fill="#2c3a5c" Margin="0,10,0,2"/>
|
||||
<StackPanel Grid.Row="6" Orientation="Horizontal" Margin="0,8,0,0">
|
||||
<!-- ELEMENTS panel: per-element config beneath Sources.
|
||||
Collapses entirely when no element is selected. -->
|
||||
<Rectangle Grid.Row="5" Height="1" Fill="#2c3a5c" Margin="0,10,0,2"
|
||||
Visibility="{Binding SelectedElement, Converter={StaticResource NotNullToVis}}"/>
|
||||
<StackPanel Grid.Row="6" Orientation="Horizontal" Margin="0,8,0,0"
|
||||
Visibility="{Binding SelectedElement, Converter={StaticResource NotNullToVis}}">
|
||||
<TextBlock Text="ELEMENTS" Style="{StaticResource SectionHeader}" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
<ScrollViewer Grid.Row="7" VerticalScrollBarVisibility="Auto" Background="Transparent">
|
||||
<ScrollViewer Grid.Row="7" VerticalScrollBarVisibility="Auto" Background="Transparent"
|
||||
Visibility="{Binding SelectedElement, Converter={StaticResource NotNullToVis}}">
|
||||
<StackPanel x:Name="ElementsPanel" Margin="0,4,0,0">
|
||||
<!-- Opacity + mirror/shape (draggable elements: image, webcam) -->
|
||||
<StackPanel Visibility="{Binding SelectedElement.IsDraggable, Converter={StaticResource BoolToVis}}" Margin="0,0,0,8">
|
||||
<TextBlock Text="Opacity" Foreground="#a0a0b0" FontSize="11" Margin="0,0,0,2"/>
|
||||
<DockPanel Margin="0,0,0,6">
|
||||
<TextBlock x:Name="OpacityValueText" Text="100%" Foreground="#a0a0b0" FontSize="11"
|
||||
DockPanel.Dock="Right" VerticalAlignment="Center" Margin="8,0,0,0" Width="32"/>
|
||||
<Slider x:Name="OpacitySlider" Width="120" Minimum="0" Maximum="1"
|
||||
Value="{Binding SelectedElement.Opacity, Mode=TwoWay}"
|
||||
ValueChanged="OpacitySlider_ValueChanged" VerticalAlignment="Center"/>
|
||||
</DockPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="0,0,0,4"
|
||||
Visibility="{Binding IsWebcamSelected, Converter={StaticResource BoolToVis}}">
|
||||
<Button Content="{Binding SelectedElement.MirrorButtonText}"
|
||||
Style="{StaticResource YtButtonSecondary}" Padding="10,4"
|
||||
Click="MirrorButton_Click"/>
|
||||
<Button Content="{Binding SelectedElement.ShapeButtonText}"
|
||||
Style="{StaticResource YtButtonSecondary}" Padding="10,4"
|
||||
Margin="8,0,0,0" Click="ShapeButton_Click"/>
|
||||
</StackPanel>
|
||||
<TextBlock Text="Drag to move · drag the corner dot to resize"
|
||||
Foreground="#a0a0b0" FontSize="10" Margin="0,2,0,0"/>
|
||||
</StackPanel>
|
||||
|
||||
<!-- Webcam border config -->
|
||||
<StackPanel Visibility="{Binding SelectedElement.IsWebcam, Converter={StaticResource BoolToVis}}" Margin="0,0,0,8">
|
||||
<TextBlock Text="Border Color" Foreground="#a0a0b0" FontSize="11" Margin="0,0,0,2"/>
|
||||
@@ -384,9 +413,11 @@
|
||||
VerticalAlignment="Center" Margin="8,0,0,0" Width="20"/>
|
||||
</DockPanel>
|
||||
<DockPanel Margin="0,4,0,0">
|
||||
<Button DockPanel.Dock="Right" Content="✓" Width="22" Height="22"
|
||||
Background="#22c55e" Foreground="White" FontSize="11" FontWeight="Bold"
|
||||
ToolTip="Applied" IsEnabled="False" Margin="4,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Width="22" Height="22"
|
||||
Background="#22c55e" IsEnabled="False" Margin="4,0,0,0">
|
||||
<Path Data="M4,9 L8,14 L16,4" Stroke="White" StrokeThickness="2"
|
||||
Stretch="Uniform" Width="12" Height="12"/>
|
||||
</Button>
|
||||
<Button DockPanel.Dock="Right" Content="✕" Width="22" Height="22"
|
||||
Background="#ef4444" Foreground="White" FontSize="11" FontWeight="Bold"
|
||||
ToolTip="Revert" Click="WebcamBorderRevert_Click" Margin="4,0,0,0"/>
|
||||
@@ -404,9 +435,11 @@
|
||||
VerticalAlignment="Center" Margin="8,0,0,0" Width="20"/>
|
||||
</DockPanel>
|
||||
<DockPanel Margin="0,4,0,0">
|
||||
<Button DockPanel.Dock="Right" Content="✓" Width="22" Height="22"
|
||||
Background="#22c55e" Foreground="White" FontSize="11" FontWeight="Bold"
|
||||
ToolTip="Applied" IsEnabled="False" Margin="4,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Width="22" Height="22"
|
||||
Background="#22c55e" IsEnabled="False" Margin="4,0,0,0">
|
||||
<Path Data="M4,9 L8,14 L16,4" Stroke="White" StrokeThickness="2"
|
||||
Stretch="Uniform" Width="12" Height="12"/>
|
||||
</Button>
|
||||
<Button DockPanel.Dock="Right" Content="✕" Width="22" Height="22"
|
||||
Background="#ef4444" Foreground="White" FontSize="11" FontWeight="Bold"
|
||||
ToolTip="Revert" Click="CountdownRevert_Click" Margin="4,0,0,0"/>
|
||||
@@ -421,9 +454,11 @@
|
||||
BorderBrush="#2c3a5c" Padding="4,2" FontSize="12"
|
||||
ToolTip="https://example.com"/>
|
||||
<DockPanel Margin="0,4,0,0">
|
||||
<Button DockPanel.Dock="Right" Content="✓" Width="22" Height="22"
|
||||
Background="#22c55e" Foreground="White" FontSize="11" FontWeight="Bold"
|
||||
ToolTip="Applied" IsEnabled="False" Margin="4,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Width="22" Height="22"
|
||||
Background="#22c55e" IsEnabled="False" Margin="4,0,0,0">
|
||||
<Path Data="M4,9 L8,14 L16,4" Stroke="White" StrokeThickness="2"
|
||||
Stretch="Uniform" Width="12" Height="12"/>
|
||||
</Button>
|
||||
<Button DockPanel.Dock="Right" Content="✕" Width="22" Height="22"
|
||||
Background="#ef4444" Foreground="White" FontSize="11" FontWeight="Bold"
|
||||
ToolTip="Revert" Click="WebRevert_Click" Margin="4,0,0,0"/>
|
||||
@@ -432,21 +467,8 @@
|
||||
|
||||
<!-- Placeholder hint when no config available -->
|
||||
<TextBlock Text="No configurable elements" Foreground="#555" FontSize="11"
|
||||
HorizontalAlignment="Center" Margin="0,8,0,0">
|
||||
<TextBlock.Style>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="Visibility" Value="Collapsed"/>
|
||||
<Style.Triggers>
|
||||
<MultiDataTrigger>
|
||||
<MultiDataTrigger.Conditions>
|
||||
<Condition Binding="{Binding SelectedElement}" Value="{x:Null}"/>
|
||||
</MultiDataTrigger.Conditions>
|
||||
<Setter Property="Visibility" Value="Visible"/>
|
||||
</MultiDataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</TextBlock.Style>
|
||||
</TextBlock>
|
||||
HorizontalAlignment="Center" Margin="0,8,0,0"
|
||||
Visibility="{Binding IsElementsPanelEmpty, Converter={StaticResource BoolToVis}}"/>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
@@ -845,32 +867,6 @@
|
||||
HorizontalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
|
||||
<Border x:Name="OpacityChip" HorizontalAlignment="Left" VerticalAlignment="Bottom"
|
||||
Background="#D9000000" CornerRadius="6" Padding="10,8" Margin="12,0,0,12"
|
||||
Visibility="Collapsed">
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="Opacity" Foreground="#e0e0e0" FontSize="13" VerticalAlignment="Center"/>
|
||||
<Slider x:Name="OpacitySlider" Width="120" Minimum="0" Maximum="1" Margin="10,0,0,0"
|
||||
Value="{Binding SelectedElement.Opacity, Mode=TwoWay}"
|
||||
ValueChanged="OpacitySlider_ValueChanged" VerticalAlignment="Center"/>
|
||||
<TextBlock x:Name="OpacityValueText" Text="100%" Foreground="#e0e0e0" FontSize="13"
|
||||
Width="40" Margin="8,0,0,0" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="0,10,0,0"
|
||||
Visibility="{Binding IsWebcamSelected, Converter={StaticResource BoolToVis}}">
|
||||
<Button Content="{Binding SelectedElement.MirrorButtonText}"
|
||||
Style="{StaticResource YtButtonSecondary}" Padding="10,4"
|
||||
Click="MirrorButton_Click"/>
|
||||
<Button Content="{Binding SelectedElement.ShapeButtonText}"
|
||||
Style="{StaticResource YtButtonSecondary}" Padding="10,4"
|
||||
Margin="8,0,0,0" Click="ShapeButton_Click"/>
|
||||
</StackPanel>
|
||||
<TextBlock Text="Drag to move · drag the corner dot to resize"
|
||||
Foreground="#a0a0b0" FontSize="11" Margin="0,4,0,0"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<!-- Desktop/game audio bar: overlaid at the bottom of the
|
||||
preview, always visible. Meter + mute + volume control
|
||||
live here; desktop audio itself is automatic WASAPI
|
||||
@@ -1177,7 +1173,7 @@
|
||||
</Button.Template>
|
||||
</Button>
|
||||
|
||||
<Border Background="#1a1a2e" CornerRadius="8" Width="520" MaxHeight="560"
|
||||
<Border Background="#0A0C1A" CornerRadius="8" Width="520" MaxHeight="560"
|
||||
VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||
Padding="24" BorderBrush="#333" BorderThickness="1">
|
||||
<Grid>
|
||||
@@ -1256,7 +1252,7 @@
|
||||
|
||||
<!-- Hub view -->
|
||||
<StackPanel Visibility="{Binding IsLicensesOpen, Converter={StaticResource InverseBoolToVis}}">
|
||||
<Image Source="/ytLive;component/Assets/tyllive-icon.png" Height="140" Stretch="Uniform"
|
||||
<Image Source="/ytLive;component/Assets/ytLlive-logo.png" Height="100" Stretch="Uniform"
|
||||
HorizontalAlignment="Center" Margin="0,0,0,12"/>
|
||||
<TextBlock Text="ytLlive" FontSize="22" FontWeight="Bold" Foreground="#e94560"
|
||||
HorizontalAlignment="Center"/>
|
||||
|
||||
Reference in New Issue
Block a user