rednet.open("top")
m = peripheral.wrap("right")

function resetMonitor()
    m.setTextScale(1)
    m.setTextColor(colors.white)
    m.setBackgroundColor(colors.black)
    m.clear()
    m.setCursorPos(1, 1)
end



width, height = m.getSize()

local MAX_BAR_WIDTH = width - 2  -- dostępna szerokość paska

while true do
    local id, message = rednet.receive()
    if message.type == "energyCore" then
        print("Displaying")
        resetMonitor()
        local energyPercent = message.energyPercent
        
        -- Wyświetl procent
        m.setCursorPos(2, 2)
        m.setBackgroundColor(colors.black)
        m.write("Energia: ")
        m.write(energyPercent .. "%")
        
        -- Wyczyść pasek (szare tło)
        m.setCursorPos(2, 4)
        m.setBackgroundColor(colors.gray)
        m.write(string.rep(" ", MAX_BAR_WIDTH))
        
        -- Rysuj zielony pasek proporcjonalnie do procentów
        local barLength = math.floor((energyPercent / 100) * MAX_BAR_WIDTH)
        m.setCursorPos(2, 4)
        m.setBackgroundColor(colors.green)
        m.write(string.rep(" ", barLength))

        m.setTextScale(1)
    end
end

-- m.setCursorPos(2, 2)
-- m.write("Energia: ")
-- m.write(barery .. "%")
-- m.setCursorPos(2, 4)
-- m.setBackgroundColor(colors.red)
-- for i = 1, width - 2 do
--     m.write(" ")
-- end
-- 
-- print("Szerokosc: " .. width)
-- print("Wysokosc: " .. height)