feat: initialize aquatic theme.

This commit is contained in:
rabbitism 2024-09-19 23:28:57 +08:00 committed by Zhang Dian
parent 331cb35f46
commit 646f56d60a
4 changed files with 113 additions and 1 deletions

View File

@ -2,6 +2,7 @@
x:Class="Semi.Avalonia.Demo.App"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
RequestedThemeVariant="{x:Static semi:SemiTheme.Aquatic}"
xmlns:semi="https://irihi.tech/semi">
<Application.Styles>
<!-- You can still reference in old way. -->

View File

@ -0,0 +1,107 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- Add Resources Here -->
<Color x:Key="Background">#202020</Color>
<Color x:Key="Foreground">#FFFFFF</Color>
<Color x:Key="HotlightBrush">#75E9FC</Color>
<Color x:Key="InactiveForeground">#A6A6A6</Color>
<Color x:Key="SelectedForeground">#263B50</Color>
<Color x:Key="SelectedBackground">#8EE3F0</Color>
<Color x:Key="ButtonBackground">#202020</Color>
<Color x:Key="ButtonForeground">#FFFFFF</Color>
<!--AdornerLayer-->
<SolidColorBrush x:Key="AdornerLayerStroke" Color="{StaticResource Foreground}" />
<!--AutoCompleteBox-->
<SolidColorBrush x:Key="AutoCompleteBoxPopupBackground" Color="{StaticResource Background}" />
<SolidColorBrush x:Key="AutoCompleteBoxPopupBorderBrush" Color="{StaticResource Foreground}" />
<!--Border-->
<SolidColorBrush x:Key="BorderCardBackground" Color="{StaticResource Background}" />
<SolidColorBrush x:Key="BorderCardBorderBrush" Color="{StaticResource Foreground}" />
<!--Button-->
<!-- Light -->
<SolidColorBrush x:Key="ButtonDefaultPrimaryForeground" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonDefaultSecondaryForeground" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonDefaultTertiaryForeground" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonDefaultSuccessForeground" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonDefaultWarningForeground" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonDefaultDangerForeground" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonDefaultDisabledForeground" Color="{StaticResource InactiveForeground}" />
<SolidColorBrush x:Key="ButtonDefaultBackground" Color="{StaticResource ButtonBackground}" />
<SolidColorBrush x:Key="ButtonDefaultPointeroverBackground" Color="{StaticResource ButtonBackground}" />
<SolidColorBrush x:Key="ButtonDefaultPressedBackground" Color="{StaticResource ButtonBackground}" />
<SolidColorBrush x:Key="ButtonDefaultBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonDefaultPointeroverBorderBrush" Color="{StaticResource HotlightBrush}" />
<SolidColorBrush x:Key="ButtonDefaultPressedBorderBrush" Color="{StaticResource HotlightBrush}" />
<SolidColorBrush x:Key="ButtonDefaultDisabledBorderBrush" Color="{StaticResource InactiveForeground}" />
<!-- end Light -->
<!-- Solid -->
<SolidColorBrush x:Key="ButtonSolidForeground" Color="{StaticResource SelectedForeground}" />
<SolidColorBrush x:Key="ButtonSolidPrimaryBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidPrimaryPointeroverBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidPrimaryPressedBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidSecondaryBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidSecondaryPointeroverBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidSecondaryPressedBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidTertiaryBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidTertiaryPointeroverBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidTertiaryPressedBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidSuccessBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidSuccessPointeroverBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidSuccessPressedBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidWarningBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidWarningPointeroverBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidWarningPressedBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidDangerBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidDangerPointeroverBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidDangerPressedBackground" Color="{StaticResource SelectedBackground}" />
<SolidColorBrush x:Key="ButtonSolidPrimaryBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidPrimaryPointeroverBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidPrimaryPressedBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidSecondaryBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidSecondaryPointeroverBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidSecondaryPressedBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidTertiaryBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidTertiaryPointeroverBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidTertiaryPressedBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidSuccessBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidSuccessPointeroverBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidSuccessPressedBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidWarningBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidWarningPointeroverBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidWarningPressedBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidDangerBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidDangerPointeroverBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidDangerPressedBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonSolidDisabledBackground" Color="{StaticResource ButtonBackground}" />
<!-- end Solid -->
<!-- Outline -->
<SolidColorBrush x:Key="ButtonOutlineBackground" Color="{StaticResource ButtonBackground}" />
<SolidColorBrush x:Key="ButtonOutlineBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonOutlinePointeroverBackground" Color="{StaticResource HotlightBrush}" />
<SolidColorBrush x:Key="ButtonOutlinePressedBackground" Color="{StaticResource HotlightBrush}" />
<SolidColorBrush x:Key="ButtonOutlineSuccessBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonOutlineWarningBorderBrush" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonOutlineDangerBorderBrush" Color="{StaticResource ButtonForeground}" />
<!-- end Outline -->
<SolidColorBrush x:Key="ButtonInputInnerForeground" Color="{StaticResource ButtonForeground}" />
<SolidColorBrush x:Key="ButtonInputInnerPointeroverForeground" Color="{StaticResource HotlightBrush}" />
<SolidColorBrush x:Key="ButtonInputInnerPressedForeground" Color="{StaticResource HotlightBrush}" />
</ResourceDictionary>

View File

@ -1,9 +1,11 @@
<Styles x:Class="Semi.Avalonia.SemiTheme" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Styles x:Class="Semi.Avalonia.SemiTheme" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:semi="https://irihi.tech/semi">
<Styles.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceInclude x:Key="Default" Source="avares://Semi.Avalonia/Themes/Light/_index.axaml" />
<ResourceInclude x:Key="Dark" Source="avares://Semi.Avalonia/Themes/Dark/_index.axaml" />
<ResourceInclude x:Key="{x:Static semi:SemiTheme.Aquatic}" Source="avares://Semi.Avalonia/Themes/Aquatic/Aquatic.axaml" />
</ResourceDictionary.ThemeDictionaries>
<ResourceDictionary.MergedDictionaries>
<ResourceInclude Source="avares://Semi.Avalonia/Controls/_index.axaml" />

View File

@ -10,6 +10,8 @@ namespace Semi.Avalonia;
public class SemiTheme : Styles
{
public static ThemeVariant Aquatic => new ThemeVariant(nameof(Aquatic), ThemeVariant.Dark);
private static readonly Dictionary<CultureInfo, ResourceDictionary> _localeToResource = new()
{
{ new CultureInfo("zh-cn"), new zh_cn() },