#include <WiFi.h>
#include <ESPAsyncWebServer.h>

AsyncWebServer server(80);

const char* WIFI_SSID = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";

const int LED1 = 26;
const int LED2 = 27;
const int POT_PIN = 34;

int ledState = 0; // Variable para almacenar el estado del LED

void setLedState(int state) {
  ledState = state;
  digitalWrite(LED1, ledState);
  digitalWrite(LED2, ledState);
}

void handleLedState(AsyncWebServerRequest *request) {
  if (request->method() == HTTP_PUT) {
    String body = request->arg("plain");
    int newState = body.toInt();
    setLedState(newState);
    request->send(200, "text/plain", "OK");
  } else if (request->method() == HTTP_GET) {
    request->send(200, "text/plain", String(ledState));
  } else {
    request->send(400, "text/plain", "Bad Request");
  }
}

void setup() {
  Serial.begin(115200);

  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(POT_PIN, INPUT);

  // Inicializar el estado del LED
  setLedState(0);

  // Iniciar el servidor web
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) {
    delay(250);
  }

  Serial.println("");
  Serial.println("WiFi conectado");
  Serial.print("Dirección IP: ");
  Serial.println(WiFi.localIP());

  // Configurar rutas del servidor web
  server.on("/setLedState", HTTP_PUT, handleLedState);
  server.on("/getLedState", HTTP_GET, handleLedState);

  // Iniciar el servidor web
  server.begin();
  Serial.println("Servidor HTTP iniciado");
}

void loop() {
  // Tu código loop aquí (si es necesario)
}