@@ -272,6 +272,22 @@ local function CreateInspectSlot(parent, slotInfo, index, anchorPoint, xOff, yOf
272272 ilvlText :SetTextColor (1 , 0.82 , 0 , 1 )
273273 btn .ilvlText = ilvlText
274274
275+ -- Enchant status indicator (top-left corner, shown when enchanted)
276+ local enchantIndicator = btn :CreateTexture (nil , " OVERLAY" , nil , 3 )
277+ enchantIndicator :SetSize (11 , 11 )
278+ enchantIndicator :SetPoint (" TOPLEFT" , 2 , - 2 )
279+ enchantIndicator :SetAtlas (" Professions-Icon-Quality-Tier3-Small" )
280+ enchantIndicator :Hide ()
281+ btn .enchantIndicator = enchantIndicator
282+
283+ -- Upgrade track text (top-right corner)
284+ local upgradeText = btn :CreateFontString (nil , " OVERLAY" )
285+ upgradeText :SetFont (STANDARD_TEXT_FONT , 9 , " OUTLINE" )
286+ upgradeText :SetPoint (" TOPRIGHT" , - 2 , - 4 )
287+ upgradeText :SetTextColor (1 , 0.82 , 0 , 1 )
288+ upgradeText :Hide ()
289+ btn .upgradeText = upgradeText
290+
275291 btn .sockets = {}
276292 for i = 1 , MAX_SOCKETS do
277293 local gem = btn :CreateTexture (nil , " OVERLAY" , nil , 2 )
@@ -807,6 +823,40 @@ local function UpdateSlot(btn, unit)
807823 end
808824 end
809825 end
826+
827+ -- Enchant status overlay
828+ btn .enchantIndicator :Hide ()
829+ if ns .db and ns .db .global and ns .db .global .showEnchantStatus and link then
830+ local enchantID = link :match (" item:%d+:(%d+)" )
831+ if enchantID and tonumber (enchantID ) > 0 then
832+ btn .enchantIndicator :Show ()
833+ end
834+ end
835+
836+ -- Upgrade track overlay
837+ btn .upgradeText :Hide ()
838+ if ns .db and ns .db .global and ns .db .global .showUpgradeTrack and link then
839+ if C_TooltipInfo and C_TooltipInfo .GetInventoryItem then
840+ local data = C_TooltipInfo .GetInventoryItem (unit , slotID )
841+ if data and data .lines then
842+ for _ , line in ipairs (data .lines ) do
843+ if line .leftText then
844+ local current , maximum = line .leftText :match (" (%d+)/(%d+)" )
845+ if current and maximum and line .leftText :lower ():find (" upgrade" ) then
846+ btn .upgradeText :SetText (current .. " /" .. maximum )
847+ if tonumber (current ) >= tonumber (maximum ) then
848+ btn .upgradeText :SetTextColor (0.0 , 1.0 , 0.0 , 1 )
849+ else
850+ btn .upgradeText :SetTextColor (1 , 0.82 , 0 , 1 )
851+ end
852+ btn .upgradeText :Show ()
853+ break
854+ end
855+ end
856+ end
857+ end
858+ end
859+ end
810860end
811861
812862local function UpdateAllSlots ()
0 commit comments