package com.example.myapplication;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class LoginActivity extends AppCompatActivity {

    private EditText etEmail, etPassword;
    private Button btnLogin;
    private TextView tvGoToRegister;
    private DatabaseHelper db;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Oturum kontrolü
        SharedPreferences pref = getSharedPreferences("UserSession", Context.MODE_PRIVATE);
        if (pref.contains("userId")) {
            // Kullanıcı zaten giriş yapmış, direkt ana sayfaya git
            Intent intent = new Intent(LoginActivity.this, MainActivity.class);
            startActivity(intent);
            finish();
            return;
        }

        setContentView(R.layout.activity_login);

        db = new DatabaseHelper(this);

        etEmail = findViewById(R.id.etEmail);
        etPassword = findViewById(R.id.etPassword);
        btnLogin = findViewById(R.id.btnLogin);
        tvGoToRegister = findViewById(R.id.tvGoToRegister);

        // Giriş Yap butonu tıklama olayı
        btnLogin.setOnClickListener(v -> {
            String email = etEmail.getText().toString().trim();
            String password = etPassword.getText().toString().trim();

            if (email.isEmpty() || password.isEmpty()) {
                Toast.makeText(LoginActivity.this, "Lütfen tüm alanları doldurun!", Toast.LENGTH_SHORT).show();
                return;
            }

            // Veritabanı sorgusu
            boolean isSuccess = db.checkUser(email, password);
            if (isSuccess) {
                // Giriş başarılı, kullanıcının adını ve ID'sini çekip oturum aç
                Cursor cursor = db.getUser(email);
                if (cursor != null && cursor.moveToFirst()) {
                    int userId = cursor.getInt(0);
                    String name = cursor.getString(1);
                    String userEmail = cursor.getString(2);
                    cursor.close();

                    // Oturumu kaydet
                    SharedPreferences.Editor editor = pref.edit();
                    editor.putInt("userId", userId);
                    editor.putString("userName", name);
                    editor.putString("userEmail", userEmail);
                    editor.apply();

                    Toast.makeText(LoginActivity.this, "Giriş başarılı! Hoş geldin " + name + " 👋", Toast.LENGTH_SHORT).show();

                    // Ana sayfaya git
                    Intent intent = new Intent(LoginActivity.this, MainActivity.class);
                    startActivity(intent);
                    finish();
                } else {
                    if (cursor != null) cursor.close();
                    Toast.makeText(LoginActivity.this, "Kullanıcı bilgileri alınamadı!", Toast.LENGTH_SHORT).show();
                }
            } else {
                Toast.makeText(LoginActivity.this, "E-posta veya şifre hatalı!", Toast.LENGTH_SHORT).show();
            }
        });

        // Kayıt Ol yönlendirme
        tvGoToRegister.setOnClickListener(v -> {
            Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
            startActivity(intent);
        });
    }
}
