#pragma once
#include <cstdint>

enum class DisplayPage : uint8_t { OVERVIEW, CPU, MEMORY, DISK, NETWORK, PI, COUNT };

constexpr bool page_uses_server_state(DisplayPage page) {
    return page >= DisplayPage::OVERVIEW && page <= DisplayPage::NETWORK;
}

constexpr bool server_snapshot_needs_redraw(DisplayPage page, bool overlay) {
    return page_uses_server_state(page) && !overlay;
}

constexpr bool agent_snapshot_needs_redraw(DisplayPage page, bool overlay, bool changed) {
    return page == DisplayPage::PI && !overlay && changed;
}
