<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/gif" href="/Capture_d_écran_2024-12-01_141507-removebg-preview.png">
    <title>Choisir Méthode de Paiement Crypto</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

       
        body {
    font-family: 'Arial', sans-serif;
    color: #f0f0f0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow-x: hidden;
    position: relative;
    background-color: transparent; /* Aucune superposition blanche */
    margin: 0;
    background-color: #000; /* Fond noir */
}

.background-video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
     /* Réduction de la luminosité sans opacité */
}

        header {
    background-color: rgba(0, 0, 0, 0.8); /* Couleur d'arrière-plan avec transparence */
    color: white;
    padding: 20px;
    text-align: center;
    font-size: 2.5em;
    letter-spacing: 2px;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.4);
    margin-bottom: 10px; /* Ajoute un espace en bas */
}

/* Menu de navigation */
nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
    background-color: rgba(34, 34, 34, 0.8); /* Couleur d'arrière-plan avec transparence */
    padding: 15px 0;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.4);
    border-radius: 10px; /* Arrondi des coins */
    margin-top: 20px; /* Espace entre le header et la nav */
}

        nav ul li {
            margin: 0 20px;
        }

        nav ul li a {
            color: white;
            text-decoration: none;
            padding: 15px 25px;
            border-radius: 30px;
            transition: background-color 0.5s, transform 0.4s, box-shadow 0.4s;
        }

        nav ul li a:hover {
            background-color: #000000;
            box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.6);
            transform: translateY(-5px);
        }

        main {
            padding: 20px;
            max-width: 800px;
            margin: 50px auto; /* Centrer le contenu avec un espace en haut */
            background: rgba(173, 216, 230, 0.9); /* Fond bleu clair semi-transparent */
            border-radius: 10px; /* Coins arrondis */
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); /* Ombre portée */
            backdrop-filter: blur(10px); /* Flou en arrière-plan */
            animation: fadeIn 1.5s; /* Animation d'entrée */
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        h2 {
            color: #333; /* Couleur pour les titres */
            border-bottom: 2px solid #ccc; /* Ligne en bas des titres */
            padding-bottom: 5px;
            margin-bottom: 15px;
        }

        p {
            line-height: 1.6; /* Hauteur de ligne pour la lisibilité */
            margin-bottom: 15px;
            animation: fadeIn 2s; /* Animation pour les paragraphes */
            animation-delay: 0.5s; /* Délai pour les paragraphes */
            opacity: 0; /* Commence invisible */
            animation-fill-mode: forwards; /* Rester visible après l'animation */
        }

      
           /* Footer */
           footer {
            text-align: center;
            padding: 10px;
            color: white;
            background-color: #222222;
        }

        /* Message d'erreur */
        .error-message {
            color: red;
            background-color: rgba(255, 0, 0, 0.1);
            border: 1px solid red;
            padding: 10px;
            margin: 10px 0;
            display: none; /* Masqué par défaut */
        }

        /* Styles pour les boutons */
        .styled-button {
            background-color: #007bff; /* Couleur de fond par défaut */
            color: rgb(255, 255, 255);
            padding: 15px 30px;
            font-size: 1.2em;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-top: 20px;
            display: inline-block;
        }

        .styled-button:hover {
            background-color: #0056b3; /* Couleur de fond au survol */
            transform: scale(1.05);
        }

        .styled-button:disabled {
            background-color: #000000; /* Couleur lorsque le bouton est désactivé */
            cursor: not-allowed;
        }

        label {
            color: #000000; /* Couleur du texte pour les labels */
            display: block;
            margin: 10px 0;
        }

        .input-container {
            position: relative;
            margin: 20px 0;
        }

        input[type="number"], select {
            color: #000000; /* Couleur du texte pour les inputs */
            background-color: #88c3ff; /* Couleur de fond des inputs */
            border: 1px solid #007bff; /* Bordure du select */
            border-radius: 5px; /* Coins arrondis */
            padding: 10px; /* Espacement interne */
            width: 100%; /* Prendre toute la largeur */
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            transition: border-color 0.3s;
        }

        input[type="number"]:focus, select:focus {
            border-color: #0056b3; /* Changer la couleur de la bordure au focus */
            outline: none; /* Enlever le contour par défaut */
        }

        .crypto-address {
            color: #000000;
            margin-top: 20px;
            padding: 10px;
            background-color:rgba(131, 210, 255, 0.8); /* Transparence pour rester élégant */
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        /* Media queries pour adaptabilité */
        @media (max-width: 600px) {
            header {
                font-size: 2em; /* Taille de police réduite sur petits écrans */
            }

            main {
                margin: 20px; /* Réduire l'espace autour du contenu sur petits écrans */
                padding: 15px; /* Réduire le rembourrage à l'intérieur du contenu */
            }

            nav ul {
                flex-direction: column; /* Empiler les éléments du menu sur petits écrans */
            }

            nav ul li {
                margin: 10px 0; /* Espacement entre les éléments du menu */
            }
        }

       /* Styles pour le select */
select {
    color: #000000; /* Couleur du texte pour le select */
    background-color: #88c3ff; /* Couleur de fond du select */
    border: 1px solid #007bff; /* Bordure du select */
    border-radius: 5px; /* Coins arrondis */
    padding: 5px; /* Espacement interne */
    transition: background-color 0.3s, transform 0.3s; /* Ajoute une transition */
}

select:hover {
    background-color: #007bff; /* Change la couleur de fond au survol */
    transform: scale(1.05); /* Légère augmentation de la taille */
}

/* Animation pour les options */
option {
    transition: background-color 0.3s;
}

option:hover {
    background-color: rgba(0, 123, 255, 0.2); /* Couleur au survol pour les options */
}
/* Pour les petits écrans (mobiles) */
@media (max-width: 600px) {
    #reviews {
        flex-direction: column;
        align-items: center;
        justify-content: center; /* Centre les éléments */
    }

    .review-card {
        width: 100%; /* Occupation complète de l'espace */
        padding: 15px;
    }

    /* Ajuster la taille de l'image pour les petits écrans */
    .client-img {
        width: 60px;
        height: 60px;
    }

    /* Ajuster la taille du texte */
    .review-text {
        font-size: 0.9rem;
    }

    .client-name {
        font-size: 1.1rem;
    }

    #ratingText {
        font-size: 1rem;
    }

    /* Réduire la taille du titre sur mobile */
    h1 {
        font-size: 1.5rem; /* Ajuste la taille du titre */
        text-align: center; /* Centrer le titre */
        word-wrap: break-word; /* Éviter que le titre dépasse de l'écran */
        overflow-wrap: break-word; /* En cas de mots longs */
    }
}

