package com.borjabolufer.elevate;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
  
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.util.Log;   

import androidx.appcompat.app.AppCompatActivity;

import com.borjabolufer.elevate.model.UsuarioDbHelper;
import com.borjabolufer.elevate.model.UsuarioEntity;   

public class LoginActivity extends AppCompatActivity {

    private static final String TAG = "LoginActivity";

    private EditText editEmail, editPassword;
    private Button btnLogin;

    private UsuarioDbHelper dbHelper;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_loging);

        editEmail = findViewById(R.id.editLoginEmail);
        editPassword = findViewById(R.id.editLoginPassword);
        btnLogin = findViewById(R.id.btnIniciarSesion);
        TextView textIrRegistro = findViewById(R.id.textIrRegistro);

        dbHelper = new UsuarioDbHelper(this);

        btnLogin.setOnClickListener(v -> {
            String email = editEmail.getText().toString().trim();
            String password = editPassword.getText().toString();

            if (email.isEmpty() || password.isEmpty()) {
                Toast.makeText(LoginActivity.this, "Por favor, completa todos los campos", Toast.LENGTH_SHORT).show();
                return;
            }

            Log.d(TAG, "Intentando iniciar sesión para el email: " + email);

            UsuarioEntity usuarioVerificado = dbHelper.verificarUsuario(email, password);

            if (usuarioVerificado != null) {
                Log.i(TAG, "Inicio de sesión exitoso para: " + email);
                Toast.makeText(LoginActivity.this, "Inicio de sesión exitoso", Toast.LENGTH_SHORT).show();
                SharedPreferences prefs = getSharedPreferences("ElevatePrefs", MODE_PRIVATE);
                prefs.edit().putString("user_email", email).apply();

                Intent intent = new Intent(LoginActivity.this, MainActivity.class);

                startActivity(intent);
                finish();
            } else {
                Log.w(TAG, "Fallo en el inicio de sesión para: " + email);
                Toast.makeText(LoginActivity.this, "Email o contraseña incorrectos", Toast.LENGTH_SHORT).show();
            }
        });

        textIrRegistro.setOnClickListener(v -> {
            Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
            startActivity(intent);
        });
    }
}
