package fr.iutfbleau.projet;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.URL;

public class AppGalerie extends JFrame implements MouseListener {

    // 1) Chemins DANS LE JAR (=> classpath)
    private String[] listeImage = {
        "images/image1.png",
        "images/image2.png",
        "images/image4.png"
    };
    private int indexImage = 0;

    private JPanel panneau = new JPanel(new BorderLayout());
    private JLabel etiquetteImage = new JLabel();

    public AppGalerie() {
        super("Confirmation");

        etiquetteImage.setHorizontalAlignment(SwingConstants.CENTER);
        etiquetteImage.setIcon(chargerIcone(listeImage[indexImage]));  // <-- ICI

        panneau.add(etiquetteImage, BorderLayout.CENTER);
        panneau.addMouseListener(this);

        setContentPane(panneau);
        setSize(800, 600);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    // === MouseListener ===
    @Override public void mouseClicked(MouseEvent e) {
        int largeurPanel = panneau.getWidth();
        if (e.getX() >= largeurPanel / 2) imageSuivante();
        else imagePrecedente();
    }
    @Override public void mousePressed(MouseEvent e) {}
    @Override public void mouseReleased(MouseEvent e) {}
    @Override public void mouseEntered(MouseEvent e) {}
    @Override public void mouseExited(MouseEvent e) {}

    // === Navigation ===
    private void imageSuivante() {
        indexImage = (indexImage + 1) % listeImage.length;
        etiquetteImage.setIcon(chargerIcone(listeImage[indexImage]));  // <-- ICI
    }
    private void imagePrecedente() {
        indexImage = (indexImage - 1 + listeImage.length) % listeImage.length;
        etiquetteImage.setIcon(chargerIcone(listeImage[indexImage]));  // <-- ICI
    }

    // === CHARGEMENT VIA CLASSPATH ===
    private ImageIcon chargerIcone(String cheminDansJar) {
        URL url = getClass().getClassLoader().getResource(cheminDansJar);
        if (url == null) {
            // debug utile si un nom est faux
            throw new IllegalArgumentException("Ressource introuvable: " + cheminDansJar);
        }
        return new ImageIcon(url);
    }

    public static void main(String[] args) {
        AppGalerie test = new AppGalerie();

        test.setVisible(true);
    }
}
