from PyQt6.QtGui import QPalette

ColorRole = QPalette.ColorRole
ColorGroup = QPalette.ColorGroup
Disabled = QPalette.ColorGroup.Disabled

custom = QPalette()
background = 0x202124
mid_background = 0x2C2D2F
light_bkg = 0x3F4042
blue = 0x8AB4F7
blue = 0xAAD4FF
almost_white = 0xFDFDFD
placeholder_color = 0xB0B0B0
red = 0xFF0000
custom.setColor(ColorRole.Window, background)
custom.setColor(ColorRole.WindowText, almost_white)
custom.setColor(ColorRole.Base, light_bkg)
custom.setColor(ColorRole.AlternateBase, mid_background)
custom.setColor(ColorRole.Text, almost_white)
custom.setColor(ColorRole.Button, mid_background)
custom.setColor(ColorRole.ButtonText, blue)
custom.setColor(ColorRole.Highlight, blue)
custom.setColor(ColorRole.HighlightedText, background)
custom.setColor(ColorRole.PlaceholderText, placeholder_color)
custom.setColor(Disabled, ColorRole.WindowText, custom.windowText().color().darker())
custom.setColor(Disabled, ColorRole.Button, custom.button().color().darker())
custom.setColor(Disabled, ColorRole.ButtonText, custom.buttonText().color().darker())
custom.setColor(Disabled, ColorRole.Base, custom.base().color().darker())
custom.setColor(Disabled, ColorRole.Text, custom.text().color().darker())
custom.setColor(
    Disabled, ColorRole.PlaceholderText, custom.placeholderText().color().darker()
)
custom.setColor(ColorRole.ToolTipBase, 0xFFFFDC)
custom.setColor(ColorRole.ToolTipText, 0x000000)
custom.setColor(ColorRole.Dark, placeholder_color)
custom.setColor(ColorRole.Light, mid_background)
custom.setColor(ColorRole.BrightText, red)
custom.setColor(ColorRole.Midlight, red)
custom.setColor(ColorRole.Shadow, red)
custom.setColor(ColorRole.Mid, red)
custom.setColor(ColorRole.Link, red)
custom.setColor(ColorRole.LinkVisited, red)
custom.setColor(ColorRole.NoRole, red)


