local Theme = mUI:GetModule("mUI.Modules.General.Theme")

function Theme:Blacklist()
    -- Forbidden Frames which are not affected by Themes
    if mUI:IsClassic() then
        Theme.blacklist = {
            ["CalendarCreateEventIcon"] = true,
            ["ContainerFrame2Portrait"] = true,
            ["ContainerFrame3Portrait"] = true,
            ["ContainerFrame4Portrait"] = true,
            ["ContainerFrame5Portrait"] = true,
            ["ContainerFrame6Portrait"] = true,
            ["ContainerFrame7Portrait"] = true,
            ["ContainerFrame8Portrait"] = true,
            ["ContainerFrame9Portrait"] = true,
            ["ContainerFrame10Portrait"] = true,
            ["ContainerFrame11Portrait"] = true,
            ["ContainerFrame12Portrait"] = true,
            ["ContainerFrame13Portrait"] = true,
            ["SpellBookPage1"] = true,
            ["SpellBookPage2"] = true,
            ["TradeFrameRecipientPortrait"] = true,
            ["QuestLogFramePageBg"] = true,
            ["QuestLogDetailFramePageBg"] = true,
            ["OpenStationeryBackgroundLeft"] = true,
            ["OpenStationeryBackgroundRight"] = true,
            ["InboxFrameBg"] = true,
            ["StaticPopup1AlertIcon"] = true,
            ["StaticPopup2AlertIcon"] = true,
            ["StaticPopup3AlertIcon"] = true,
            ["LFGDungeonReadyDialogBackground"] = true,
            ["QuestNPCModelBg"] = true,
            [select(2, ChatFrame1EditBox:GetRegions())] = true,
            [select(2, ChatFrame2EditBox:GetRegions())] = true,
            [select(2, ChatFrame3EditBox:GetRegions())] = true,
            [select(2, ChatFrame4EditBox:GetRegions())] = true,
            [select(2, ChatFrame5EditBox:GetRegions())] = true,
            [select(2, ChatFrame6EditBox:GetRegions())] = true,
            [select(2, ChatFrame7EditBox:GetRegions())] = true,
            [select(3, SpellBookFrame:GetRegions())] = true,
            [select(13, TaxiFrame:GetRegions())] = true,
            [select(2, CommunitiesFrame.ChatTab:GetRegions())] = true,
            [select(2, CommunitiesFrame.RosterTab:GetRegions())] = true,
            [select(2, CommunitiesFrame.GuildBenefitsTab:GetRegions())] = true,
            [select(2, CommunitiesFrame.GuildInfoTab:GetRegions())] = true,
            [select(2, CommunitiesFrame.ChatEditBox:GetRegions())] = true,
            [select(5, CommunitiesFrame.GuildBenefitsFrame.FactionFrame.Bar:GetRegions())] = true,
            [select(2, ClubFinderGuildFinderFrame.ClubFinderSearchTab:GetRegions())] = true,
            [select(2, ClubFinderGuildFinderFrame.ClubFinderPendingTab:GetRegions())] = true,
            [select(18, FriendsFrame:GetRegions())] = true,
            [select(18, GossipFrame:GetRegions())] = true,
            [select(18, MailFrame:GetRegions())] = true,
            [select(9, ReportFrame:GetRegions())] = true,
            [select(18, LootFrame:GetRegions())] = true,
            [select(18, TradeFrame:GetRegions())] = true,
            [select(18, QuestLogDetailFrame:GetRegions())] = true,
            [select(18, QuestLogFrame:GetRegions())] = true,
            [select(18, OpenMailFrame:GetRegions())] = true,
            [select(18, ItemTextFrame:GetRegions())] = true,
        }
    else
        Theme.blacklist = {
            ["CalendarCreateEventIcon"] = true,
            ["FriendsFrameIcon"] = true,
            ["MacroFramePortrait"] = true,
            ["StaticPopup1AlertIcon"] = true,
            ["StaticPopup2AlertIcon"] = true,
            ["StaticPopup3AlertIcon"] = true,
            ["PVPReadyDialogBackground"] = true,
            ["LFGDungeonReadyDialogBackground"] = true,
            ["QuestFrameDetailPanelBg"] = true,
            ["OpenMailFrameIcon"] = true,
            ["ItemTextFramePageBg"] = true,
            [select(3, ItemTextFrame:GetRegions())] = true,
            [select(3, GossipFrame:GetRegions())] = true,
            [select(3, DressUpFrame:GetRegions())] = true,
            [select(2, ChatFrame1EditBox:GetRegions())] = true,
            [select(2, ChatFrame2EditBox:GetRegions())] = true,
            [select(2, ChatFrame3EditBox:GetRegions())] = true,
            [select(2, ChatFrame4EditBox:GetRegions())] = true,
            [select(2, ChatFrame5EditBox:GetRegions())] = true,
            [select(2, ChatFrame6EditBox:GetRegions())] = true,
            [select(2, ChatFrame7EditBox:GetRegions())] = true,
            [select(1, TradeFrame.RecipientOverlay:GetRegions())] = true,
            [select(4, LFGListInviteDialog:GetRegions())] = true,
            [select(1, ContainerFrame1.Bg:GetRegions())] = true,
            [select(2, ContainerFrame1.Bg:GetRegions())] = true,
            [select(1, ContainerFrame2.Bg:GetRegions())] = true,
            [select(2, ContainerFrame2.Bg:GetRegions())] = true,
            [select(1, ContainerFrame3.Bg:GetRegions())] = true,
            [select(2, ContainerFrame3.Bg:GetRegions())] = true,
            [select(1, ContainerFrame4.Bg:GetRegions())] = true,
            [select(2, ContainerFrame4.Bg:GetRegions())] = true,
            [select(1, ContainerFrame5.Bg:GetRegions())] = true,
            [select(2, ContainerFrame5.Bg:GetRegions())] = true,
            [select(1, ContainerFrame6.Bg:GetRegions())] = true,
            [select(2, ContainerFrame6.Bg:GetRegions())] = true,
            --[[[select(1, ContainerFrame7.Bg:GetRegions())] = true,
            [select(2, ContainerFrame7.Bg:GetRegions())] = true,
            [select(1, ContainerFrame8.Bg:GetRegions())] = true,
            [select(2, ContainerFrame8.Bg:GetRegions())] = true,
            [select(1, ContainerFrame9.Bg:GetRegions())] = true,
            [select(2, ContainerFrame9.Bg:GetRegions())] = true,
            [select(1, ContainerFrame10.Bg:GetRegions())] = true,
            [select(2, ContainerFrame10.Bg:GetRegions())] = true,
            [select(1, ContainerFrame11.Bg:GetRegions())] = true,
            [select(2, ContainerFrame11.Bg:GetRegions())] = true,
            [select(1, ContainerFrame12.Bg:GetRegions())] = true,
            [select(2, ContainerFrame12.Bg:GetRegions())] = true,
            [select(1, ContainerFrame13.Bg:GetRegions())] = true,
            [select(2, ContainerFrame13.Bg:GetRegions())] = true,]]
            [select(1, ContainerFrameCombinedBags.Bg:GetRegions())] = true,
            [select(2, ContainerFrameCombinedBags.Bg:GetRegions())] = true,
            [select(9, ChatConfigCategoryFrame.NineSlice:GetRegions())] = true,
            [select(9, ChatConfigBackgroundFrame.NineSlice:GetRegions())] = true,
            [select(2, CommunitiesFrame.ChatTab:GetRegions())] = true,
            [select(2, CommunitiesFrame.RosterTab:GetRegions())] = true,
            [select(2, CommunitiesFrame.GuildBenefitsTab:GetRegions())] = true,
            [select(2, CommunitiesFrame.GuildInfoTab:GetRegions())] = true,
            [select(2, ClubFinderCommunityAndGuildFinderFrame.ClubFinderSearchTab:GetRegions())] = true,
            [select(2, ClubFinderCommunityAndGuildFinderFrame.ClubFinderPendingTab:GetRegions())] = true,
            [select(2, ClubFinderGuildFinderFrame.ClubFinderSearchTab:GetRegions())] = true,
            [select(2, ClubFinderGuildFinderFrame.ClubFinderPendingTab:GetRegions())] = true,
            [select(9, CommunitiesGuildLogFrame.Container.NineSlice:GetRegions())] = true,
            [select(1, PlayerFrame.PlayerFrameContainer:GetRegions())] = true,
            [select(1, TargetFrame.TargetFrameContainer:GetRegions())] = true,
            [select(1, FocusFrame.TargetFrameContainer:GetRegions())] = true,
            [select(1, Boss1TargetFrame.TargetFrameContainer:GetRegions())] = true,
            [select(1, Boss2TargetFrame.TargetFrameContainer:GetRegions())] = true,
            [select(1, Boss3TargetFrame.TargetFrameContainer:GetRegions())] = true,
            [select(1, Boss4TargetFrame.TargetFrameContainer:GetRegions())] = true,
            [select(1, Boss5TargetFrame.TargetFrameContainer:GetRegions())] = true,
            [select(5, CommunitiesFrame.GuildBenefitsFrame.FactionFrame.Bar:GetRegions())] = true,
            [select(3, QuestObjectiveTracker.Header:GetRegions())] = true,
            [select(4, QuestObjectiveTracker.Header:GetRegions())] = true,
            [select(3, AchievementObjectiveTracker.Header:GetRegions())] = true,
            [select(4, AchievementObjectiveTracker.Header:GetRegions())] = true,
            [select(3, CampaignQuestObjectiveTracker.Header:GetRegions())] = true,
            [select(4, CampaignQuestObjectiveTracker.Header:GetRegions())] = true,
            [select(9, ReportFrame:GetRegions())] = true,
            [select(2, CommunitiesFrame.ChatEditBox:GetRegions())] = true,
            [select(2, MerchantRepairItemButton:GetRegions())] = true,
            [select(2, MerchantRepairAllButton:GetRegions())] = true,
            [select(2, MerchantGuildBankRepairButton:GetRegions())] = true,
            [select(2, MerchantSellAllJunkButton:GetRegions())] = true,
            [select(3, PetitionFrame:GetRegions())] = true
        }
    end
end
