using System.Drawing;

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

        public ThemeColors Colors { get; } = new ThemeColors
        {
            Name = "Light Office 365",
            Mode = ThemeMode.Light,
            BackgroundPrimary = Color.FromArgb(243, 243, 243),
            BackgroundSecondary = Color.FromArgb(250, 250, 250),
            Surface = Color.White,
            SurfaceElevated = Color.White,
            Border = Color.FromArgb(225, 225, 225),
            BorderSubtle = Color.FromArgb(237, 237, 237),
            TextPrimary = Color.FromArgb(36, 36, 36),
            TextSecondary = Color.FromArgb(66, 66, 66),
            TextMuted = Color.FromArgb(117, 117, 117),
            TextOnAccent = Color.White,
            AccentPrimary = Color.FromArgb(0, 120, 212),
            AccentPrimaryHover = Color.FromArgb(16, 110, 190),
            AccentPrimaryPressed = Color.FromArgb(0, 90, 158),
            AccentPrimarySoft = Color.FromArgb(222, 236, 249),
            AccentPrimaryBorder = Color.FromArgb(187, 222, 251),
            AccentSecondary = Color.FromArgb(237, 237, 237),
            Success = Color.FromArgb(16, 124, 16),
            SuccessSoft = Color.FromArgb(223, 246, 221),
            Warning = Color.FromArgb(157, 93, 0),
            WarningSoft = Color.FromArgb(255, 244, 206),
            Danger = Color.FromArgb(196, 43, 28),
            DangerSoft = Color.FromArgb(253, 231, 233),
            Info = Color.FromArgb(0, 120, 212),
            InfoSoft = Color.FromArgb(222, 236, 249),
            TitleBarTop = Color.FromArgb(0, 90, 158),
            TitleBarBottom = Color.FromArgb(0, 120, 212),
            NavBackground = Color.White,
            CartHeaderBackground = Color.FromArgb(222, 236, 249),
            ToolbarBackground = Color.FromArgb(250, 250, 250),
            SectionHeaderBackground = Color.FromArgb(248, 248, 248),
            SidebarBackground = Color.FromArgb(250, 250, 250),
            SidebarItem = Color.FromArgb(66, 66, 66),
            SidebarItemHover = Color.FromArgb(237, 237, 237),
            SidebarItemActive = Color.FromArgb(222, 236, 249),
            SidebarItemActiveText = Color.FromArgb(0, 90, 158),
            GridHeaderBackground = Color.FromArgb(248, 248, 248),
            GridHeaderForeground = Color.FromArgb(66, 66, 66),
            GridRowBackground = Color.White,
            GridRowAlternate = Color.FromArgb(250, 250, 250),
            GridRowHover = Color.FromArgb(243, 243, 243),
            GridRowSelected = Color.FromArgb(222, 236, 249),
            GridRowSelectedText = Color.FromArgb(0, 69, 120),
            GridBorder = Color.FromArgb(237, 237, 237),
            InputBackground = Color.White,
            InputBorder = Color.FromArgb(210, 210, 210),
            InputBorderFocus = Color.FromArgb(0, 120, 212),
            OverlayScrim = Color.FromArgb(150, 0, 0, 0),
            Shadow = Color.FromArgb(24, 0, 0, 0),
            ScrollbarThumb = Color.FromArgb(200, 200, 200),
            ScrollbarTrack = Color.FromArgb(243, 243, 243)
        };

        public LightOfficePalette()
        {
            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);
        }
    }
}
