document.addEventListener("DOMContentLoaded", function () { // Récupérer les données du formulaire depuis l'URL const urlParams = new URLSearchParams(window.location.search); const formData = JSON.parse(decodeURIComponent(urlParams.get("data"))); // Afficher les informations du destinataire const recipientInfo = document.getElementById("recipientInfo"); recipientInfo.innerHTML = `

${formData.recipient_name}

${formData.recipient_address}

${formData.recipient_postal_code} ${formData.recipient_town}

${formData.recipient_country}

${ formData.recipient_vat_number ? `

TVA: ${formData.recipient_vat_number}

` : "" } `; // Afficher les détails de la facture const invoiceDetails = document.getElementById("invoiceDetails"); // Créer le contenu de base des détails let detailsHTML = `

Numéro de facture

${formData.invoice_number}

Date

${new Date().toLocaleDateString()}

Langue

${formData.language}

Montant Total

${formData.amount} ${formData.currency}

`; // Ajouter le tableau des lignes de facturation si présentes if (formData.items && formData.items.length > 0) { detailsHTML += `

Lignes de facturation

`; // Ajouter chaque ligne formData.items.forEach((item) => { detailsHTML += ` `; }); detailsHTML += `
Description Montant (${formData.currency})
${item.description} ${item.amount}
Total ${formData.amount}
`; } invoiceDetails.innerHTML = detailsHTML; // Mettre à jour les informations de paiement en fonction de la devise const paymentInfoDiv = document.querySelector( ".mt-8.border-t.pt-8 .space-y-2" ); if (paymentInfoDiv) { if (formData.currency === "CHF") { paymentInfoDiv.innerHTML = `

Banque: PostFinance SA, Berne, Suisse

IBAN: CH56 0900 0000 1527 2120 9

BIC/SWIFT: POFICHBEXXX

Titulaire: Robin Szymczak

`; } else { paymentInfoDiv.innerHTML = `

Banque: Wise, Bruxelles, Belgique

IBAN: BE22905094540247

BIC/SWIFT: TRWIBEB1XXX

Titulaire: Robin Szymczak

`; } } // Gérer la validation de la facture document .getElementById("validateInvoice") .addEventListener("click", async function () { try { console.log("Envoi des données à l'API:", formData); const response = await fetch("/api/invoices", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(formData), }); console.log("Réponse reçue:", response.status); if (response.ok) { const result = await response.json(); console.log("Facture créée avec succès:", result); alert("Facture créée avec succès !"); window.location.href = "/dashboard"; } else { const error = await response.json(); console.error("Erreur API:", error); alert( "Erreur lors de la création de la facture : " + (error.error || "Erreur inconnue") ); } } catch (error) { console.error("Erreur lors de la requête:", error); alert("Erreur lors de la création de la facture : " + error.message); } }); });