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;
- }
-};