Commit a20dad30 authored by shrabbit's avatar shrabbit
Browse files

添加主题样式和颜色资源

- 删除 `Seek.Theme/Class1.cs`
- 添加 `Seek.Theme/Styles/Colors.axaml`,定义默认和暗黑主题的颜色
- 添加 `Seek.Theme/Styles/Controls.axaml`,定义控件样式
- 添加 `Seek.Theme/Styles/Typography.axaml`,定义文本样式
- 添加 `Seek.Theme/SeekTheme.axaml`,合并所有样式资源
- 更新 `Seek/Seek.csproj` 和 `Seek.Theme/Seek.Theme.csproj` 项目文件,添加必要的依赖项和项目引用
- 更新 `Seek/App.axaml`,使用新的主题样式
parent c341f4b0
Loading
Loading
Loading
Loading

Seek.Theme/Class1.cs

deleted100644 → 0
+0 −5
Original line number Diff line number Diff line
namespace Seek.Theme;

public class Class1
{
}
 No newline at end of file
+6 −0
Original line number Diff line number Diff line
@@ -4,6 +4,12 @@
        <TargetFramework>net10.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Avalonia" Version="11.3.12"/>
        <PackageReference Include="Avalonia.Themes.Fluent" Version="11.3.12"/>
    </ItemGroup>

</Project>
+17 −0
Original line number Diff line number Diff line
<Styles xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Styles.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceInclude Source="avares://Seek.Theme/Styles/Colors.axaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Styles.Resources>

    <FluentTheme />

    <StyleInclude Source="avares://Seek.Theme/Styles/Typography.axaml" />
    <StyleInclude Source="avares://Seek.Theme/Styles/Controls.axaml" />

</Styles>
+58 −0
Original line number Diff line number Diff line
<ResourceDictionary xmlns="https://github.com/avaloniaui"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <ResourceDictionary.ThemeDictionaries>
        <ResourceDictionary x:Key="Default">
            <Color x:Key="SeekPrimaryColor">#6366F1</Color>
            <Color x:Key="SeekPrimaryHoverColor">#818CF8</Color>
            <Color x:Key="SeekPrimaryPressedColor">#4F46E5</Color>
            <Color x:Key="SeekSurfaceColor">#FFFFFF</Color>
            <Color x:Key="SeekSurfaceAltColor">#F3F4F6</Color>
            <Color x:Key="SeekBorderColor">#E5E7EB</Color>
            <Color x:Key="SeekTextPrimary">#111827</Color>
            <Color x:Key="SeekTextSecondary">#6B7280</Color>
            <Color x:Key="SeekDangerColor">#EF4444</Color>
            <Color x:Key="SeekSuccessColor">#10B981</Color>
            <Color x:Key="SeekWarningColor">#F59E0B</Color>

            <SolidColorBrush x:Key="SeekPrimaryBrush" Color="{StaticResource SeekPrimaryColor}" />
            <SolidColorBrush x:Key="SeekPrimaryHoverBrush" Color="{StaticResource SeekPrimaryHoverColor}" />
            <SolidColorBrush x:Key="SeekPrimaryPressedBrush" Color="{StaticResource SeekPrimaryPressedColor}" />
            <SolidColorBrush x:Key="SeekSurfaceBrush" Color="{StaticResource SeekSurfaceColor}" />
            <SolidColorBrush x:Key="SeekSurfaceAltBrush" Color="{StaticResource SeekSurfaceAltColor}" />
            <SolidColorBrush x:Key="SeekBorderBrush" Color="{StaticResource SeekBorderColor}" />
            <SolidColorBrush x:Key="SeekTextPrimaryBrush" Color="{StaticResource SeekTextPrimary}" />
            <SolidColorBrush x:Key="SeekTextSecondaryBrush" Color="{StaticResource SeekTextSecondary}" />
            <SolidColorBrush x:Key="SeekDangerBrush" Color="{StaticResource SeekDangerColor}" />
            <SolidColorBrush x:Key="SeekSuccessBrush" Color="{StaticResource SeekSuccessColor}" />
            <SolidColorBrush x:Key="SeekWarningBrush" Color="{StaticResource SeekWarningColor}" />
        </ResourceDictionary>

        <ResourceDictionary x:Key="Dark">
            <Color x:Key="SeekPrimaryColor">#818CF8</Color>
            <Color x:Key="SeekPrimaryHoverColor">#A5B4FC</Color>
            <Color x:Key="SeekPrimaryPressedColor">#6366F1</Color>
            <Color x:Key="SeekSurfaceColor">#1E1E2E</Color>
            <Color x:Key="SeekSurfaceAltColor">#181825</Color>
            <Color x:Key="SeekBorderColor">#313244</Color>
            <Color x:Key="SeekTextPrimary">#CDD6F4</Color>
            <Color x:Key="SeekTextSecondary">#A6ADC8</Color>
            <Color x:Key="SeekDangerColor">#F38BA8</Color>
            <Color x:Key="SeekSuccessColor">#A6E3A1</Color>
            <Color x:Key="SeekWarningColor">#F9E2AF</Color>

            <SolidColorBrush x:Key="SeekPrimaryBrush" Color="{StaticResource SeekPrimaryColor}" />
            <SolidColorBrush x:Key="SeekPrimaryHoverBrush" Color="{StaticResource SeekPrimaryHoverColor}" />
            <SolidColorBrush x:Key="SeekPrimaryPressedBrush" Color="{StaticResource SeekPrimaryPressedColor}" />
            <SolidColorBrush x:Key="SeekSurfaceBrush" Color="{StaticResource SeekSurfaceColor}" />
            <SolidColorBrush x:Key="SeekSurfaceAltBrush" Color="{StaticResource SeekSurfaceAltColor}" />
            <SolidColorBrush x:Key="SeekBorderBrush" Color="{StaticResource SeekBorderColor}" />
            <SolidColorBrush x:Key="SeekTextPrimaryBrush" Color="{StaticResource SeekTextPrimary}" />
            <SolidColorBrush x:Key="SeekTextSecondaryBrush" Color="{StaticResource SeekTextSecondary}" />
            <SolidColorBrush x:Key="SeekDangerBrush" Color="{StaticResource SeekDangerColor}" />
            <SolidColorBrush x:Key="SeekSuccessBrush" Color="{StaticResource SeekSuccessColor}" />
            <SolidColorBrush x:Key="SeekWarningBrush" Color="{StaticResource SeekWarningColor}" />
        </ResourceDictionary>
    </ResourceDictionary.ThemeDictionaries>

