using System.Drawing;

namespace Elfisa.UI.Theming
{
    public sealed class DarkRiderPalette : IThemePalette
    {
        public ThemeVariant Variant => ThemeVariant.DarkRider;

        public ThemeColors Colors { get; } = new ThemeColors
        {
            Name = "Dark Rider",
            Mode = ThemeMode.Dark,
            BackgroundPrimary = Color.FromArgb(43, 45, 48),
            BackgroundSecondary = Color.FromArgb(50, 52, 55),
            Surface = Color.FromArgb(60, 63, 65),
            SurfaceElevated = Color.FromArgb(69, 73, 77),
            Border = Color.FromArgb(81, 86, 90),
            BorderSubtle = Color.FromArgb(72, 76, 80),
            TextPrimary = Color.FromArgb(220, 221, 222),
            TextSecondary = Color.FromArgb(187, 187, 187),
            TextMuted = Color.FromArgb(140, 140, 140),
            TextOnAccent = Color.White,
            AccentPrimary = Color.FromArgb(53, 116, 240),
            AccentPrimaryHover = Color.FromArgb(70, 130, 245),
            AccentPrimaryPressed = Color.FromArgb(40, 100, 220),
            AccentSecondary = Color.FromArgb(72, 76, 80),
            Success = Color.FromArgb(75, 175, 80),
            SuccessSoft = Color.FromArgb(45, 70, 50),
            Warning = Color.FromArgb(255, 193, 7),
            WarningSoft = Color.FromArgb(80, 65, 35),
            Danger = Color.FromArgb(244, 67, 54),
            DangerSoft = Color.FromArgb(80, 45, 45),
            Info = Color.FromArgb(100, 181, 246),
            InfoSoft = Color.FromArgb(40, 60, 80),
            TitleBarTop = Color.FromArgb(43, 45, 48),
            TitleBarBottom = Color.FromArgb(53, 116, 240),
            NavBackground = Color.FromArgb(43, 45, 48),
            CartHeaderBackground = Color.FromArgb(55, 58, 62),
            ToolbarBackground = Color.FromArgb(50, 52, 55),
            SectionHeaderBackground = Color.FromArgb(55, 58, 62),
            OverlayScrim = Color.FromArgb(180, 0, 0, 0),
            SidebarBackground = Color.FromArgb(43, 45, 48),
            SidebarItem = Color.FromArgb(187, 187, 187),
            SidebarItemHover = Color.FromArgb(55, 58, 62),
            SidebarItemActive = Color.FromArgb(45, 65, 100),
            SidebarItemActiveText = Color.FromArgb(140, 180, 255),
            GridHeaderBackground = Color.FromArgb(55, 58, 62),
            GridHeaderForeground = Color.FromArgb(187, 187, 187),
            GridRowBackground = Color.FromArgb(60, 63, 65),
            GridRowAlternate = Color.FromArgb(55, 58, 62),
            GridRowHover = Color.FromArgb(69, 73, 77),
            GridRowSelected = Color.FromArgb(45, 65, 100),
            GridRowSelectedText = Color.FromArgb(220, 230, 255),
            GridBorder = Color.FromArgb(72, 76, 80),
            InputBackground = Color.FromArgb(55, 58, 62),
            InputBorder = Color.FromArgb(81, 86, 90),
            InputBorderFocus = Color.FromArgb(53, 116, 240),
            Shadow = Color.FromArgb(48, 0, 0, 0),
            ScrollbarThumb = Color.FromArgb(100, 104, 108),
            ScrollbarTrack = Color.FromArgb(50, 52, 55)
        };

        public DarkRiderPalette()
        {
            Colors.FontRegular12 = new Font("Segoe UI", 12f);
            Colors.FontRegular13 = new Font("Segoe UI", 13f);
            Colors.FontRegular14 = new Font("Segoe UI", 14f);
            Colors.FontSemibold14 = new Font("Segoe UI Semibold", 14f);
            Colors.FontSemibold16 = new Font("Segoe UI Semibold", 16f);
            Colors.FontBold18 = new Font("Segoe UI", 18f, FontStyle.Bold);
        }
    }
}
