From cbf462d868a2f06293af70616044996569f31d42 Mon Sep 17 00:00:00 2001 From: Administrator Date: Wed, 7 Oct 2026 13:05:20 -0500 Subject: [PATCH] Actualizar frontend/src/components/ConfigModal.jsx --- frontend/src/components/ConfigModal.jsx | 111 ++++++++++++++++-------- 1 file changed, 73 insertions(+), 38 deletions(-) diff --git a/frontend/src/components/ConfigModal.jsx b/frontend/src/components/ConfigModal.jsx index d379cea..640b835 100644 --- a/frontend/src/components/ConfigModal.jsx +++ b/frontend/src/components/ConfigModal.jsx @@ -1117,58 +1117,93 @@ function SubirBase() { } const puede = plantillaSel && telefonos.length > 0 && !enviando; - const lbl = { fontSize: 12.5, fontWeight: 700, color: "#334155", marginBottom: 8, display: "block" }; - const card = { background: "#fff", border: "1px solid #e6eaf0", borderRadius: 12, padding: 16, marginBottom: 14 }; - const num = (n) => {n}; + // Estilos iguales a Plantillas (cards radius 14, step cuadrado, labels mayúscula) + const card = { background: "#fff", border: "1px solid #e6eaf0", borderRadius: 14, + padding: 20, boxShadow: "0 1px 3px rgba(15,23,42,.04)" }; + const cardHead = { display: "flex", alignItems: "center", gap: 10, marginBottom: 4 }; + const step = { width: 26, height: 26, borderRadius: 8, background: "#1e3a5f", color: "#fff", + display: "flex", alignItems: "center", justifyContent: "center", + fontSize: 13, fontWeight: 800, flexShrink: 0 }; + const cardTitle = { fontSize: 15, fontWeight: 700, color: "#0f172a" }; + const cardSub = { fontSize: 12.5, color: "#94a3b8", margin: "2px 0 14px 36px" }; + const fieldLabel = { fontSize: 12, fontWeight: 700, color: "#64748b", marginBottom: 7, + textTransform: "uppercase", letterSpacing: ".02em", display: "block" }; return ( -
-
- Sube un Excel con una columna TELEFONO (con código de país, ej. 51966319975). - A cada número se le crea el contacto, se le asignan las etiquetas y el asesor que elijas, y se le - envía la plantilla. Si el número no existe, se borra automáticamente (contacto y conversación). -
+
+ {/* PASO 1 — Plantilla + Asesor */}
- - ({ value: String(a.id), label: a.nombre }))]} - onChange={(v) => setAsesorSel(v)} - minWidth={200} /> +
+ 1 + Elige la plantilla y el asesor +
+
La plantilla se enviará a los números; el asesor se asignará a cada uno.
+
+
+ + ({ value: String(a.id), label: a.nombre }))]} + onChange={(v) => setAsesorSel(v)} + minWidth={0} /> +
+
{asesorSel === "SIN" && ( -
+
No se asignará ningún asesor. Si un número ya tenía asesor, se mantiene (no se quita).
)}
+ {/* PASO 2 — Etiquetas */}
- - - {archivo && ✓ {archivo} — {telefonos.length} número(s)} +
+ 2 + Etiquetas + + {etiqSel.length} seleccionada{etiqSel.length === 1 ? "" : "s"} + +
+
Se agregan a cada número (no borran las que ya tuviera). Puedes elegir varias.
+ + +
+ + {/* PASO 3 — Importar Excel */} +
+
+ 3 + Importar base +
+
+ Excel con una columna TELEFONO (con código de país, ej. 51966319975). + Si un número no existe, se borra automáticamente. +
+
+ + {archivo && ✓ {archivo} — {telefonos.length} número(s)} +
{resultado && (