dark = QPalette()
dark.setColor(ColorGroup.Active, ColorRole.WindowText, 0xF0F0F0)
dark.setColor(ColorGroup.Active, ColorRole.Button, 0x323232)
dark.setColor(ColorGroup.Active, ColorRole.Light, 0x4B4B4B)
dark.setColor(ColorGroup.Active, ColorRole.Midlight, 0x2A2A2A)
dark.setColor(ColorGroup.Active, ColorRole.Dark, 0x212121)
dark.setColor(ColorGroup.Active, ColorRole.Mid, 0x262626)
dark.setColor(ColorGroup.Active, ColorRole.Text, 0xF0F0F0)
dark.setColor(ColorGroup.Active, ColorRole.BrightText, 0x4B4B4B)
dark.setColor(ColorGroup.Active, ColorRole.ButtonText, blue)
dark.setColor(ColorGroup.Active, ColorRole.Base, 0x242424)
dark.setColor(ColorGroup.Active, ColorRole.Window, 0x323232)
dark.setColor(ColorGroup.Active, ColorRole.Shadow, 0x191919)
dark.setColor(ColorGroup.Active, ColorRole.Highlight, 0x308CC6)
dark.setColor(ColorGroup.Active, ColorRole.HighlightedText, 0xF0F0F0)
dark.setColor(ColorGroup.Active, ColorRole.Link, 0x308CC6)
dark.setColor(ColorGroup.Active, ColorRole.LinkVisited, 0xFF00FF)
dark.setColor(ColorGroup.Active, ColorRole.AlternateBase, 0x2B2B2B)
dark.setColor(ColorGroup.Active, ColorRole.ToolTipBase, 0xFFFFDC)
dark.setColor(ColorGroup.Active, ColorRole.ToolTipText, 0x000000)
dark.setColor(ColorGroup.Active, ColorRole.PlaceholderText, 0xA0A0A0)
dark.setColor(ColorGroup.Active, ColorRole.NoRole, 0x000000)
dark.setColor(ColorGroup.Disabled, ColorRole.WindowText, 0x828282)
dark.setColor(ColorGroup.Disabled, ColorRole.Button, 0x323232)
dark.setColor(ColorGroup.Disabled, ColorRole.Light, 0x4B4B4B)
dark.setColor(ColorGroup.Disabled, ColorRole.Midlight, 0x2A2A2A)
dark.setColor(ColorGroup.Disabled, ColorRole.Dark, 0xBEBEBE)
dark.setColor(ColorGroup.Disabled, ColorRole.Mid, 0x262626)
dark.setColor(ColorGroup.Disabled, ColorRole.Text, 0x828282)
dark.setColor(ColorGroup.Disabled, ColorRole.BrightText, 0x4B4B4B)
dark.setColor(ColorGroup.Disabled, ColorRole.ButtonText, 0x828282)
dark.setColor(ColorGroup.Disabled, ColorRole.Base, 0x323232)
dark.setColor(ColorGroup.Disabled, ColorRole.Window, 0x323232)
dark.setColor(ColorGroup.Disabled, ColorRole.Shadow, 0x252525)
dark.setColor(ColorGroup.Disabled, ColorRole.Highlight, 0x919191)
dark.setColor(ColorGroup.Disabled, ColorRole.HighlightedText, 0xF0F0F0)
dark.setColor(ColorGroup.Disabled, ColorRole.Link, 0x308CC6)
dark.setColor(ColorGroup.Disabled, ColorRole.LinkVisited, 0xFF00FF)
dark.setColor(ColorGroup.Disabled, ColorRole.AlternateBase, 0x2B2B2B)
dark.setColor(ColorGroup.Disabled, ColorRole.ToolTipBase, 0xFFFFDC)
dark.setColor(ColorGroup.Disabled, ColorRole.ToolTipText, 0x000000)
dark.setColor(ColorGroup.Disabled, ColorRole.PlaceholderText, 0x4B4B4B)
dark.setColor(ColorGroup.Disabled, ColorRole.NoRole, 0x000000)
dark.setColor(ColorGroup.Inactive, ColorRole.WindowText, 0xF0F0F0)
dark.setColor(ColorGroup.Inactive, ColorRole.Button, 0x323232)
dark.setColor(ColorGroup.Inactive, ColorRole.Light, 0x4B4B4B)
dark.setColor(ColorGroup.Inactive, ColorRole.Midlight, 0x2A2A2A)
dark.setColor(ColorGroup.Inactive, ColorRole.Dark, 0x212121)
dark.setColor(ColorGroup.Inactive, ColorRole.Mid, 0x262626)
dark.setColor(ColorGroup.Inactive, ColorRole.Text, 0xF0F0F0)
dark.setColor(ColorGroup.Inactive, ColorRole.BrightText, 0x4B4B4B)
dark.setColor(ColorGroup.Inactive, ColorRole.ButtonText, 0xF0F0F0)
dark.setColor(ColorGroup.Inactive, ColorRole.Base, 0x242424)
dark.setColor(ColorGroup.Inactive, ColorRole.Window, 0x323232)
dark.setColor(ColorGroup.Inactive, ColorRole.Shadow, 0x191919)
dark.setColor(ColorGroup.Inactive, ColorRole.Highlight, 0x308CC6)
dark.setColor(ColorGroup.Inactive, ColorRole.HighlightedText, 0xF0F0F0)
dark.setColor(ColorGroup.Inactive, ColorRole.Link, 0x308CC6)
dark.setColor(ColorGroup.Inactive, ColorRole.LinkVisited, 0xFF00FF)
dark.setColor(ColorGroup.Inactive, ColorRole.AlternateBase, 0x2B2B2B)
dark.setColor(ColorGroup.Inactive, ColorRole.ToolTipBase, 0xFFFFDC)
dark.setColor(ColorGroup.Inactive, ColorRole.ToolTipText, 0x000000)
dark.setColor(ColorGroup.Inactive, ColorRole.PlaceholderText, 0xF0F0F0)
dark.setColor(ColorGroup.Inactive, ColorRole.NoRole, 0x000000)


