package com.example.cuida.ui.Inicial;

import android.content.Intent; // Importação necessária para o Intent
import android.os.Bundle;
import android.util.Patterns;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import com.example.cuida.R;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;

public class Esqueci_a_palavra_passe extends AppCompatActivity {
    private TextView tpTextView;
    private TextView tsTextView;
    private EditText emailEditText;
    private Button enviarButton;
    // Removi as variáveis não usadas 'voltarButtona
    private Button voltarParaOLoginButton;

    private FirebaseAuth mAuth;

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

        mAuth = FirebaseAuth.getInstance();

        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });

        // Inicialização dos componentes
        tpTextView = findViewById(R.id.tPTextView);
        voltarParaOLoginButton = findViewById(R.id.voltarParaOLoginButton);
        tsTextView = findViewById(R.id.tSTextView);
        emailEditText = findViewById(R.id.emailTextEdit);
        enviarButton = findViewById(R.id.enviarButton);

        // Lógica para o botão de enviar e-mail
        enviarButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                recuperarSenha();
            }
        });

        // --- CÓDIGO ADICIONADO AQUI ---
        // Lógica para o botão "Voltar para o Login"
        voltarParaOLoginButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Cria um Intent para ir da tela atual para a tela de login
                Intent intent = new Intent(Esqueci_a_palavra_passe.this, iniciar_sessao.class);
                startActivity(intent);
                finish(); // Fecha a tela atual para que o usuário não volte para ela ao clicar "Voltar"
            }
        });
    }

    private void recuperarSenha() {
        String email = emailEditText.getText().toString().trim();

        if (email.isEmpty()) {
            emailEditText.setError("O campo de e-mail é obrigatório.");
            emailEditText.requestFocus();
            return;
        }

        if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
            emailEditText.setError("Por favor, insira um e-mail válido.");
            emailEditText.requestFocus();
            return;
        }

        mAuth.sendPasswordResetEmail(email)
                .addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        if (task.isSuccessful()) {
                            Toast.makeText(Esqueci_a_palavra_passe.this,
                                    "E-mail de redefinição de senha enviado. Verifique a sua caixa de entrada.",
                                    Toast.LENGTH_LONG).show();
                            // Após enviar o e-mail, também podemos fechar a tela
                            finish();
                        } else {
                            Toast.makeText(Esqueci_a_palavra_passe.this,
                                    "Falha ao enviar e-mail. Verifique se o e-mail está correto e registado.",
                                    Toast.LENGTH_LONG).show();
                        }
                    }
                });
    }
}
