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.ActivityRegisterBinding import com.covalima.rekomendasaunaihan.model.ApiResponse import com.covalima.rekomendasaunaihan.model.RegisterRequest 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 RegisterActivity : AppCompatActivity() { private lateinit var binding: ActivityRegisterBinding private lateinit var session: SessionManager override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityRegisterBinding.inflate(layoutInflater) setContentView(binding.root) session = SessionManager(this) binding.btnRegister.setOnClickListener { doRegister() } binding.tvGoLogin.setOnClickListener { finish() } } private fun doRegister() { val naran = binding.etNaran.text.toString().trim() val email = binding.etEmail.text.toString().trim() val password = binding.etPassword.text.toString() val konfirma = binding.etKonfirmaPassword.text.toString() if (naran.isEmpty() || email.isEmpty() || password.isEmpty()) { showError("Favór hatama informasaun hotu") return } if (password.length < 6) { showError("Password tenke iha karakter minimu 6") return } if (password != konfirma) { showError("Password no konfirmasaun la hanesan") return } binding.progressBar.visibility = View.VISIBLE binding.btnRegister.isEnabled = false binding.tvError.visibility = View.GONE ApiClient.apiService.registerUser(RegisterRequest(naran, email, password)) .enqueue(object : Callback> { override fun onResponse(call: Call>, response: Response>) { binding.progressBar.visibility = View.GONE binding.btnRegister.isEnabled = true val body = response.body() if (body?.status == "success" && body.data != null) { session.saveUser(body.data) startActivity(Intent(this@RegisterActivity, MainActivity::class.java)) finish() } else { showError(body?.message ?: "Rejistu falha") } } override fun onFailure(call: Call>, t: Throwable) { binding.progressBar.visibility = View.GONE binding.btnRegister.isEnabled = true showError("Konesaun falha: ${t.message}") } }) } private fun showError(msg: String) { binding.tvError.text = msg binding.tvError.visibility = View.VISIBLE } }