local ADDON_NAME = ...
---@cast ADDON_NAME string

---@class AddonPrivate
local Private = select(2, ...)

local constants = {}

Private.constants = constants

--- Change these when releasing a new expansion
constants.EXPANSIONS = {
    "Back from the Beyond",
    "Farewell to Arms",
}
constants.ADDON_NAME = ADDON_NAME
constants.ADDON_VERSION = C_AddOns.GetAddOnMetadata(ADDON_NAME, "Version")
constants.ADDON_MEDIA_PATH = [[Interface\AddOns\]] .. constants.ADDON_NAME .. [[\Media]]
constants.ADDON_LOGO = [[Interface\Icons\Achievement_BG_winAB_underXminutes]]

constants.COLORS = {
    WHITE = CreateColorFromHexString("FFecf0f1"),

    HORDE = CreateColorFromHexString("ffff0000"),
    ALLIANCE = CreateColorFromHexString("ff0000ff"),

    POSITIVE = CreateColorFromHexString("ff00ff00"),
    NEUTRAL = CreateColorFromHexString("ffffff00"),
    NEGATIVE = CreateColorFromHexString("ffff0000"),
}
constants.MEDIA = {
    FONTS = {
        DEFAULT = constants.ADDON_MEDIA_PATH .. [[\Fonts\Default\NotoSans-Bold.ttf]],
    },
    TEXTURES = {
        LOGO = constants.ADDON_MEDIA_PATH .. [[\Textures\logo.tga]]
    }
}

constants.FONT_OBJECTS = {
    NORMAL = constants.ADDON_NAME .. 'Normal',
    HEADING = constants.ADDON_NAME .. 'Heading'
}

do
    local font = CreateFont(constants.FONT_OBJECTS.NORMAL)
    font:SetFont(constants.MEDIA.FONTS.DEFAULT, 12, "OUTLINE")
    font:SetJustifyH("LEFT")
    font:SetJustifyV("MIDDLE")
    font:SetTextColor(constants.COLORS.WHITE:GetRGBA())
end
do
    local font = CreateFont(constants.FONT_OBJECTS.HEADING)
    font:SetFont(constants.MEDIA.FONTS.DEFAULT, 16, "OUTLINE")
    font:SetJustifyH("LEFT")
    font:SetJustifyV("MIDDLE")
    font:SetTextColor(constants.COLORS.WHITE:GetRGBA())
end
