From 04dd6694063b2b34b5aabe84e7aece17efcb35a9 Mon Sep 17 00:00:00 2001 From: Chris Lawton <chris.lawton@torchbox.com> Date: Wed, 20 Feb 2019 12:28:11 +0000 Subject: [PATCH] add traffic light to review block --- .../app/src/components/ReviewBlock/index.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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 1e99c51b2..06e24dd83 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> -- GitLab