light = QPalette()
light.setColor(ColorGroup.Active, ColorRole.WindowText, 0x000000)
light.setColor(ColorGroup.Active, ColorRole.Button, 0xEFEFEF)
light.setColor(ColorGroup.Active, ColorRole.Light, 0xFFFFFF)
light.setColor(ColorGroup.Active, ColorRole.Midlight, 0xCACACA)
light.setColor(ColorGroup.Active, ColorRole.Dark, 0x9F9F9F)
light.setColor(ColorGroup.Active, ColorRole.Mid, 0xB8B8B8)
light.setColor(ColorGroup.Active, ColorRole.Text, 0x000000)
light.setColor(ColorGroup.Active, ColorRole.BrightText, 0xFFFFFF)
light.setColor(ColorGroup.Active, ColorRole.ButtonText, 0x000000)
light.setColor(ColorGroup.Active, ColorRole.Base, 0xFFFFFF)
light.setColor(ColorGroup.Active, ColorRole.Window, 0xEFEFEF)
light.setColor(ColorGroup.Active, ColorRole.Shadow, 0x767676)
light.setColor(ColorGroup.Active, ColorRole.Highlight, 0x308CC6)
light.setColor(ColorGroup.Active, ColorRole.HighlightedText, 0xFFFFFF)
light.setColor(ColorGroup.Active, ColorRole.Link, 0x0000FF)
light.setColor(ColorGroup.Active, ColorRole.LinkVisited, 0xFF00FF)
light.setColor(ColorGroup.Active, ColorRole.AlternateBase, 0xF7F7F7)
light.setColor(ColorGroup.Active, ColorRole.ToolTipBase, 0xFFFFDC)
light.setColor(ColorGroup.Active, ColorRole.ToolTipText, 0x000000)
light.setColor(ColorGroup.Active, ColorRole.PlaceholderText, 0x404040)
light.setColor(ColorGroup.Active, ColorRole.NoRole, 0x000000)
light.setColor(ColorGroup.Disabled, ColorRole.WindowText, 0xBEBEBE)
light.setColor(ColorGroup.Disabled, ColorRole.Button, 0xEFEFEF)
light.setColor(ColorGroup.Disabled, ColorRole.Light, 0xFFFFFF)
light.setColor(ColorGroup.Disabled, ColorRole.Midlight, 0xCACACA)
light.setColor(ColorGroup.Disabled, ColorRole.Dark, 0xBEBEBE)
light.setColor(ColorGroup.Disabled, ColorRole.Mid, 0xB8B8B8)
light.setColor(ColorGroup.Disabled, ColorRole.Text, 0xBEBEBE)
light.setColor(ColorGroup.Disabled, ColorRole.BrightText, 0xFFFFFF)
light.setColor(ColorGroup.Disabled, ColorRole.ButtonText, 0xBEBEBE)
light.setColor(ColorGroup.Disabled, ColorRole.Base, 0xEFEFEF)
light.setColor(ColorGroup.Disabled, ColorRole.Window, 0xEFEFEF)
light.setColor(ColorGroup.Disabled, ColorRole.Shadow, 0xB1B1B1)
light.setColor(ColorGroup.Disabled, ColorRole.Highlight, 0x919191)
light.setColor(ColorGroup.Disabled, ColorRole.HighlightedText, 0xFFFFFF)
light.setColor(ColorGroup.Disabled, ColorRole.Link, 0x0000FF)
light.setColor(ColorGroup.Disabled, ColorRole.LinkVisited, 0xFF00FF)
light.setColor(ColorGroup.Disabled, ColorRole.AlternateBase, 0xF7F7F7)
light.setColor(ColorGroup.Disabled, ColorRole.ToolTipBase, 0xFFFFDC)
light.setColor(ColorGroup.Disabled, ColorRole.ToolTipText, 0x000000)
light.setColor(ColorGroup.Disabled, ColorRole.PlaceholderText, 0xC0C0C0)
light.setColor(ColorGroup.Disabled, ColorRole.NoRole, 0x000000)
light.setColor(ColorGroup.Inactive, ColorRole.WindowText, 0x000000)
light.setColor(ColorGroup.Inactive, ColorRole.Button, 0xEFEFEF)
light.setColor(ColorGroup.Inactive, ColorRole.Light, 0xFFFFFF)
light.setColor(ColorGroup.Inactive, ColorRole.Midlight, 0xCACACA)
light.setColor(ColorGroup.Inactive, ColorRole.Dark, 0x9F9F9F)
light.setColor(ColorGroup.Inactive, ColorRole.Mid, 0xB8B8B8)
light.setColor(ColorGroup.Inactive, ColorRole.Text, 0x000000)
light.setColor(ColorGroup.Inactive, ColorRole.BrightText, 0xFFFFFF)
light.setColor(ColorGroup.Inactive, ColorRole.ButtonText, 0x000000)
light.setColor(ColorGroup.Inactive, ColorRole.Base, 0xFFFFFF)
light.setColor(ColorGroup.Inactive, ColorRole.Window, 0xEFEFEF)
light.setColor(ColorGroup.Inactive, ColorRole.Shadow, 0x767676)
light.setColor(ColorGroup.Inactive, ColorRole.Highlight, 0x308CC6)
light.setColor(ColorGroup.Inactive, ColorRole.HighlightedText, 0xFFFFFF)
light.setColor(ColorGroup.Inactive, ColorRole.Link, 0x0000FF)
light.setColor(ColorGroup.Inactive, ColorRole.LinkVisited, 0xFF00FF)
light.setColor(ColorGroup.Inactive, ColorRole.AlternateBase, 0xF7F7F7)
light.setColor(ColorGroup.Inactive, ColorRole.ToolTipBase, 0xFFFFDC)
light.setColor(ColorGroup.Inactive, ColorRole.ToolTipText, 0x000000)
light.setColor(ColorGroup.Inactive, ColorRole.PlaceholderText, 0x000000)
light.setColor(ColorGroup.Inactive, ColorRole.NoRole, 0x000000)