/* Pour les écrans moyens (tablettes) */
@media (min-width: 601px) and (max-width: 1024px) {
    #reviews {
        justify-content: flex-start; /* Aligne les éléments sur le côté gauche pour maximiser l'espace */
    }

    .review-card {
        width: 45%;
    }

    .client-img {
        width: 70px;
        height: 70px;
    }

    .review-text {
        font-size: 1rem;
    }

    .client-name {
        font-size: 1.2rem;
    }

    /* Ajuster la taille du titre pour les tablettes */
    h1 {
        font-size: 2rem; /* Ajuster la taille pour les écrans moyens */
        text-align: center;
    }
}
    </style>
</head>
<body>
    <video class="background-video" autoplay muted loop>
        <source src="/bleuciel.mp4" type="video/mp4">
        Votre navigateur ne prend pas en charge la lecture de vidéos.
    </video>

    <header>
        <h1>Méthode de Paiement</h1>
        <nav>
            <ul>
                <li><a href="accueil.html">Accueil</a></li>
            </ul>
        </nav>
    </header>

    <main>
        <section class="payment-selection">
            <h2>Sélectionnez votre cryptomonnaie et le montant à payer</h2>
            <div class="input-container">
                <label for="amount">Montant à payer (minimum 200 €) :</label>
                <input type="number" id="amount" class="styled-input" min="200" placeholder="Entrez le montant" oninput="updateCryptoAmounts()">
            </div>

            <div class="input-container">
                <label for="cryptoMethod">Choisissez une cryptomonnaie :</label>
                <select id="cryptoMethod" class="styled-input" onchange="displayCryptoAddress()">
                    <option value="" disabled selected>Sélectionnez</option>
                    <option value="btc">Bitcoin (BTC)</option>
                    <option value="ltc">Litecoin (LTC)</option>
                    <option value="usdc">USD Coin (USDC)</option>
                </select>
            </div>

            <div id="cryptoAddress" class="crypto-address" style="display: none;">
                <p>Adresse de paiement : <span id="selectedCryptoAddress">Chargement...</span></p>
                <p>Montant à envoyer : <span id="cryptoAmount">Chargement...</span></p>
            </div>

            <div id="errorMessage" class="error-message"></div>

            <button class="styled-button" id="generateButton" onclick="getCryptoPrices()">Générer les prix</button>
            <button class="styled-button" id="payButton" onclick="proceedToPayment()" disabled>Valider et payer</button>
        </section>
    </main>

    <footer>
        <p>&copy; 2024 Tech PayPal. Tous droits réservés.</p>
    </footer>

    <script>
        const cryptoDetails = {
            btc: {
                address: 'bc1qguw8tmnkcr58ua2wvpylhm0ql5dclpmm3u2fcl',
                rate: 0,
            },
            ltc: {
                address: 'ltc1q55a8mkwgguplkx8qrms6scnaj3ztx5rra7xtx6',
                rate: 0,
            },
            usdc: {
                address: '0x03a9ba487FD79C1D7eC72ff8Ffafe2a5ff6C256D',
                rate: 1,
            }
        };

        function displayCryptoAddress() {
            const selectedCrypto = document.getElementById('cryptoMethod').value;
            const addressDiv = document.getElementById('cryptoAddress');
            const addressSpan = document.getElementById('selectedCryptoAddress');
            const amountSpan = document.getElementById('cryptoAmount');

            if (selectedCrypto && cryptoDetails[selectedCrypto]) {
                addressSpan.textContent = cryptoDetails[selectedCrypto].address;
                updateCryptoAmounts();  
                addressDiv.style.display = 'block';
                document.getElementById('payButton').disabled = false;  
            } else {
                addressDiv.style.display = 'none';
                document.getElementById('payButton').disabled = true;  
            }
        }

        function updateCryptoAmounts() {
            const selectedAmount = document.getElementById('amount').value;
            const selectedCrypto = document.getElementById('cryptoMethod').value;
            const amountSpan = document.getElementById('cryptoAmount');
            const errorMessage = document.getElementById('errorMessage');

            errorMessage.style.display = 'none'; // Réinitialiser le message d'erreur

            if (selectedCrypto && cryptoDetails[selectedCrypto].rate > 0 && selectedAmount >= 200) {
                const amountInCrypto = (selectedAmount / cryptoDetails[selectedCrypto].rate).toFixed(6);
                amountSpan.textContent = `${amountInCrypto} ${selectedCrypto.toUpperCase()}`;
                document.getElementById('payButton').disabled = false; // Activer le bouton de paiement
            } else if (selectedAmount < 200) {
                amountSpan.textContent = "Veuillez entrer un montant d'au moins 200 €.";
                document.getElementById('payButton').disabled = true; // Désactiver le bouton de paiement
            } else {
                amountSpan.textContent = "Chargement...";
            }
        }

        function getCryptoPrices() {
            fetch('https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,litecoin,usd-coin&vs_currencies=eur')
                .then(response => response.json())
                .then(data => {
                    cryptoDetails.btc.rate = data.bitcoin.eur;
                    cryptoDetails.ltc.rate = data.litecoin.eur;
                    cryptoDetails.usdc.rate = 1;

                    updateCryptoAmounts();
                })
                .catch(error => console.error('Erreur lors de la récupération des prix :', error));
        }

        window.onload = function() {
            getCryptoPrices(); // Appel initial pour obtenir les prix
            setInterval(getCryptoPrices, 60000); // Met à jour les prix toutes les minutes (60000 ms)
        };

        function proceedToPayment() {
            const selectedCrypto = document.getElementById('cryptoMethod').value;
            const selectedAmount = document.getElementById('amount').value;
            const cryptoAmount = document.getElementById('cryptoAmount').textContent;

            if (selectedCrypto && selectedAmount >= 200) {
                let recapPage = '';
                if (selectedCrypto === 'btc') {
                    recapPage = 'recap-bitcoin.html';
                } else if (selectedCrypto === 'ltc') {
                    recapPage = 'recap-litecoin.html';
                } else if (selectedCrypto === 'usdc') {
                    recapPage = 'recap-usdc.html';
                }

                window.location.href = `${recapPage}?amount=${selectedAmount}&cryptoAmount=${encodeURIComponent(cryptoAmount)}&crypto=${selectedCrypto}`;
            } else {
                const errorMessage = document.getElementById('errorMessage');
                errorMessage.textContent = "Veuillez sélectionner une cryptomonnaie et un montant supérieur ou égal à 200 €.";
                errorMessage.style.display = 'block'; // Affiche le message d'erreur
            }
        }

        document.getElementById('cryptoMethod').addEventListener('change', function() {
            const selectedOption = this.options[this.selectedIndex];
            selectedOption.style.backgroundColor = '#007bff'; // Change la couleur de fond de l'option sélectionnée
            selectedOption.style.color = 'white'; // Change la couleur du texte de l'option sélectionnée
        });
    </script>
</body>
</html>
