From ddb00a08365f7b066b7c3db5e857451ca47fb6a6 Mon Sep 17 00:00:00 2001 From: JonKazama-Hellion Date: Wed, 6 May 2026 13:56:11 +0200 Subject: [PATCH] feat: add Night Blue built-in theme --- HellionChat/Themes/Builtin/NightBlue.cs | 76 +++++++++++++++++++++++++ HellionChat/Themes/ThemeRegistry.cs | 11 ++-- 2 files changed, 82 insertions(+), 5 deletions(-) create mode 100644 HellionChat/Themes/Builtin/NightBlue.cs diff --git a/HellionChat/Themes/Builtin/NightBlue.cs b/HellionChat/Themes/Builtin/NightBlue.cs new file mode 100644 index 0000000..3b07c5c --- /dev/null +++ b/HellionChat/Themes/Builtin/NightBlue.cs @@ -0,0 +1,76 @@ +using HellionChat.Util; + +namespace HellionChat.Themes.Builtin; + +internal static class NightBlue +{ + public const string Slug = "night-blue"; + + public static Theme Build() => new( + Slug: Slug, + Name: "Night Blue", + Author: "Florian Wathling", + Description: "Royal Blue auf Marineblau — kühles Tech-Dashboard-Mood.", + Colors: new ThemeColors( + PrimaryDark: ColourUtil.HexToRgba("#3576C0"), + Primary: ColourUtil.HexToRgba("#4A90E2"), + PrimaryLight: ColourUtil.HexToRgba("#6AB0FF"), + PrimaryGlow: ColourUtil.HexToRgba("#4A90E299"), + + AccentDark: ColourUtil.HexToRgba("#C97A2E"), + Accent: ColourUtil.HexToRgba("#E8A040"), + AccentLight: ColourUtil.HexToRgba("#F4B968"), + + Identity: ColourUtil.HexToRgba("#3576C0"), + + WindowBg: ColourUtil.HexToRgba("#050B18"), + ChildBg: ColourUtil.HexToRgba("#0A1628"), + FrameBg: ColourUtil.HexToRgba("#122039"), + Surface: ColourUtil.HexToRgba("#1A2D4F"), + SurfaceHover: ColourUtil.HexToRgba("#234070"), + Border: ColourUtil.HexToRgba("#4A90E266"), + + TextPrimary: ColourUtil.HexToRgba("#E6EDF7"), + TextMuted: ColourUtil.HexToRgba("#8CA0BF"), + TextDim: ColourUtil.HexToRgba("#5A6F8F"), + + StatusSuccess: ColourUtil.HexToRgba("#3DDC97"), + StatusDanger: ColourUtil.HexToRgba("#FF5C7A"), + StatusWarning: ColourUtil.HexToRgba("#FFB84A"), + StatusInfo: ColourUtil.HexToRgba("#4A90E2") + ), + Layout: new ThemeLayout( + WindowRounding: 6f, ChildRounding: 5f, PopupRounding: 5f, + FrameRounding: 4f, GrabRounding: 4f, TabRounding: 4f, + ScrollbarRounding: 4f, WindowBorderSize: 1f, FrameBorderSize: 1f + ), + Typography: new ThemeTypography(), + IsBuiltIn: true, + ChatColors: new ThemeChatColors(new Dictionary + { + // Night Blue — Royal-Blue-Tinte in Party/FC, Bronze-Gold in Yell/ + // Alliance. Channel-identity (Tell-Pink, NN-Lime) bleibt erhalten. + [HellionChat.Code.ChatType.Say] = ColourUtil.HexToRgba("#FFFFFF"), + [HellionChat.Code.ChatType.Yell] = ColourUtil.HexToRgba("#FFD060"), + [HellionChat.Code.ChatType.Shout] = ColourUtil.HexToRgba("#FFA040"), + [HellionChat.Code.ChatType.TellIncoming] = ColourUtil.HexToRgba("#FF99CC"), + [HellionChat.Code.ChatType.TellOutgoing] = ColourUtil.HexToRgba("#FF99CC"), + [HellionChat.Code.ChatType.Party] = ColourUtil.HexToRgba("#6AA8E8"), + [HellionChat.Code.ChatType.Alliance] = ColourUtil.HexToRgba("#E8B070"), + [HellionChat.Code.ChatType.FreeCompany] = ColourUtil.HexToRgba("#4FA8E8"), + [HellionChat.Code.ChatType.NoviceNetwork] = ColourUtil.HexToRgba("#A8E060"), + [HellionChat.Code.ChatType.CrossParty] = ColourUtil.HexToRgba("#6AA8E8"), + [HellionChat.Code.ChatType.Linkshell1] = ColourUtil.HexToRgba("#A8E060"), + [HellionChat.Code.ChatType.Linkshell2] = ColourUtil.HexToRgba("#E8B070"), + [HellionChat.Code.ChatType.Linkshell3] = ColourUtil.HexToRgba("#FFD060"), + [HellionChat.Code.ChatType.Linkshell4] = ColourUtil.HexToRgba("#80E8A8"), + [HellionChat.Code.ChatType.Linkshell5] = ColourUtil.HexToRgba("#6AA8E8"), + [HellionChat.Code.ChatType.Linkshell6] = ColourUtil.HexToRgba("#A8A0F0"), + [HellionChat.Code.ChatType.Linkshell7] = ColourUtil.HexToRgba("#FF99CC"), + [HellionChat.Code.ChatType.Linkshell8] = ColourUtil.HexToRgba("#E8B0F0"), + [HellionChat.Code.ChatType.CustomEmote] = ColourUtil.HexToRgba("#E8B070"), + [HellionChat.Code.ChatType.StandardEmote] = ColourUtil.HexToRgba("#E8B070"), + [HellionChat.Code.ChatType.Echo] = ColourUtil.HexToRgba("#8CA0BF"), + }) + ); +} diff --git a/HellionChat/Themes/ThemeRegistry.cs b/HellionChat/Themes/ThemeRegistry.cs index 3e14c84..12599f2 100644 --- a/HellionChat/Themes/ThemeRegistry.cs +++ b/HellionChat/Themes/ThemeRegistry.cs @@ -15,11 +15,12 @@ public sealed class ThemeRegistry { _builtIns = new Dictionary(StringComparer.OrdinalIgnoreCase) { - { HellionArctic.Slug, HellionArctic.Build() }, - { Chat2Classic.Slug, Chat2Classic.Build() }, - { EventHorizon.Slug, EventHorizon.Build() }, - { MoonlitBloom.Slug, MoonlitBloom.Build() }, - { MintGrove.Slug, MintGrove.Build() }, + { HellionArctic.Slug, HellionArctic.Build() }, + { Chat2Classic.Slug, Chat2Classic.Build() }, + { EventHorizon.Slug, EventHorizon.Build() }, + { MoonlitBloom.Slug, MoonlitBloom.Build() }, + { NightBlue.Slug, NightBlue.Build() }, + { MintGrove.Slug, MintGrove.Build() }, }; _active = _builtIns[DefaultSlug]; _customThemesDir = customThemesDir;