</ResourceDictionary>
+57 −0
Original line number Diff line number Diff line
<Styles xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Style Selector="Button">
        <Setter Property="CornerRadius" Value="6" />
        <Setter Property="Padding" Value="12,8" />
        <Setter Property="FontWeight" Value="Medium" />
        <Setter Property="Transitions">
            <Transitions>
                <BrushTransition Property="Background" Duration="0:0:0.15" />
                <BrushTransition Property="Foreground" Duration="0:0:0.15" />
            </Transitions>
        </Setter>
    </Style>

    <Style Selector="Button.btn-primary">
        <Setter Property="Background" Value="{DynamicResource SeekPrimaryBrush}" />
        <Setter Property="Foreground" Value="White" />
    </Style>

    <Style Selector="Button.btn-primary:pointerover">
        <Setter Property="Background" Value="{DynamicResource SeekPrimaryHoverBrush}" />
    </Style>

    <Style Selector="Button.btn-primary:pressed">
        <Setter Property="Background" Value="{DynamicResource SeekPrimaryPressedBrush}" />
    </Style>

    <Style Selector="Button.btn-danger">
        <Setter Property="Background" Value="{DynamicResource SeekDangerBrush}" />
        <Setter Property="Foreground" Value="White" />
    </Style>

    <Style Selector="Button.btn-success">
        <Setter Property="Background" Value="{DynamicResource SeekSuccessBrush}" />
        <Setter Property="Foreground" Value="White" />
    </Style>

    <Style Selector="Border.card">
        <Setter Property="CornerRadius" Value="8" />
        <Setter Property="BorderThickness" Value="1" />
        <Setter Property="BorderBrush" Value="{DynamicResource SeekBorderBrush}" />
        <Setter Property="Background" Value="{DynamicResource SeekSurfaceBrush}" />
        <Setter Property="Padding" Value="16" />
    </Style>

    <Style Selector="Border.surface-alt">
        <Setter Property="Background" Value="{DynamicResource SeekSurfaceAltBrush}" />
        <Setter Property="CornerRadius" Value="4" />
    </Style>

    <Style Selector="TextBox">
        <Setter Property="CornerRadius" Value="6" />
        <Setter Property="Padding" Value="10,8" />
    </Style>

</Styles>
Loading