+-- AzeriteBar.lua
+local _;
+local width = 300;
+local running = false;
+local frame = CreateFrame("Frame", "OmaAzeriteBar", UIParent);
+
+frame:SetScript("OnEvent", function()
+ frame:SetPoint("BOTTOM", UIParent, "BOTTOM", 0, 8);
+ frame:SetWidth(width);
+ frame:SetHeight(8);
+ frame.base = frame:CreateTexture(nil, "BACKGROUND");
+ frame.base:SetAllPoints();
+ frame.base:SetColorTexture(0, 0, 0, 0.5);
+ frame.bar = frame:CreateTexture(nil, "BORDER");
+ frame.bar:SetPoint("TOPLEFT", frame.base, "TOPLEFT");
+ frame.bar:SetPoint("BOTTOMLEFT", frame.base, "BOTTOMLEFT");
+ frame.bar:SetColorTexture(ARTIFACT_BAR_COLOR:GetRGB());
+ frame.text = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlight");
+ frame.text:SetPoint("BOTTOM");
+ frame.text:Hide();
+
+ frame:SetScript("OnEvent", function()
+ -- from FrameXML/AzeriteBar.lua
+ local azeriteItem = C_AzeriteItem.FindActiveAzeriteItem();
+ if not azeriteItem then return end
+
+ local xp, totalxp = C_AzeriteItem.GetAzeriteItemXPInfo(azeriteItem);
+ frame.bar:SetWidth(xp/totalxp*width);
+ frame.text:SetFormattedText("%d / %d", xp, totalxp);
+ end);
+ frame:UnregisterAllEvents();
+ frame:RegisterEvent("PLAYER_ENTERING_WORLD");
+ frame:RegisterEvent("AZERITE_ITEM_EXPERIENCE_CHANGED");
+ -- from FrameXML/MainMenuBar.lua
+ frame:SetScript("OnEnter", function(frame) frame.text:Show(); end);
+ frame:SetScript("OnLeave", function(frame) frame.text:Hide(); end);
+end);
+frame:RegisterEvent("PLAYER_LOGIN");