Files
harmonia/Harmonia.WinUI/Resources/Styles.xaml

227 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- Global Font -->
<FontFamily x:Key="AppFontFamily">ms-appx:///Assets/Fonts/Lexend-Regular.ttf#Lexend, ms-appx:///Assets/Fonts/NotoSansJP-Regular.ttf#Noto Sans JP</FontFamily>
<FontFamily x:Key="AppFontFamilyMedium">ms-appx:///Assets/Fonts/Lexend-Medium.ttf#Lexend, ms-appx:///Assets/Fonts/NotoSansJP-Medium.ttf#Noto Sans JP</FontFamily>
<FontFamily x:Key="AppFontFamilySemiBold">ms-appx:///Assets/Fonts/Lexend-SemiBold.ttf#Lexend, ms-appx:///Assets/Fonts/NotoSansJP-SemiBold.ttf#Noto Sans JP</FontFamily>
<FontFamily x:Key="AppFontFamilyBold">ms-appx:///Assets/Fonts/Lexend-Bold.ttf#Lexend, ms-appx:///Assets/Fonts/NotoSansJP-Bold.ttf#Noto Sans JP</FontFamily>
<Style TargetType="TextBlock">
<Setter Property="FontFamily" Value="{StaticResource AppFontFamily}" />
</Style>
<Style TargetType="TextBox" BasedOn="{StaticResource DefaultTextBoxStyle}">
<Setter Property="FontFamily" Value="{StaticResource AppFontFamily}" />
</Style>
<Style TargetType="MenuFlyoutItem" BasedOn="{StaticResource DefaultMenuFlyoutItemStyle}">
<Setter Property="FontFamily" Value="{StaticResource AppFontFamily}" />
</Style>
<Style TargetType="MenuFlyoutSubItem" BasedOn="{StaticResource DefaultMenuFlyoutSubItemStyle}">
<Setter Property="FontFamily" Value="{StaticResource AppFontFamily}" />
</Style>
<Style TargetType="ToggleMenuFlyoutItem" BasedOn="{StaticResource DefaultToggleMenuFlyoutItemStyle}">
<Setter Property="FontFamily" Value="{StaticResource AppFontFamily}" />
</Style>
<Style TargetType="ListViewItem" BasedOn="{StaticResource DefaultListViewItemStyle}">
<Setter Property="FontFamily" Value="{StaticResource AppFontFamily}" />
</Style>
<!-- Premium Palette (from Harmonia icon set) -->
<LinearGradientBrush x:Key="PremiumGoldGradient" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#E9CFA3" Offset="0"/>
<GradientStop Color="#C7A468" Offset="0.5"/>
<GradientStop Color="#8A6D42" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="PremiumTileGradient" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#2B2830" Offset="0"/>
<GradientStop Color="#1E1B22" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="PremiumForegroundBrush" Color="#E9CFA3"/>
<!-- Accent: Teal (Shuffle / Repeat) -->
<LinearGradientBrush x:Key="PremiumTealGradient" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#A8DFD3" Offset="0"/>
<GradientStop Color="#6FBFAE" Offset="0.5"/>
<GradientStop Color="#3E7A6C" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="PremiumTealTileGradient" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#26302D" Offset="0"/>
<GradientStop Color="#1A211F" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="PremiumTealForegroundBrush" Color="#A8DFD3"/>
<!-- Accent: Lavender (Previous / Next) -->
<LinearGradientBrush x:Key="PremiumLavenderGradient" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#CBB8EF" Offset="0"/>
<GradientStop Color="#A78FD6" Offset="0.5"/>
<GradientStop Color="#6C5799" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="PremiumLavenderTileGradient" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#2A2733" Offset="0"/>
<GradientStop Color="#1D1B24" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="PremiumLavenderForegroundBrush" Color="#CBB8EF"/>
<!-- Accent: Pink (Radio / Podcasts) -->
<LinearGradientBrush x:Key="PremiumPinkGradient" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#EFB8C8" Offset="0"/>
<GradientStop Color="#D68FA8" Offset="0.5"/>
<GradientStop Color="#99576E" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="PremiumPinkTileGradient" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#332730" Offset="0"/>
<GradientStop Color="#241B21" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="PremiumPinkForegroundBrush" Color="#EFB8C8"/>
<!-- Premium Button -->
<Style x:Key="PremiumButton" TargetType="Button">
<Setter Property="Foreground" Value="{StaticResource PremiumForegroundBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource PremiumGoldGradient}"/>
<Setter Property="Background" Value="{StaticResource PremiumTileGradient}"/>
<Setter Property="Padding" Value="14,8"/>
<Setter Property="CornerRadius" Value="12"/>
<Setter Property="FontFamily" Value="{StaticResource AppFontFamily}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<!-- Outer gradient acts as the border ring -->
<Grid x:Name="Root"
Background="{TemplateBinding BorderBrush}"
CornerRadius="{TemplateBinding CornerRadius}"
Padding="1.5">
<Grid x:Name="Inner"
Background="{TemplateBinding Background}"
CornerRadius="10">
<ContentPresenter x:Name="ContentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Padding="{TemplateBinding Padding}"
Foreground="{TemplateBinding Foreground}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="PointerOver">
<VisualState.Setters>
<Setter Target="Inner.Opacity" Value="0.88"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Pressed">
<VisualState.Setters>
<Setter Target="Inner.Opacity" Value="0.75"/>
<Setter Target="Root.Opacity" Value="0.9"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Target="Root.Opacity" Value="0.4"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- Premium Button (Teal) -->
<Style x:Key="PremiumButton-Teal" TargetType="Button" BasedOn="{StaticResource PremiumButton}">
<Setter Property="Foreground" Value="{StaticResource PremiumTealForegroundBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource PremiumTealGradient}"/>
<Setter Property="Background" Value="{StaticResource PremiumTealTileGradient}"/>
</Style>
<!-- Premium Button (Lavender) -->
<Style x:Key="PremiumButton-Lavender" TargetType="Button" BasedOn="{StaticResource PremiumButton}">
<Setter Property="Foreground" Value="{StaticResource PremiumLavenderForegroundBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource PremiumLavenderGradient}"/>
<Setter Property="Background" Value="{StaticResource PremiumLavenderTileGradient}"/>
</Style>
<!-- Premium Button (Pink) -->
<Style x:Key="PremiumButton-Pink" TargetType="Button" BasedOn="{StaticResource PremiumButton}">
<Setter Property="Foreground" Value="{StaticResource PremiumPinkForegroundBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource PremiumPinkGradient}"/>
<Setter Property="Background" Value="{StaticResource PremiumPinkTileGradient}"/>
</Style>
<!-- Flat Button -->
<Style x:Key="FlatButton" TargetType="Button">
<Setter Property="Padding" Value="10"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
<!-- Flat Round Button -->
<Style x:Key="FlatRoundButton" TargetType="Button" BasedOn="{StaticResource FlatButton}">
<Setter Property="CornerRadius" Value="32"/>
</Style>
<!-- Flat Button Path Icon -->
<Style x:Key="FlatButtonIcon" TargetType="PathIcon">
<Setter Property="Width" Value="18"/>
<Setter Property="Height" Value="18"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!-- Flat Button Path -->
<Style x:Key="FlatButtonPath" TargetType="Path">
<Setter Property="Width" Value="18"/>
<Setter Property="Height" Value="18"/>
<Setter Property="Stretch" Value="Uniform"/>
<Setter Property="Fill" Value="White"/>
</Style>
<!-- Flat Button Path Icon (Medium) -->
<Style x:Key="FlatButtonPath-Medium" TargetType="Path" BasedOn="{StaticResource FlatButtonPath}">
<Setter Property="Width" Value="24"/>
<Setter Property="Height" Value="24"/>
</Style>
<!-- Flat Button Path Icon (Large) -->
<Style x:Key="FlatButtonPath-Large" TargetType="Path" BasedOn="{StaticResource FlatButtonPath}">
<Setter Property="Width" Value="36"/>
<Setter Property="Height" Value="36"/>
</Style>
<!-- Flat Button Path Icon (Medium) -->
<Style x:Key="FlatButtonIcon-Medium" TargetType="PathIcon" BasedOn="{StaticResource FlatButtonIcon}">
<Setter Property="Width" Value="24"/>
<Setter Property="Height" Value="24"/>
</Style>
<!-- Flat Button Path Icon (Large) -->
<Style x:Key="FlatButtonIcon-Large" TargetType="PathIcon" BasedOn="{StaticResource FlatButtonIcon}">
<Setter Property="Width" Value="36"/>
<Setter Property="Height" Value="36"/>
</Style>
<!-- Selected List View Item -->
<!--<Style x:Name="SelectedListViewItem" TargetType="ListViewItem">
<Setter Property="Foreground" Value="Red" />
</Style>-->
</ResourceDictionary>