local WhatLockoutNS = _G.WhatLockout
if not WhatLockoutNS then return end

WhatLockoutNS.Data = WhatLockoutNS.Data or {}
local SharedData = WhatLockoutNS.Data

-- Spurious zone save (instance id 6006) string fallbacks per locale.
SharedData.JunkInstanceNameBlacklist = SharedData.JunkInstanceNameBlacklist or {
    -- English (enUS/enGB)
    ["the veiled stair"] = true,
    ["theveiledstair"] = true,
    -- German (deDE) -- Die Verhuellte Treppe
    ["die verhüllte treppe"] = true,
    ["verhüllte treppe"] = true,
    ["dieverhülltetreppe"] = true,
    ["verhülltetreppe"] = true,
    ["die verhullte treppe"] = true,
    ["verhullte treppe"] = true,
    ["dieverhulltetreppe"] = true,
    ["verhulltetreppe"] = true,
    -- French (frFR)
    ["l'escalier voilé"] = true,
    ["l'escalier voile"] = true,
    ["lescaliervoile"] = true,
    ["lescalier voile"] = true,
    -- Spanish (esES / esMX)
    ["la escalera velada"] = true,
    ["laescaleravelada"] = true,
    -- Italian (itIT)
    ["la scala velata"] = true,
    ["lascalavelata"] = true,
    -- Portuguese (ptBR)
    ["a escadaria velada"] = true,
    ["aescadariavelada"] = true,
    -- Russian (ruRU)
    ["затуманенная лестница"] = true,
    ["затуманеннаялестница"] = true,
    -- Simplified Chinese (zhCN)
    ["雾纱栈道"] = true,
    -- Traditional Chinese (zhTW)
    ["霧紗棧道"] = true,
    -- Korean (koKR)
    ["장막의 계단"] = true,
    ["장막의계단"] = true,
    ["장막으로 덮인 계단"] = true,
    ["장막으로 덮인계단"] = true,
}

function SharedData.BuildTabFilters(settings)
    settings = settings or {}
    local hideLockedByTab = settings.hideLockedByTab or {}
    local typeFilterByTab = settings.typeFilterByTab or {}

    return {
        RAIDS = {
            hideLocked = (hideLockedByTab.RAIDS and true or false),
            typeFilter = (typeFilterByTab.RAIDS or "ALL"),
        },
        DUNGEONS = {
            hideLocked = (hideLockedByTab.DUNGEONS and true or false),
            typeFilter = (typeFilterByTab.DUNGEONS or "ALL"),
        },
        PLAYERS = {
            hideLocked = (hideLockedByTab.PLAYERS and true or false),
            typeFilter = (typeFilterByTab.PLAYERS or "ALL"),
        },
        SHARED = {
            hideLocked = (hideLockedByTab.SHARED and true or false),
            typeFilter = (typeFilterByTab.SHARED or "ALL"),
        },
    }
end
