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",
"private": true,
"version": "1.0.77",
"version": "1.0.78",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -2540,38 +2540,38 @@ function ChecklistsTab({ checklists, user, onChecklistCreated, onStartInspection
<div>
<label className="block text-sm font-medium text-gray-700 mb-2">
Modo IA
Modo de Asistencia
</label>
<select
value={formData.ai_mode}
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"
>
<option value="off">🚫 Sin IA - Control manual total</option>
<option value="assisted">🤝 IA Asistida - Sugerencias en fotos</option>
<option value="full">🤖 IA Completa - Análisis automático</option>
<option value="off">🚫 Manual - Control total del operario</option>
<option value="assisted">🤝 Asistido - Sugerencias automáticas</option>
<option value="full">🤖 Automático - Análisis completo</option>
</select>
{/* Descripción del modo seleccionado */}
<div className="mt-3 p-3 bg-blue-50 border border-blue-200 rounded-lg">
{formData.ai_mode === 'off' && (
<div className="text-sm text-blue-800">
<strong>Sin IA:</strong> El mecánico completa manualmente todas las respuestas.
Sin dependencia de internet o API.
<strong>Modo Manual:</strong> El operario completa manualmente todas las respuestas.
Sin dependencia de internet o sistemas externos.
</div>
)}
{formData.ai_mode === 'assisted' && (
<div className="text-sm text-blue-800">
<strong>IA Asistida:</strong> Cuando se suben fotos, la IA analiza y sugiere
estado, criticidad y observaciones. El mecánico acepta o modifica.
<div className="mt-1 text-xs"> Requiere OPENAI_API_KEY configurada</div>
<strong>Modo Asistido:</strong> Cuando se suben fotos, el sistema analiza y sugiere
estado, criticidad y observaciones. El operario acepta o modifica.
<div className="mt-1 text-xs"> Requiere configuración de API externa</div>
</div>
)}
{formData.ai_mode === 'full' && (
<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.
<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>
@@ -4345,18 +4345,18 @@ function InspectionModal({ checklist, user, onClose, onComplete }) {
const confidence = analysis.confidence || 0.7
// 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) {
observationsText += `\n\n💡 Recomendación: ${recommendation}`
}
worstStatus = status
} else if (typeof analysis === 'string') {
observationsText = `🤖 Análisis IA:\n${analysis}`
observationsText = `Análisis Automático:\n${analysis}`
}
} else {
// Multiple images - summarize all analyses
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 }
let maxPriority = 0
@@ -4796,7 +4796,7 @@ function InspectionModal({ checklist, user, onClose, onComplete }) {
)}
{(checklist.ai_mode === 'assisted' || checklist.ai_mode === 'full') && (
<span className="ml-2 text-xs text-blue-600">
🤖 Análisis IA disponible
🤖 Análisis automático disponible
</span>
)}
</label>