From 107138ee7c5e1d7e8b454b368483d073232b0f28 Mon Sep 17 00:00:00 2001 From: Cedric Date: Mon, 22 Jun 2026 10:46:33 +0200 Subject: [PATCH] Actualiser js/admin.js --- js/admin.js | 57 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 9 deletions(-) diff --git a/js/admin.js b/js/admin.js index 88062d2..7e14646 100644 --- a/js/admin.js +++ b/js/admin.js @@ -392,9 +392,6 @@ async function openConfigModal() { // Réinitialise les placeholders document.getElementById('tmdb-key-input').placeholder = 'Pour les critiques (réalisateur, streaming)'; - document.getElementById('worldcat-key-input').placeholder = 'Recherche par EAN/ISBN (Vidéothèque)'; - document.getElementById('amazon-key-input').placeholder = 'Recherche par code-barres (Vidéothèque)'; - document.getElementById('ebay-key-input').placeholder = 'Recherche par code-barres (Vidéothèque)'; try { const res = await fetch(`${API_URL}?action=get_config_keys`, { @@ -402,9 +399,6 @@ async function openConfigModal() { }); const data = await res.json(); if (data.tmdb_api_key) document.getElementById('tmdb-key-input').placeholder = '✅ Clé configurée (laisser vide pour ne pas changer)'; - if (data.worldcat_api_key) document.getElementById('worldcat-key-input').placeholder = '✅ Clé configurée (laisser vide pour ne pas changer)'; - if (data.amazon_api_key) document.getElementById('amazon-key-input').placeholder = '✅ Clé configurée (laisser vide pour ne pas changer)'; - if (data.ebay_api_key) document.getElementById('ebay-key-input').placeholder = '✅ Clé configurée (laisser vide pour ne pas changer)'; } catch(e) { console.error(e); } } function closeConfigModal() { document.getElementById('config-modal').classList.remove('open'); } @@ -495,9 +489,6 @@ async function handleCsvUpload(input) { async function saveConfigKeys() { const keys = { 'tmdb_api_key': document.getElementById('tmdb-key-input')?.value || '', - 'worldcat_api_key': document.getElementById('worldcat-key-input')?.value || '', - 'amazon_api_key': document.getElementById('amazon-key-input')?.value || '', - 'ebay_api_key': document.getElementById('ebay-key-input')?.value || '' }; let successCount = 0; @@ -571,4 +562,52 @@ function updateProgressModal(current, total) { function closeProgressModal() { document.getElementById('progress-overlay').classList.remove('open'); +} + +// --- NOUVELLE FONCTION RECHERCHE EAN (UPCitemDB + TMDB) --- +async function fetchInfoFromEAN() { + const eanInput = document.getElementById('f-ean'); + const ean = eanInput.value.trim(); + + if (!ean || ean.length < 8) { + alert("Veuillez saisir un code EAN valide."); + return; + } + + // Feedback visuel de chargement + const btn = eanInput.nextElementSibling; + const originalHtml = btn.innerHTML; + btn.innerHTML = ''; + btn.disabled = true; + + try { + const res = await fetch(`${API_URL}?action=search_ean_full&ean=${ean}`, { + headers: { 'Authorization': localStorage.getItem('token') } + }); + const json = await res.json(); + + if (json.success && json.data) { + const d = json.data; + // Remplissage automatique des champs + if (d.title) document.getElementById('f-title').value = d.title; + if (d.director) document.getElementById('f-director').value = d.director; + if (d.year) document.getElementById('f-year').value = d.year; + if (d.poster) document.getElementById('f-poster').value = d.poster; + if (d.publisher) document.getElementById('f-publisher').value = d.publisher; + if (d.format) document.getElementById('f-format').value = d.format; + if (d.length) document.getElementById('f-length').value = d.length; + if (d.number_of_discs) document.getElementById('f-discs').value = d.number_of_discs; + if (d.aspect_ratio) document.getElementById('f-aspect').value = d.aspect_ratio; + + } else { + alert("Aucune information trouvée pour ce code EAN."); + } + } catch (e) { + console.error("Erreur de recherche EAN:", e); + alert("Erreur réseau lors de la recherche du code EAN."); + } finally { + // Restaure le bouton + btn.innerHTML = originalHtml; + btn.disabled = false; + } } \ No newline at end of file