Feat: Añadidas Palabras Claves. Filtros Historial Ajustados
This commit is contained in:
@@ -259,7 +259,7 @@ namespace ChatbotApi.Services
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_logger.LogError(ex, "Error en llamada unificada a Gemini.");
|
_logger.LogError(ex, "Error en llamada unificada a Gemini.");
|
||||||
errorMessage = "Lo siento, el servicio está temporalmente no disponible. Por favor, intenta de nuevo.";
|
errorMessage = "Lo siento, el servicio está temporalmente no disponible. Por favor, intenta de nuevo en unos minutos.";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(errorMessage))
|
if (!string.IsNullOrEmpty(errorMessage))
|
||||||
@@ -424,7 +424,8 @@ namespace ChatbotApi.Services
|
|||||||
var specificKeywords = new[] {
|
var specificKeywords = new[] {
|
||||||
"economía", "economia", "inflación", "inflacion", "dólar", "dolar",
|
"economía", "economia", "inflación", "inflacion", "dólar", "dolar",
|
||||||
"política", "politica", "elecciones", "gobierno",
|
"política", "politica", "elecciones", "gobierno",
|
||||||
"clima", "deporte", "fútbol", "futbol", "boca", "river"
|
"clima", "deporte", "fútbol", "futbol", "boca", "river",
|
||||||
|
"estudiantes", "gimnasia", "pincha", "lobo", "partido"
|
||||||
};
|
};
|
||||||
|
|
||||||
// Si NO contiene ningún keyword específico, skip AI
|
// Si NO contiene ningún keyword específico, skip AI
|
||||||
@@ -463,7 +464,7 @@ namespace ChatbotApi.Services
|
|||||||
// Confirmaciones/Aceptación (argentinismos incluidos)
|
// Confirmaciones/Aceptación (argentinismos incluidos)
|
||||||
"ok", "perfecto", "genial", "bárbaro", "barbaro", "dale", "dale dale",
|
"ok", "perfecto", "genial", "bárbaro", "barbaro", "dale", "dale dale",
|
||||||
"está bien", "esta bien", "de acuerdo", "si", "sí", "vale", "listo",
|
"está bien", "esta bien", "de acuerdo", "si", "sí", "vale", "listo",
|
||||||
"joya", "buenísimo", "buenisimo", "excelente",
|
"joya", "buenísimo", "buenisimo", "excelente", "piola",
|
||||||
|
|
||||||
// Agradecimientos
|
// Agradecimientos
|
||||||
"gracias", "muchas gracias", "mil gracias", "thank you", "thanks",
|
"gracias", "muchas gracias", "mil gracias", "thank you", "thanks",
|
||||||
|
|||||||
@@ -20,9 +20,18 @@ const LogsViewer: React.FC<LogsViewerProps> = ({ onAuthError }) => {
|
|||||||
const [logs, setLogs] = useState<ConversacionLog[]>([]);
|
const [logs, setLogs] = useState<ConversacionLog[]>([]);
|
||||||
const [error, setError] = useState<string | null>(null);
|
const [error, setError] = useState<string | null>(null);
|
||||||
|
|
||||||
// Filtros
|
// Obtener fecha de hoy en formato YYYY-MM-DD
|
||||||
const [startDate, setStartDate] = useState('');
|
const getTodayDate = () => {
|
||||||
const [endDate, setEndDate] = useState('');
|
const today = new Date();
|
||||||
|
const year = today.getFullYear();
|
||||||
|
const month = String(today.getMonth() + 1).padStart(2, '0');
|
||||||
|
const day = String(today.getDate()).padStart(2, '0');
|
||||||
|
return `${year}-${month}-${day}`;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Filtros con fecha de hoy por defecto
|
||||||
|
const [startDate, setStartDate] = useState(getTodayDate());
|
||||||
|
const [endDate, setEndDate] = useState(getTodayDate());
|
||||||
const [search, setSearch] = useState('');
|
const [search, setSearch] = useState('');
|
||||||
|
|
||||||
const [paginationModel, setPaginationModel] = useState({
|
const [paginationModel, setPaginationModel] = useState({
|
||||||
@@ -33,8 +42,19 @@ const LogsViewer: React.FC<LogsViewerProps> = ({ onAuthError }) => {
|
|||||||
const fetchLogs = useCallback(async () => {
|
const fetchLogs = useCallback(async () => {
|
||||||
try {
|
try {
|
||||||
const params = new URLSearchParams();
|
const params = new URLSearchParams();
|
||||||
if (startDate) params.append('startDate', startDate);
|
|
||||||
if (endDate) params.append('endDate', endDate);
|
// Agregar fecha de inicio con hora 00:00:00
|
||||||
|
if (startDate) {
|
||||||
|
const startDateTime = `${startDate}T00:00:00`;
|
||||||
|
params.append('startDate', startDateTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Agregar fecha de fin con hora 23:59:59
|
||||||
|
if (endDate) {
|
||||||
|
const endDateTime = `${endDate}T23:59:59`;
|
||||||
|
params.append('endDate', endDateTime);
|
||||||
|
}
|
||||||
|
|
||||||
if (search) params.append('search', search);
|
if (search) params.append('search', search);
|
||||||
|
|
||||||
const response = await apiClient.get(`/api/admin/logs?${params.toString()}`);
|
const response = await apiClient.get(`/api/admin/logs?${params.toString()}`);
|
||||||
@@ -47,10 +67,12 @@ const LogsViewer: React.FC<LogsViewerProps> = ({ onAuthError }) => {
|
|||||||
}
|
}
|
||||||
}, [onAuthError, startDate, endDate, search]);
|
}, [onAuthError, startDate, endDate, search]);
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
// Cargar logs automáticamente con los filtros por defecto (fecha de hoy)
|
||||||
fetchLogs();
|
fetchLogs();
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
}, [fetchLogs]);
|
||||||
}, []); // Carga inicial solamente, o cuando el usuario pulse "Filtrar"
|
|
||||||
|
|
||||||
|
|
||||||
const columns: GridColDef[] = [
|
const columns: GridColDef[] = [
|
||||||
|
|||||||
Reference in New Issue
Block a user