package de.subway_surfers.vpr_app;

import RestAPISchnittstelle.IRestAPI;
import RestAPISchnittstelle.RestApiClient;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Accordion;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TitledPane;
import javafx.scene.layout.VBox;

import java.util.ArrayList;
import java.util.List;

public class BestelluebersichtMitarbeiter {

	@FXML
	private ScrollPane scrollPane;

	@FXML
	private Accordion accordion;

	/**
	 * Initialisiert die Bestellübersicht durch Erstellung eines Accordion mit TitledPanes für verschiedene Datumsangaben.
	 * Geschrieben von: Stefan Groß
	 */
	public void initialize() {

		List<String> datum = new ArrayList<>();

		//Placeholder für richtige Daten
		datum.add("15.10.2023");
		datum.add("23.12.2023");
		datum.add("05.01.2024");

		accordion.setStyle("-fx-box-border: transparent;");

		for (String i : datum) {
			Accordion gerichtAkkordion = createGerichtAkkordion();

			TitledPane datumUeberschrift = new TitledPane(i, gerichtAkkordion);

			datumUeberschrift.getStyleClass().add("titledPaneUeberschrift");
			datumUeberschrift.animatedProperty().set(false);
			datumUeberschrift.setPadding(new Insets(0, 0, 15, 0));

			accordion.getPanes().add(datumUeberschrift);
		}

		scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
		scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS);
	}

	/**
	 * Erstellt ein Accordion mit TitledPanes für die Bestellübersicht der Gerichte und Nachtische.
	 * Geschrieben von: Stefan Groß
	 */

	public Accordion createGerichtAkkordion() {
		Accordion accordion = new Accordion();

		//Placeholder für richtige Daten
		int anzahlGerichtB = 15;
		int anzahlGerichtC = 3;

		double preisGerichtB = 4.99;
		double preisGerichtC = 9.99;

		int anzahlNachtischA = 2;

		double preisNachtischA = 0.49;


		if (anzahlGerichtB >= 1) {
			TitledPane tp = new TitledPane();
			tp.setText("GerichtB " + anzahlGerichtB + "-Mal " + preisGerichtB * anzahlGerichtB + " €");
			accordion.getPanes().addAll(tp);

		}

		if (anzahlGerichtC >= 1) {
			TitledPane tp = new TitledPane();
			tp.setText("GerichtC " + anzahlGerichtC + "-Mal " + preisGerichtC * anzahlGerichtC + " €");
			accordion.getPanes().addAll(tp);
		}

		if (anzahlNachtischA >= 1) {
			TitledPane tp = new TitledPane();
			tp.setText("NachtischA " + anzahlNachtischA + "-Mal " + preisNachtischA * anzahlNachtischA + " €");
			accordion.getPanes().addAll(tp);
		}

		if (anzahlNachtischA >= 1) {

			Label label2 = new Label("Beispiel Eltern bestellen \"essen\" für Kind: Anja Arbeitslos");

			VBox vbox = new VBox(label2);
			vbox.setAlignment(Pos.CENTER_LEFT);

			TitledPane tp = new TitledPane("NachtischB " + "-Mal " + preisNachtischA * anzahlGerichtB + " €", vbox);

			accordion.getPanes().addAll(tp);
		}
		return accordion;
	}


	public void onAbmelden(ActionEvent event) {
		VerwaltungApplication.abmelden();
	}

	public void onZurueck(ActionEvent actionEvent) {
		VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
	}

}
