<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="HaloPixelToolBox.Client.Views.SpotifyLyricsToolPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HaloPixelToolBox.Client.Views"
xmlns:controls="using:CommunityToolkit.WinUI.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Page.Resources>
<Style x:Key="SettingsSectionHeaderTextBlockStyle"
BasedOn="{StaticResource BodyStrongTextBlockStyle}"
TargetType="TextBlock">
<Style.Setters>
<Setter Property="Margin" Value="1,30,0,6" />
</Style.Setters>
</Style>
</Page.Resources>
<Grid>
<ScrollView>
<StackPanel Orientation="Vertical" Spacing="10" Margin="0,0,0,20">
<TextBlock Text="设备状态" Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"/>
<Grid RowSpacing="10" ColumnSpacing="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="花再 Halo Pixel 状态:" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{ThemeResource BodyStrongTextBlockStyle}"/>
<Grid Grid.Column="1">
<Border CornerRadius="90" Height="25" Width="25" Visibility="{x:Bind ViewModel.DeviceReady, Mode=OneWay, Converter={StaticResource BooleanInverseConverter}}" Background="{ThemeResource SystemFillColorCriticalBrush}"/>
<Border CornerRadius="90" Height="25" Width="25" Visibility="{x:Bind ViewModel.DeviceReady, Mode=OneWay}" Background="{ThemeResource SystemFillColorSuccessBrush}"/>
</Grid>
<TextBlock Grid.Row="1" Text="Spotify 状态:" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{ThemeResource BodyStrongTextBlockStyle}"/>
<Grid Grid.Column="1" Grid.Row="1">
<Border CornerRadius="90" Height="25" Width="25" Visibility="{x:Bind ViewModel.SpotifyReady, Mode=OneWay, Converter={StaticResource BooleanInverseConverter}}" Background="{ThemeResource SystemFillColorCriticalBrush}"/>
<Border CornerRadius="90" Height="25" Width="25" Visibility="{x:Bind ViewModel.SpotifyReady, Mode=OneWay}" Background="{ThemeResource SystemFillColorSuccessBrush}"/>
</Grid>
</Grid>
<TextBlock Text="播放信息" Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"/>
<TextBlock Text="{x:Bind ViewModel.SpotifyTrackInfo, Mode=OneWay}" Style="{StaticResource BodyTextBlockStyle}"/>
<TextBlock Text="功能" Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"/>
<controls:SettingsCard Header="启用歌词同步" Description="启用后,Spotify的歌词会实时显示在花再 Halo Pixel 音响上">
<ToggleSwitch IsOn="{x:Bind ViewModel.EnableSpotifyLyrics, Mode=TwoWay}"/>
</controls:SettingsCard>
<controls:SettingsCard Header="开启屏幕颜色同步" Description="自动提取当前歌曲专辑封面主色并应用到像素屏歌词文本颜色">
<ToggleSwitch IsOn="{x:Bind ViewModel.EnableScreenColorSync, Mode=TwoWay}"/>
</controls:SettingsCard>
<controls:SettingsExpander Header="开启氛围灯颜色同步" Description="自动提取当前歌曲专辑封面主色并应用到音响氛围灯/底座灯颜色">
<ToggleSwitch x:Name="enableAmbientColorSyncToggleSwitch" IsOn="{x:Bind ViewModel.EnableAmbientColorSync, Mode=TwoWay}"/>
<controls:SettingsExpander.Items>
<controls:SettingsCard Header="氛围灯同步效果" Description="设置专辑颜色同步时的灯光效果模式" IsEnabled="{x:Bind enableAmbientColorSyncToggleSwitch.IsOn, Mode=OneWay}">
<ComboBox x:Name="syncAmbientLightEffectComboBox" Tag="HaloPixelToolBox.Client.Profiles.CrossVersionProfiles.SpotifyLyricsProfile.SyncAmbientLightEffect">
<ComboBoxItem Content="常亮" Tag="Static"/>
<ComboBoxItem Content="呼吸" Tag="Breathing"/>
</ComboBox>
</controls:SettingsCard>
<controls:SettingsCard Header="氛围灯同步亮度" Description="设置专辑颜色同步时的灯光亮度模式" IsEnabled="{x:Bind enableAmbientColorSyncToggleSwitch.IsOn, Mode=OneWay}">
<StackPanel Orientation="Horizontal" Spacing="15">
<RadioButton x:Name="brightnessLowRadio" Content="低" GroupName="BrightnessSyncGroup" Checked="OnBrightnessRadioChecked"/>
<RadioButton x:Name="brightnessMediumRadio" Content="中" GroupName="BrightnessSyncGroup" Checked="OnBrightnessRadioChecked"/>
<RadioButton x:Name="brightnessHighRadio" Content="高" GroupName="BrightnessSyncGroup" Checked="OnBrightnessRadioChecked"/>
</StackPanel>
</controls:SettingsCard>
<controls:SettingsCard Header="氛围灯同步速度" Description="设置呼吸或动态灯效的变化速度 (1-10)" IsEnabled="{x:Bind enableAmbientColorSyncToggleSwitch.IsOn, Mode=OneWay}">
<Slider Minimum="1" Maximum="10" StepFrequency="1" Width="150" Value="{x:Bind ViewModel.SyncAmbientLightSpeed, Mode=TwoWay}"/>
</controls:SettingsCard>
</controls:SettingsExpander.Items>
</controls:SettingsExpander>
<controls:SettingsCard Header="歌词位置" Description="设置歌词的默认显示位置">
<ComboBox x:Name="defaultHaloPixelTextLayoutComboBox" Tag="HaloPixelToolBox.Client.Profiles.CrossVersionProfiles.SpotifyLyricsProfile.DefaultHaloPixelTextLayout">
<ComboBoxItem Content="左对齐" Tag="Left"/>
<ComboBoxItem Content="右对齐" Tag="Right"/>
<ComboBoxItem Content="居中" Tag="Center"/>
<ComboBoxItem Content="伸展" Tag="Stretch"/>
</ComboBox>
</controls:SettingsCard>
</StackPanel>
</ScrollView>
</Grid>
</Page>
<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="HaloPixelToolBox.Client.Views.SpotifyLyricsToolPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HaloPixelToolBox.Client.Views"
xmlns:controls="using:CommunityToolkit.WinUI.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Page.Resources>
<Style x:Key="SettingsSectionHeaderTextBlockStyle"
BasedOn="{StaticResource BodyStrongTextBlockStyle}"
TargetType="TextBlock">
<Style.Setters>
<Setter Property="Margin" Value="1,30,0,6" />
</Style.Setters>
</Style>
</Page.Resources>
<Grid>
<ScrollView>
<StackPanel Orientation="Vertical" Spacing="10" Margin="0,0,0,20">
<TextBlock Text="设备状态" Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"/>
<Grid RowSpacing="10" ColumnSpacing="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="花再 Halo Pixel 状态:" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{ThemeResource BodyStrongTextBlockStyle}"/>
<Grid Grid.Column="1">
<Border CornerRadius="90" Height="25" Width="25" Visibility="{x:Bind ViewModel.DeviceReady, Mode=OneWay, Converter={StaticResource BooleanInverseConverter}}" Background="{ThemeResource SystemFillColorCriticalBrush}"/>
<Border CornerRadius="90" Height="25" Width="25" Visibility="{x:Bind ViewModel.DeviceReady, Mode=OneWay}" Background="{ThemeResource SystemFillColorSuccessBrush}"/>
</Grid>
<TextBlock Grid.Row="1" Text="Spotify 状态:" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{ThemeResource BodyStrongTextBlockStyle}"/>
<Grid Grid.Column="1" Grid.Row="1">
<Border CornerRadius="90" Height="25" Width="25" Visibility="{x:Bind ViewModel.SpotifyReady, Mode=OneWay, Converter={StaticResource BooleanInverseConverter}}" Background="{ThemeResource SystemFillColorCriticalBrush}"/>
<Border CornerRadius="90" Height="25" Width="25" Visibility="{x:Bind ViewModel.SpotifyReady, Mode=OneWay}" Background="{ThemeResource SystemFillColorSuccessBrush}"/>
</Grid>
</Grid>
<TextBlock Text="播放信息" Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"/>
<TextBlock Text="{x:Bind ViewModel.SpotifyTrackInfo, Mode=OneWay}" Style="{StaticResource BodyTextBlockStyle}"/>
<TextBlock Text="功能" Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"/>
<controls:SettingsCard Header="启用歌词同步" Description="启用后,Spotify的歌词会实时显示在花再 Halo Pixel 音响上">
<ToggleSwitch IsOn="{x:Bind ViewModel.EnableSpotifyLyrics, Mode=TwoWay}"/>
</controls:SettingsCard>
<controls:SettingsCard Header="开启屏幕颜色同步" Description="自动提取当前歌曲专辑封面主色并应用到像素屏歌词文本颜色">
<ToggleSwitch IsOn="{x:Bind ViewModel.EnableScreenColorSync, Mode=TwoWay}"/>
</controls:SettingsCard>
<controls:SettingsExpander Header="开启氛围灯颜色同步" Description="自动提取当前歌曲专辑封面主色并应用到音响氛围灯/底座灯颜色">
<ToggleSwitch x:Name="enableAmbientColorSyncToggleSwitch" IsOn="{x:Bind ViewModel.EnableAmbientColorSync, Mode=TwoWay}"/>
<controls:SettingsExpander.Items>
<controls:SettingsCard Header="氛围灯同步效果" Description="设置专辑颜色同步时的灯光效果模式" IsEnabled="{x:Bind enableAmbientColorSyncToggleSwitch.IsOn, Mode=OneWay}">
<ComboBox x:Name="syncAmbientLightEffectComboBox" Tag="HaloPixelToolBox.Client.Profiles.CrossVersionProfiles.SpotifyLyricsProfile.SyncAmbientLightEffect">
<ComboBoxItem Content="常亮" Tag="Static"/>
<ComboBoxItem Content="呼吸" Tag="Breathing"/>
</ComboBox>
</controls:SettingsCard>
<controls:SettingsCard Header="氛围灯同步亮度" Description="设置专辑颜色同步时的灯光亮度模式" IsEnabled="{x:Bind enableAmbientColorSyncToggleSwitch.IsOn, Mode=OneWay}">
<StackPanel Orientation="Horizontal" Spacing="15">
<RadioButton x:Name="brightnessLowRadio" Content="低" GroupName="BrightnessSyncGroup" Checked="OnBrightnessRadioChecked"/>
<RadioButton x:Name="brightnessMediumRadio" Content="中" GroupName="BrightnessSyncGroup" Checked="OnBrightnessRadioChecked"/>
<RadioButton x:Name="brightnessHighRadio" Content="高" GroupName="BrightnessSyncGroup" Checked="OnBrightnessRadioChecked"/>
</StackPanel>
</controls:SettingsCard>
<controls:SettingsCard Header="氛围灯同步速度" Description="设置呼吸或动态灯效的变化速度 (1-10)" IsEnabled="{x:Bind enableAmbientColorSyncToggleSwitch.IsOn, Mode=OneWay}">
<Slider Minimum="1" Maximum="10" StepFrequency="1" Width="150" Value="{x:Bind ViewModel.SyncAmbientLightSpeed, Mode=TwoWay}"/>
</controls:SettingsCard>
</controls:SettingsExpander.Items>
</controls:SettingsExpander>
<controls:SettingsCard Header="歌词位置" Description="设置歌词的默认显示位置">
<ComboBox x:Name="defaultHaloPixelTextLayoutComboBox" Tag="HaloPixelToolBox.Client.Profiles.CrossVersionProfiles.SpotifyLyricsProfile.DefaultHaloPixelTextLayout">
<ComboBoxItem Content="左对齐" Tag="Left"/>
<ComboBoxItem Content="右对齐" Tag="Right"/>
<ComboBoxItem Content="居中" Tag="Center"/>
<ComboBoxItem Content="伸展" Tag="Stretch"/>
</ComboBox>
</controls:SettingsCard>
</StackPanel>
</ScrollView>
</Grid>
</Page>