-
-
-
-
+
-
+ async function openEditor(scrapedId, provider) {
+ try {
+ const res = await fetch(`${API_URL}/providers/scraped`, { headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` }});
+ const data = await res.json();
+ const svc = data.services.find(s => s.id === scrapedId);
+ const raw = svc.raw_data;
+ const myMap = mappings.filter(m => m.provider === provider);
+
+ // Llenar el formulario del modal
+ document.getElementById('scrapedId').value = scrapedId;
+ document.getElementById('imp_name').value = raw[myMap.find(m => m.target_key === 'clientName')?.original_key] || "";
+ document.getElementById('imp_phone').value = raw[myMap.find(m => m.target_key === 'phone')?.original_key] || raw['Teléfono'] || "";
+ document.getElementById('imp_address').value = raw[myMap.find(m => m.target_key === 'address')?.original_key] || "";
+ document.getElementById('imp_ref').value = svc.service_ref;
+ document.getElementById('imp_company').value = raw[myMap.find(m => m.target_key === 'compania')?.original_key] || provider.toUpperCase();
+ document.getElementById('imp_description').value = raw[myMap.find(m => m.target_key === 'descripcion')?.original_key] || raw['Descripción'] || "";
+ document.getElementById('imp_urgent').value = (raw['Urgente'] === 'Sí').toString();
+
+ new bootstrap.Modal(document.getElementById('editImportModal')).show();
+ } catch (e) { alert("No se pudo abrir el editor."); }
+ }
+
+ async function saveToCRM() {
+ const id = document.getElementById('scrapedId').value;
+ const payload = {
+ name: document.getElementById('imp_name').value,
+ phone: document.getElementById('imp_phone').value,
+ address: document.getElementById('imp_address').value,
+ description: document.getElementById('imp_description').value,
+ company_ref: document.getElementById('imp_ref').value,
+ is_urgent: document.getElementById('imp_urgent').value === 'true'
+ };
+
+ try {
+ const res = await fetch(`${API_URL}/providers/import/${id}`, {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${localStorage.getItem('token')}` },
+ body: JSON.stringify(payload)
+ });
+
+ if ((await res.json()).ok) {
+ bootstrap.Modal.getInstance(document.getElementById('editImportModal')).hide();
+ loadInbox();
+ alert("✅ ¡Servicio creado correctamente en el CRM!");
+ }
+ } catch (e) { alert("Error al importar al CRM."); }
+ }
+
+ document.addEventListener('DOMContentLoaded', loadInbox);
+