import React from 'react'; import EmptyState from '../agent-analytics/EmptyState'; import type { VisibilityProblem } from '../../service/visibility/visibility.interface'; import { severityToTone, toneToBadgeClass } from './helpers'; interface ProblemsListProps { problems: VisibilityProblem[]; } /** * Render the "Problems detected this week" section. Every user-visible * string (title, severity, reason) is taken verbatim from the backend - * we only pick the tone from the canonical ``severity`` key. */ const ProblemsList = ({ problems }: ProblemsListProps): JSX.Element => { if (problems.length === 0) { return ; } return (
{problems.map(problem => { const tone = severityToTone(problem.severity); const reasonText = problem.reason_localized || problem.reason; const titleText = problem.type_label || problem.type; return (

{titleText}

{problem.severity_label && ( {problem.severity_label} )}

{reasonText}

{problem.fix && Array.isArray(problem.fix.steps) && problem.fix.steps.length > 0 && (

Fix plan

    {problem.fix.steps.map((step, index) => (
  • {step}
  • ))}
)}
); })}
); }; export default ProblemsList;