Module:DropsLineTest: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 6: Line 6:
     local output = {}
     local output = {}


 
    -- Add the input number
    table.insert(output, "\" | 1/" .. inputNumber)


     -- Define color ranges
     -- Calculate percentages and choose color based on the percentage
     local colorRanges = {
     local percentages = {0.85, 0.75, 0.70, 0.65, 0.60} -- Percentages
        {1, 25, "#00FF00"},  -- Green for 1-25
    local colors = {"#ff9999", "#7aa7ff", "#d699ff", "#fff59e", "#b3f1ff"} -- Corresponding colors
        {26, 100, "#FFFF00"}, -- Yellow for 26-100
      
        {101, 1000, "#FFA500"} -- Orange for 101-1000
     for i, percent in ipairs(percentages) do
     }
         local value = math.floor(inputNumber * percent)
 
         local color = colors[i]
    -- Determine color based on input number
         table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. value)
    local color = "#FF0000" -- Default to red if not in specified ranges
     for _, range in ipairs(colorRanges) do
         local min, max, rangeColor = unpack(range)
         if inputNumber >= min and inputNumber <= max then
            color = rangeColor
            break
         end
     end
     end
   
    -- Add the input number
    table.insert(output, "style=\"background-color: " .. color .. " | 1/" .. inputNumber)
    -- Add output with chosen color
    table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. (inputNumber * 0.85)) -- 10%
    table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. (inputNumber * 0.75)) -- 10%
   
   
      
      
     return table.concat(output, '\n')
     return table.concat(output, '\n')

Latest revision as of 17:59, 7 May 2024

Documentation for this module may be created at Module:DropsLineTest/doc

local p = {}

-- Define a function to generate output numbers based on the input
function p.generateOutput(frame)
    local inputNumber = tonumber(frame.args[1]) or 0
    local output = {}

    -- Add the input number
    table.insert(output, "\" | 1/" .. inputNumber)

    -- Calculate percentages and choose color based on the percentage
    local percentages = {0.85, 0.75, 0.70, 0.65, 0.60} -- Percentages
    local colors = {"#ff9999", "#7aa7ff", "#d699ff", "#fff59e", "#b3f1ff"} -- Corresponding colors
    
    for i, percent in ipairs(percentages) do
        local value = math.floor(inputNumber * percent)
        local color = colors[i]
        table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. value)
    end
    
    return table.concat(output, '\n')
end

return p