<script type="module" defer>
        // Importer le SDK Firebase
        import { initializeApp } from "https://www.gstatic.com/firebasejs/9.6.10/firebase-app.js";
        import { getFirestore, doc, setDoc, getDocs, collection } from "https://www.gstatic.com/firebasejs/9.6.10/firebase-firestore.js";

        const firebaseConfig = {
            apiKey: "AIzaSyCPMU6WMvVaX7wp4jRFdJTyBvqzMOKXO4k",
            authDomain: "qrcode-40207.firebaseapp.com",
            projectId: "qrcode-40207",
            storageBucket: "qrcode-40207.appspot.com",
            messagingSenderId: "327102074514",
            appId: "1:327102074514:web:765b10a7b16624194aa04b",
            measurementId: "G-9G0TRYQFEY"
        };

        // Initialiser Firebase
        const app = initializeApp(firebaseConfig);
        const db = getFirestore(app);

        let isAdmin = false;

        // Fonction pour vérifier le mot de passe
        window.checkPassword = function() {
            const passwordInput = document.getElementById('password').value;
            const password = "fPM0Xw7sgohUiy6g"; // Change par ton mot de passe

            if (passwordInput === password) {
                isAdmin = true;
                document.getElementById('adminSection').style.display = 'block'; // Afficher la section admin
                document.getElementById('passwordForm').style.display = 'none'; // Cacher le formulaire de mot de passe
            } else {
                alert('Mot de passe incorrect.');
            }
        };

        // Fonction pour afficher la liste des QR codes
        async function afficherListeData() {
            const listeData = document.getElementById('dataList');
            listeData.innerHTML = '<h2>QR Codes Générés</h2>';

            try {
                const snapshot = await getDocs(collection(db, 'qrcodes'));
                snapshot.forEach(doc => {
                    const data = doc.data();
                    const itemListe = document.createElement('div');
                    itemListe.className = 'list-item';

                    itemListe.innerHTML = `
                        <p><strong>Lien réel :</strong> <a href="${data.link}" target="_blank">${data.link}</a></p>
                        <p><strong>Compteur de scans :</strong> ${data.scanCount}</p>
                        <img src="${data.qrCodeLink}" alt="Aperçu QR Code" style="width: 100px; height: 100px; cursor: pointer;">
                    `;
                    listeData.appendChild(itemListe);
                });
            } catch (error) {
                console.error("Erreur lors de la récupération des données depuis Firestore:", error);
            }
        }

        // Fonction pour générer un QR Code
        document.getElementById('generateQR').addEventListener('click', async () => {
            if (!isAdmin) {
                alert("Vous devez être administrateur pour générer un QR code.");
                return;
            }

            const lienInput = document.getElementById('googleLink');
            const lien = lienInput.value;
            if (!lien) {
                alert('Veuillez entrer un lien valide.');
                return;
            }

            const docId = `qr_${Date.now()}`;
            const qrCodeUrl = `https://qrcode-40207.web.app/scan.html?docId=${docId}`;

            const conteneurQR = document.getElementById('qrcode');
            conteneurQR.innerHTML = '';

            try {
                const qrCode = new QRCode(conteneurQR, {
                    text: qrCodeUrl,
                    width: 200,
                    height: 200
                });

                setTimeout(async () => {
                    const qrCodeImage = conteneurQR.querySelector('img').src;
                    await setDoc(doc(db, 'qrcodes', docId), {
                        link: lien,
                        qrCodeLink: qrCodeImage,
                        scanCount: 0
                    });
                    conteneurQR.style.display = 'block';
                    afficherListeData();
                }, 500);
            } catch (error) {
                console.error("Erreur lors de la génération du QR code ou de la sauvegarde dans Firestore :", error);
            }
        });

        // Charger la liste des QR codes lors du chargement de la page
        afficherListeData();
    </script>