refactor(front): centralise la règle de statut et les colonnes dupliquées
Le seuil de 10 erreurs qui fait basculer un monitoring en « Critique » était réécrit dans trois fichiers (MonitoringCard, MonitoringDetail, VueConso), la version de VueConso ne renvoyant qu'une couleur. Faire évoluer ce seuil imposait de corriger trois endroits sans en oublier. Il vit maintenant dans utils/statutMonitoring.js, avec la constante SEUIL_ATTENTION nommée. Les colonnes du tableau de monitorings étaient également identiques entre VueConso et ServiceMonitorings : extraites dans utils/monitoringColumns.jsx.
This commit is contained in:
@@ -2,20 +2,14 @@
|
||||
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import Badge from './Badge';
|
||||
import { getStatutMonitoring } from '../../utils/statutMonitoring';
|
||||
import styles from './MonitoringCard.module.css';
|
||||
|
||||
/* Détermine le statut visuel selon le nombre d'erreurs */
|
||||
function getStatut(nbErreurs) {
|
||||
if (nbErreurs === 0) return { label: 'OK', variant: 'ok', color: 'var(--color-ok)' };
|
||||
if (nbErreurs < 10) return { label: 'Attention', variant: 'warning', color: 'var(--color-warning)' };
|
||||
return { label: 'Critique', variant: 'critical', color: 'var(--color-primary)' };
|
||||
}
|
||||
|
||||
export default function MonitoringCard({ monitoring }) {
|
||||
const navigate = useNavigate();
|
||||
const nbErreurs = monitoring.nb_erreurs ?? monitoring.count ?? 0;
|
||||
const monitoringId = monitoring.id ?? monitoring.id_monito;
|
||||
const statut = getStatut(nbErreurs);
|
||||
const statut = getStatutMonitoring(nbErreurs);
|
||||
|
||||
/* Calcul du pourcentage de la barre de progression (max 100%) */
|
||||
const progressPct = Math.min((nbErreurs / 20) * 100, 100);
|
||||
|
||||
Reference in New Issue
Block a user