package com.rhinemann.project;

import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.formatter.IndexAxisValueFormatter;
import com.github.mikephil.charting.utils.ColorTemplate;

import java.util.ArrayList;

public class Graph extends AppCompatActivity {

    Button Home;
    BarChart chart;
    int[] Data;
    String[] labels = {
            "Фізика", "",
            "Математика", "",
            "Електро- та радіотехніка", "",
            "Техніка", "",
            "Хімія", "",
            "Біологія", "",
            "Медицина", "",
            "Географія", "",
            "Історія", "",
            "Філологія", "",
            "Мистецтво", "",
            "Педагогіка", "",
            "Психологія, філософія", "",
            "Бізнес", "",
            "Сфера обслуговувуння", "",
            "Військова справа", "",
            "Спорт", "",
    };

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

        chart = findViewById(R.id.Graph);

        ArrayList<BarEntry> barEntries = new ArrayList<>();

        Data = getIntent().getIntArrayExtra("profileAnswers");
        for (int i = 0; i < (Data != null ? Data.length : 0); i++) {
            barEntries.add(new BarEntry(i*2, Data[i]));
        }

        BarDataSet barDataSet = new BarDataSet(barEntries, "profileAnswers");
        barDataSet.setColors(ColorTemplate.MATERIAL_COLORS);
        barDataSet.setValueTextColor(Color.BLACK);
        barDataSet.setDrawValues(false);

        BarData barData = new BarData(barDataSet);

        XAxis xAxis = chart.getXAxis();

        xAxis.setYOffset(0f);
        xAxis.setXOffset(0f);
        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
        xAxis.setDrawGridLines(false);
        xAxis.setTextSize(16f);
        xAxis.setValueFormatter(new IndexAxisValueFormatter(labels));

        chart.setFitBars(true);
        chart.setDrawBarShadow(false);
        chart.setData(barData);
        chart.getDescription().setEnabled(false);
        chart.getLegend().setEnabled(false);
        chart.setVisibleXRangeMaximum(3.8f);
        chart.setScaleY(1f);
        chart.getAxisRight().setEnabled(false);
        chart.getAxisLeft().setEnabled(false);
        chart.setDrawGridBackground(false);

        Home = findViewById(R.id.home);

        Home.setOnClickListener(v -> {
            Intent intent = new Intent(Graph.this, HomeScreen.class);
            startActivity(intent);
        });
    }
}