#ifndef __screen_presets
#define __screen_presets

#include "include/screenids.h"
#include "./baseheightentry.h"
#include "../screen.h"
#include "../control.h"


/*
 * Presets screen
 *   Configures the presets.
 */
class PresetsScreen : public BaseHeightEntryScreen
{
  public:
    PresetsScreen(ScreenManager* screenManager, Adafruit_GFX* display) : BaseHeightEntryScreen(screenManager, display) { }

    ScreenId screenId() { return ScreenId::Presets; };

  protected:
    void initHeights();
    uint16_t getHeight() { return this->height[this->preset]; }
    void setHeight(uint16_t value);
    bool nextPage();

    bool isValidHeight() { return true; }
    const char* getTitle();

  private:
    uint8_t preset = 0;
    uint16_t height[2];
};

#endif
