Cambios de terminología:

📝 Selector de modo (admin):
 "Modo IA" →  "Modo de Asistencia"
 "Sin IA - Control manual total" →  "Manual - Control total del operario"
 "IA Asistida - Sugerencias en fotos" →  "Asistido - Sugerencias automáticas"
 "IA Completa - Análisis automático" →  "Automático - Análisis completo"
📋 Descripciones:
 "Sin IA: El mecánico completa..." →  "Modo Manual: El operario completa..."
 "IA Asistida: Cuando se suben fotos, la IA analiza..." →  "Modo Asistido: ...el sistema analiza..."
 "IA Completa: El mecánico solo toma fotos y la IA responde..." →  "Modo Automático: ...el sistema responde..."
 "Requiere OPENAI_API_KEY configurada" →  "Requiere configuración de API externa"
🔍 Durante inspección:
 "🤖 Análisis IA disponible" →  "🤖 Análisis automático disponible"
💬 En observaciones/comentarios:
 "🤖 Análisis IA (98% confianza):" →  "Análisis Automático (98% confianza):"
 "🤖 Análisis IA:" →  "Análisis Automático:"
 "🤖 Análisis IA de X imágenes:" →  "Análisis Automático de X imágenes:"
🎯 Resultado:
Los mecánicos ahora ven:

"Asistente automático" en lugar de "Inteligencia Artificial"
"Sistema" en lugar de "IA"
"Análisis automático" en lugar de "Análisis IA"
Terminología más neutral y profesional
Frontend actualizado a v1.0.78
This commit is contained in:
2025-11-27 18:31:15 -03:00
parent 14b3376a4a
commit 4e70f1f9b0
2 changed files with 16 additions and 16 deletions

View File

@@ -1,7 +1,7 @@
{ {
"name": "checklist-frontend", "name": "checklist-frontend",
"private": true, "private": true,
"version": "1.0.77", "version": "1.0.78",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

@@ -2540,38 +2540,38 @@ function ChecklistsTab({ checklists, user, onChecklistCreated, onStartInspection
<div> <div>
<label className="block text-sm font-medium text-gray-700 mb-2"> <label className="block text-sm font-medium text-gray-700 mb-2">
Modo IA Modo de Asistencia
</label> </label>
<select <select
value={formData.ai_mode} value={formData.ai_mode}
onChange={(e) => setFormData({ ...formData, ai_mode: e.target.value })} onChange={(e) => setFormData({ ...formData, ai_mode: e.target.value })}
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent" className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
> >
<option value="off">🚫 Sin IA - Control manual total</option> <option value="off">🚫 Manual - Control total del operario</option>
<option value="assisted">🤝 IA Asistida - Sugerencias en fotos</option> <option value="assisted">🤝 Asistido - Sugerencias automáticas</option>
<option value="full">🤖 IA Completa - Análisis automático</option> <option value="full">🤖 Automático - Análisis completo</option>
</select> </select>
{/* Descripción del modo seleccionado */} {/* Descripción del modo seleccionado */}
<div className="mt-3 p-3 bg-blue-50 border border-blue-200 rounded-lg"> <div className="mt-3 p-3 bg-blue-50 border border-blue-200 rounded-lg">
{formData.ai_mode === 'off' && ( {formData.ai_mode === 'off' && (
<div className="text-sm text-blue-800"> <div className="text-sm text-blue-800">
<strong>Sin IA:</strong> El mecánico completa manualmente todas las respuestas. <strong>Modo Manual:</strong> El operario completa manualmente todas las respuestas.
Sin dependencia de internet o API. Sin dependencia de internet o sistemas externos.
</div> </div>
)} )}
{formData.ai_mode === 'assisted' && ( {formData.ai_mode === 'assisted' && (
<div className="text-sm text-blue-800"> <div className="text-sm text-blue-800">
<strong>IA Asistida:</strong> Cuando se suben fotos, la IA analiza y sugiere <strong>Modo Asistido:</strong> Cuando se suben fotos, el sistema analiza y sugiere
estado, criticidad y observaciones. El mecánico acepta o modifica. estado, criticidad y observaciones. El operario acepta o modifica.
<div className="mt-1 text-xs"> Requiere OPENAI_API_KEY configurada</div> <div className="mt-1 text-xs"> Requiere configuración de API externa</div>
</div> </div>
)} )}
{formData.ai_mode === 'full' && ( {formData.ai_mode === 'full' && (
<div className="text-sm text-blue-800"> <div className="text-sm text-blue-800">
<strong>IA Completa:</strong> El mecánico solo toma fotos y la IA responde <strong>Modo Automático:</strong> El operario solo toma fotos y el sistema responde
automáticamente todas las preguntas. Ideal para inspecciones rápidas masivas. automáticamente todas las preguntas. Ideal para inspecciones rápidas masivas.
<div className="mt-1 text-xs"> Requiere OPENAI_API_KEY configurada</div> <div className="mt-1 text-xs"> Requiere configuración de API externa</div>
</div> </div>
)} )}
</div> </div>
@@ -4345,18 +4345,18 @@ function InspectionModal({ checklist, user, onClose, onComplete }) {
const confidence = analysis.confidence || 0.7 const confidence = analysis.confidence || 0.7
// Build observations text // Build observations text
observationsText = `🤖 Análisis IA (${(confidence * 100).toFixed(0)}% confianza):\n${observations}` observationsText = `Análisis Automático (${(confidence * 100).toFixed(0)}% confianza):\n${observations}`
if (recommendation) { if (recommendation) {
observationsText += `\n\n💡 Recomendación: ${recommendation}` observationsText += `\n\n💡 Recomendación: ${recommendation}`
} }
worstStatus = status worstStatus = status
} else if (typeof analysis === 'string') { } else if (typeof analysis === 'string') {
observationsText = `🤖 Análisis IA:\n${analysis}` observationsText = `Análisis Automático:\n${analysis}`
} }
} else { } else {
// Multiple images - summarize all analyses // Multiple images - summarize all analyses
console.log('📊 Resumen de', analyses.length, 'análisis:') console.log('📊 Resumen de', analyses.length, 'análisis:')
observationsText = `🤖 Análisis IA de ${analyses.length} imágenes:\n\n` observationsText = `Análisis Automático de ${analyses.length} imágenes:\n\n`
const statusPriority = { 'critical': 3, 'minor': 2, 'warning': 2, 'ok': 1 } const statusPriority = { 'critical': 3, 'minor': 2, 'warning': 2, 'ok': 1 }
let maxPriority = 0 let maxPriority = 0
@@ -4796,7 +4796,7 @@ function InspectionModal({ checklist, user, onClose, onComplete }) {
)} )}
{(checklist.ai_mode === 'assisted' || checklist.ai_mode === 'full') && ( {(checklist.ai_mode === 'assisted' || checklist.ai_mode === 'full') && (
<span className="ml-2 text-xs text-blue-600"> <span className="ml-2 text-xs text-blue-600">
🤖 Análisis IA disponible 🤖 Análisis automático disponible
</span> </span>
)} )}
</label> </label>