package fr.monkhanny.dorfromantik.gui;

import fr.monkhanny.dorfromantik.utils.FontManager;
import fr.monkhanny.dorfromantik.utils.ImageLoader;
import fr.monkhanny.dorfromantik.enums.Fonts;
import fr.monkhanny.dorfromantik.components.Title;
import fr.monkhanny.dorfromantik.Options;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

public class MainMenu extends JFrame {

    private Title titleLabel;
    private ButtonPanel buttonPanel;

    public MainMenu() {
        // Charger les polices pour le titre et les boutons
        FontManager.loadCustomFont(Fonts.TITLE);  // Charge la police pour le titre
        FontManager.loadCustomFont(Fonts.BUTTON); // Charge la police pour les boutons

        // Paramétrage de la fenêtre principale
        this.setTitle("Dorfromantik - Menu Principal");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        super.setIconImage(ImageLoader.APPLICATION_ICON);
        this.setMinimumSize(Options.MINIMUM_FRAME_SIZE);
        this.setSize(1200, 800);
        this.setLocationRelativeTo(null); // Centrer la fenêtre
        this.setLayout(new BorderLayout());

        // Arrière plan du menu principal
        JLabel background = new JLabel(new ImageIcon("./ressources/images/MainMenu/background.jpg"));
        background.setLayout(new BorderLayout());
        this.setContentPane(background);

        // Ajouter le titre en haut au centre
        this.titleLabel = new Title("Dorfromantik", Options.BASE_TITLE_FONT_SIZE);
        background.add(titleLabel, BorderLayout.NORTH);

        // Panneau des boutons avec style personnalisé
        this.buttonPanel = new ButtonPanel(Options.BASE_BUTTON_FONT_SIZE);
        background.add(buttonPanel, BorderLayout.WEST);

        setVisible(true);
    }

    public Title getTitleLabel() {
        return titleLabel;
    }

    public ButtonPanel getButtonPanel() {
        return buttonPanel;
    }
}
