From 06550a18da1b068d803c391e1e77b8a56bf0ab1c Mon Sep 17 00:00:00 2001 From: ChristophWersal <45358216+ChristophWersal@users.noreply.github.com> Date: Tue, 27 Oct 2020 21:15:48 +0100 Subject: [PATCH] feat: individualize risk texts (#259) --- .../official/components/CovMapFeatureInfo.tsx | 2 +- apps/official/components/pages/Credits.tsx | 5 +- .../RiskRecommendation.tsx | 57 ++++++++++++------- 3 files changed, 39 insertions(+), 25 deletions(-) diff --git a/apps/official/components/CovMapFeatureInfo.tsx b/apps/official/components/CovMapFeatureInfo.tsx index 8b991f15..56aa5580 100644 --- a/apps/official/components/CovMapFeatureInfo.tsx +++ b/apps/official/components/CovMapFeatureInfo.tsx @@ -221,7 +221,7 @@ export const CovMapFeatureInfo = ({ rawData }: FeatureInfoProps) => { {/* {riskDescription}*/} {/**/} - {RiskRecommendation({ riskScore })} + diff --git a/apps/official/components/pages/Credits.tsx b/apps/official/components/pages/Credits.tsx index bad09c63..87848f0f 100644 --- a/apps/official/components/pages/Credits.tsx +++ b/apps/official/components/pages/Credits.tsx @@ -77,10 +77,11 @@ export const Credits = () => { NET CHECK: PD. Dr. Sten Rüdiger
Datenanalyse GPS-Daten, Kontakt-Index -
+ +
Die CovMap App wurde mit der Unterstützung von zahlreichen Personen und Unternehmen entwickelt. Wir möchten an dieser Stelle unseren großen Dank aussprechen. -
+
Wir danken den Unternehmen: diff --git a/apps/official/components/risk-recommendation/RiskRecommendation.tsx b/apps/official/components/risk-recommendation/RiskRecommendation.tsx index 7a8b8d62..e4ae9396 100644 --- a/apps/official/components/risk-recommendation/RiskRecommendation.tsx +++ b/apps/official/components/risk-recommendation/RiskRecommendation.tsx @@ -1,13 +1,40 @@ import React from "react"; import { makeStyles } from "@material-ui/core/styles"; -import { Card, CardContent, Button, IconButton, Grid } from "@material-ui/core"; +import { Card, Grid } from "@material-ui/core"; import ArrowForwardIosIcon from "@material-ui/icons/ArrowForwardIos"; import Typography from "@material-ui/core/Typography"; import { Link } from "react-router-dom"; -import { RiskScore } from "../../models"; -import { RiskTexts } from "../../static/texts/RiskTexts"; +import { ContactScore } from "../../models"; + +function riscExplanation(contactScore: number, incidence: number): string { + if (incidence < 20 && contactScore <= 0) { + return "Die Zahl der Neuinfektionen ist niedrig und das Kontaktverhalten ist ausreichend reduziert. Ein normales Risiko bedeutet nicht, dass keine Neuinfektionen in der Region möglich sind."; + } + + let explanation = ""; + + if (incidence >= 50) { + explanation = "Die Zahl der Neuinfektionen ist stark erhöht. "; + if (contactScore == 1) { + explanation += + "Aufgrund eines erhöhten Kontaktverhalten gehen wir von einem weiteren Anstieg der Neuinfektionen aus. "; + } + explanation += "Wir rufen dazu auf, Kontakte freiwillig auf das Allernötigste zu reduzieren."; + return explanation; + } + + if (incidence >= 20) { + explanation = "Die Zahl der Neuinfektionen ist mäßig erhöht. "; + } + if (contactScore == 1) { + explanation += + "Aufgrund eines erhöhten Kontaktverhalten gehen wir von einem weiteren Anstieg der Neuinfektionen aus. "; + } + explanation += "Wir rufen dazu auf, Kontakte freiwillig zu reduzieren."; + return explanation; +} const useStyles = makeStyles((theme) => ({ teaser: { @@ -27,7 +54,10 @@ const useStyles = makeStyles((theme) => ({ }, })); -const Recommendation = ({ recommendation }: { recommendation: string }): JSX.Element => { +export const RiskRecommendation: React.FC<{ contactScore: ContactScore; incidence: number }> = ({ + contactScore, + incidence, +}): JSX.Element => { const classes = useStyles(); return ( @@ -35,7 +65,7 @@ const Recommendation = ({ recommendation }: { recommendation: string }): JSX.Ele - {recommendation} + {riscExplanation(contactScore, incidence)} @@ -45,20 +75,3 @@ const Recommendation = ({ recommendation }: { recommendation: string }): JSX.Ele ); }; - -export const RiskRecommendation = ({ riskScore }: { riskScore: RiskScore }) => { - switch (riskScore) { - case RiskScore.Low: - return ; - - case RiskScore.Medium: - return ; - - case RiskScore.High: - return ; - - default: - console.warn("cannot display risk score -- unrecognized score value"); - return null; - } -};