package com.covalima.rekomendasaunaihan.ui.auth import android.content.Intent import android.os.Bundle import android.view.View import androidx.appcompat.app.AppCompatActivity import com.covalima.rekomendasaunaihan.MainActivity import com.covalima.rekomendasaunaihan.databinding.ActivityLoginBinding import com.covalima.rekomendasaunaihan.model.ApiResponse import com.covalima.rekomendasaunaihan.model.LoginRequest import com.covalima.rekomendasaunaihan.model.User import com.covalima.rekomendasaunaihan.network.ApiClient import com.covalima.rekomendasaunaihan.util.SessionManager import retrofit2.Call import retrofit2.Callback import retrofit2.Response class LoginActivity : AppCompatActivity() { private lateinit var binding: ActivityLoginBinding private lateinit var session: SessionManager override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityLoginBinding.inflate(layoutInflater) setContentView(binding.root) session = SessionManager(this) // Se user ona login antes, liu direta ba MainActivity if (session.isLoggedIn()) { goToMain() return } binding.btnLogin.setOnClickListener { doLogin() } binding.tvGoRegister.setOnClickListener { startActivity(Intent(this, RegisterActivity::class.java)) } } private fun doLogin() { val email = binding.etEmail.text.toString().trim() val password = binding.etPassword.text.toString() if (email.isEmpty() || password.isEmpty()) { showError("Favór hatama email no password") return } binding.progressBar.visibility = View.VISIBLE binding.btnLogin.isEnabled = false binding.tvError.visibility = View.GONE ApiClient.apiService.loginUser(LoginRequest(email, password)) .enqueue(object : Callback> { override fun onResponse(call: Call>, response: Response>) { binding.progressBar.visibility = View.GONE binding.btnLogin.isEnabled = true val body = response.body() if (body?.status == "success" && body.data != null) { session.saveUser(body.data) goToMain() } else { showError(body?.message ?: "Login falha") } } override fun onFailure(call: Call>, t: Throwable) { binding.progressBar.visibility = View.GONE binding.btnLogin.isEnabled = true showError("Konesaun falha: ${t.message}") } }) } private fun showError(msg: String) { binding.tvError.text = msg binding.tvError.visibility = View.VISIBLE } private fun goToMain() { startActivity(Intent(this, MainActivity::class.java)) finish() } }