package co.za.langalibalele.fuelmanagement;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.google.android.material.button.MaterialButton;
import com.google.android.material.card.MaterialCardView;

import co.za.langalibalele.fuelmanagement.utils.SessionManager;

public class MainActivity extends AppCompatActivity {

    private SessionManager sessionManager;
    private TextView welcomeText;
    private MaterialCardView fuelManagementCard, dailyDefectsCard;
    private MaterialButton logoutButton;

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

        sessionManager = new SessionManager(this);

        // Check if logged in
        if (!sessionManager.isLoggedIn()) {
            navigateToLogin();
            return;
        }

        initViews();
        setupUI();
        setupListeners();
    }

    private void initViews() {
        welcomeText = findViewById(R.id.welcomeText);
        fuelManagementCard = findViewById(R.id.fuelManagementCard);
        dailyDefectsCard = findViewById(R.id.dailyDefectsCard);
        logoutButton = findViewById(R.id.logoutButton);
    }

    private void setupUI() {
        String driverName = sessionManager.getDriverName();
        welcomeText.setText("Welcome, " + driverName);
    }

    private void setupListeners() {
        fuelManagementCard.setOnClickListener(v -> {
            Intent intent = new Intent(MainActivity.this, FuelManagementActivity.class);
            startActivity(intent);
        });

        dailyDefectsCard.setOnClickListener(v -> {
            Intent intent = new Intent(MainActivity.this, DailyDefectsActivity.class);
            startActivity(intent);
        });

        logoutButton.setOnClickListener(v -> {
            sessionManager.logout();
            navigateToLogin();
        });
    }

    private void navigateToLogin() {
        Intent intent = new Intent(MainActivity.this, LoginActivity.class);
        startActivity(intent);
        finish();
    }
}
