text Untitled 18 views

-- ==========================================
-- SMART GLASSES HUD
-- Modulo de notificacoes
-- ==========================================

local notifications = {}

function notifications.init(context)
    context.data.notifications = {}
    print("Modulo de notificacoes iniciado!")
end

function notifications.add(context, mensagem, tipo)
    if not context.config.notifications.enabled then
        return
    end

    local lista = context.data.notifications

    lista[#lista + 1] = {
        message = tostring(mensagem),
        type = tipo or "info",
        createdAt = os.clock()
    }

    local limite = context.config.notifications.maxVisible

    while #lista > limite do
        table.remove(lista, 1)
    end
end

function notifications.update(context)
    local lista = context.data.notifications
    local duracao = context.config.notifications.duration
    local agora = os.clock()

    for i = #lista, 1, -1 do
        local item = lista[i]

        if agora - item.createdAt >= duracao then
            table.remove(lista, i)
        end
    end
end

return notifications