#pragma once

#include "console_channel.h"

#include <string>

namespace dragonx {
namespace ui {

struct ConsoleOutputFilter {
    std::string text;
    bool daemonMessagesEnabled = true;   // Daemon + Xmrig (node log) channels
    bool errorsOnly = false;             // keep only the Error channel
    bool rpcTraceEnabled = false;        // Rpc channel
    bool appMessagesEnabled = true;      // App channel
};

// Whether a line with the given channel + text passes the active filter.
bool consoleLinePassesFilter(const std::string& lineText,
                             ConsoleChannel channel,
                             const ConsoleOutputFilter& filter);

} // namespace ui
} // namespace dragonx
