From d8361010306572eac5259cb02bb5f98411940670 Mon Sep 17 00:00:00 2001 From: "[oceane]" <[e21497@eps-marche.be]> Date: Sat, 28 Feb 2026 17:11:02 +0100 Subject: [PATCH] =?utf8?q?mise=20=C3=A0=20jour=20du=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Wallette/web/script.js | 71 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 69 insertions(+), 2 deletions(-) diff --git a/Wallette/web/script.js b/Wallette/web/script.js index 8e7e31e..b820286 100644 --- a/Wallette/web/script.js +++ b/Wallette/web/script.js @@ -6,14 +6,72 @@ import { isConnected } from './socketService.js'; +const SERVER_URL = 'http://localhost:3000'; + // Exemple : récupérer un userId (ici exemple statique, adapte-toi) const userId = 'user-123'; // Connecter automatiquement à l'ouverture connectToAlerts(userId); + +//function api + +// Charger historique alertes +async function loadAlertHistory() { + try { + const res = await fetch(`${SERVER_URL}/api/alerts/history?userId=${userId}`); + const data = await res.json(); + + data.forEach(alert => { + // on réutilise EXACTEMENT la même logique que socket + handleAlert(alert); + }); + + } catch (err) { + console.error("Erreur historique alertes :", err); + } +} + +// Charger prix actuel +async function loadCurrentPrice(pair = "BTC/EUR") { + try { + const res = await fetch(`${SERVER_URL}/api/prices/current?pair=${pair}`); + const data = await res.json(); + + const priceEl = document.getElementById("price"); + if (priceEl && data.price !== undefined) { + const currency = pair.includes("USD") ? "USD" : "EUR"; + priceEl.textContent = Number(data.price).toLocaleString('fr-FR', { + style: 'currency', + currency: currency + }); + } + + } catch (err) { + console.error("Erreur prix actuel :", err); + } +} + +// Charger wallet utilisateur +async function loadWallet() { + try { + const res = await fetch(`${SERVER_URL}/api/wallet/${userId}`); + const data = await res.json(); + + const balanceEl = document.getElementById("balance"); + if (balanceEl && data.balance !== undefined) { + balanceEl.textContent = data.balance + " BTC"; + } + + } catch (err) { + console.error("Erreur wallet :", err); + } +} + // Quand une alerte arrive, l'ajouter dans la liste #alertList -onAlert(function(alert) { +function handleIncomingAlert(alert) { + console.log('Nouvelle alerte reçue dans main.js :', alert); const list = document.getElementById('alertList'); @@ -131,10 +189,19 @@ onAlert(function(alert) { } - // Préfixer pour voir les nouvelles alertes en haut + // Préfixer pour voir les nouvelles alertes en haut list.prepend(li); +} + +// Socket temps réel +onAlert(function(alert) { + handleIncomingAlert(alert); }); +loadAlertHistory(); +loadCurrentPrice(); +loadWallet(); + // Déconnexion propre à la fermeture de la page window.addEventListener('beforeunload', () => { if (isConnected()) { -- 2.50.1