diff --git a/opentech/static_src/src/app/src/components/ReviewBlock/index.js b/opentech/static_src/src/app/src/components/ReviewBlock/index.js index 1e99c51b250f8aedb30bac0d7eacda4c90649b42..06e24dd835c5b4f76c1282b0c195e066a96fc0ee 100644 --- a/opentech/static_src/src/app/src/components/ReviewBlock/index.js +++ b/opentech/static_src/src/app/src/components/ReviewBlock/index.js @@ -36,6 +36,22 @@ const ReviewBlock = ({ review }) => { <Review key={review.id} {...{ review }} />) } + const renderTrafficLight = () => { + const verdict = review.recommendation.display; + const letter = verdict.charAt(0) + + let modifierClass; + if (verdict === 'No') { + modifierClass = 'red' + } else if (verdict === 'Yes') { + modifierClass = 'green' + } else if (verdict === 'Maybe') { + modifierClass = 'amber' + } + + return <div aria-label="Traffic light score" className={`traffic-light traffic-light--${modifierClass}`}>{letter}</div> + } + const renderReviewBody = () => { if (review === undefined) { return null @@ -47,7 +63,7 @@ const ReviewBlock = ({ review }) => { <li className="reviews-sidebar__item reviews-sidebar__item--header"> <div></div> {review.recommendation.display && - <div>{review.recommendation.display}</div> + renderTrafficLight() } {!isNaN(parseFloat(review.score)) && <div>{review.score}</div>