package com.example.finzora;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

public class OnboardingAdapter extends RecyclerView.Adapter<OnboardingAdapter.ViewHolder> {

    // Títulos das páginas
    private final String[] titles = {
            "Bem-vindo ao Finase!",
            "Registe as Suas Transações",
            "Planeie o Seu Orçamento",
            "Visualize os Seus Dados",
            "Receba Dicas Personalizadas"
    };

    // Descrições das páginas
    private final String[] descriptions = {
            "A sua aplicação pessoal de gestão financeira. Controle as suas finanças de forma simples e intuitiva.",
            "Adicione receitas e despesas facilmente. Organize tudo por categorias para ter uma visão clara dos seus gastos.",
            "Defina limites e controle os gastos. Crie orçamentos mensais e receba alertas quando exceder os limites.",
            "Veja gráficos interativos com a distribuição dos seus gastos, tendências mensais e comparações detalhadas.",
            "Conselhos baseados nos seus hábitos. O Finase analisa os seus gastos e fornece dicas para melhorar a sua saúde financeira."
    };

    // Cores para os ícones (vamos usar círculos coloridos)
    private final int[] colors = {
            android.R.color.holo_blue_dark,    // Azul
            android.R.color.holo_green_dark,   // Verde
            android.R.color.holo_orange_dark,  // Laranja
            android.R.color.holo_purple,       // Roxo
            android.R.color.holo_red_dark      // Vermelho
    };

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.item_onboarding, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        // Configurar título e descrição
        holder.title.setText(titles[position]);
        holder.description.setText(descriptions[position]);

        // Criar um círculo colorido como "ícone"
        View circle = holder.itemView.findViewById(R.id.circleView);
        if (circle != null) {
            circle.setBackgroundColor(holder.itemView.getContext()
                    .getResources().getColor(colors[position]));
        }

        // Animação de entrada
        holder.itemView.setAlpha(0f);
        holder.itemView.setTranslationY(50f);
        holder.itemView.animate()
                .alpha(1f)
                .translationY(0f)
                .setDuration(500)
                .setStartDelay(position * 100L)
                .start();
    }

    @Override
    public int getItemCount() {
        return 5; // 5 páginas do tutorial
    }

    static class ViewHolder extends RecyclerView.ViewHolder {
        TextView title;
        TextView description;

        ViewHolder(View itemView) {
            super(itemView);
            title = itemView.findViewById(R.id.title);
            description = itemView.findViewById(R.id.description);
        }
    }
}