Module:ElementAchievementBadges: Difference between revisions

// via Wikitext Extension for VSCode
// via Wikitext Extension for VSCode
Line 37: Line 37:
             end)
             end)
              
              
             -- Get all user achievements first
             -- Get all badge-type achievements using the centralized function
            local userAchievements = Achievements.getUserAchievements(pageId)
             local badgeAchievements = Achievements.getBadgeAchievements(pageId, frame)
           
            -- Filter for only badge type achievements
             local badgeAchievements = {}
            local types = Achievements.loadTypes(frame)
           
            -- Build a lookup table for achievement types
            local typeDefinitions = {}
            for _, typeData in ipairs(types) do
                if typeData.id and typeData.type then
                    typeDefinitions[typeData.id] = typeData
                end
            end
           
            -- Filter user achievements to only include badge types
            for _, achievement in ipairs(userAchievements) do
                local achType = achievement.type
                if achType and typeDefinitions[achType] and typeDefinitions[achType].type == "badge" then
                    -- Add achievement display name from type definition
                    achievement.name = typeDefinitions[achType].name or achType
                    table.insert(badgeAchievements, achievement)
                end
            end
              
              
             -- Minimal debug info for troubleshooting
             -- Minimal debug info for troubleshooting