---@class QuestieJourneyUtils local QuestieJourneyUtils = QuestieLoader:CreateModule("QuestieJourneyUtils") ---@type l10n local l10n = QuestieLoader:ImportModule("l10n") local AceGUI = LibStub("AceGUI-3.0"); function QuestieJourneyUtils:GetSortedZoneKeys(zones) local function compare(a, b) return zones[a] < zones[b] end local zoneNames = {} for k, _ in pairs(zones) do table.insert(zoneNames, k) end table.sort(zoneNames, compare) return zoneNames end function QuestieJourneyUtils:Spacer(container, size) local spacer = AceGUI:Create("Label"); spacer:SetFullWidth(true); spacer:SetText(" "); if size and size == "large" then spacer:SetFontObject(GameFontHighlightLarge); elseif size and size == "small" then spacer:SetFontObject(GameFontHighlightSmall); else spacer:SetFontObject(GameFontHighlight); end container:AddChild(spacer); end function QuestieJourneyUtils:AddLine(frame, text) local label = AceGUI:Create("Label") label:SetFullWidth(true); label:SetText(text) label:SetFontObject(GameFontNormal) frame:AddChild(label) end function QuestieJourneyUtils:GetZoneName(id) local name = l10n("Unknown Zone") for category, data in pairs(l10n.zoneLookup) do if data[id] then name = l10n.zoneLookup[category][id] break end end return name end