#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include "GyverButton.h"

GButton butt1(3);
GButton butt2(2);

U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* clock=*/ 5, /* data=*/ 4, /* reset=*/ U8X8_PIN_NONE);

struct Logger {
  u8 current = 0;
  char rows[3][20];
};

Logger logs;

void log(char *msg) {
  logs.current = (logs.current + 1) % 3;
  strcpy(logs.rows[logs.current], msg);
}

void print_logs() {
  u8g2.setFont(u8g2_font_6x12_me);
  u8g2.drawStr(0, 7, logs.rows[logs.current]);
  u8g2.drawStr(0, 17, logs.rows[(logs.current + 2) % 3]);
  u8g2.drawStr(0, 27, logs.rows[(logs.current + 1) % 3]);
}

void setup() {
  Serial.begin(9600);
  u8g2.begin();

  butt1.setType(HIGH_PULL);
  butt2.setType(HIGH_PULL);

  log("Hello");
}

void loop() {
  butt1.tick();
  butt2.tick();

  if (butt1.isClick()) {
    // sleep_delay = SLEEPING_DELAY + millis();
    log("Click 1");
  };

  if (butt2.isClick()) {
    // sleep_delay = SLEEPING_DELAY + millis();
    log("Click 2");
  };

  u8g2.clearBuffer();

  print_logs();

  u8g2.sendBuffer();
  delay(10);
}