From e2f8b05a7d7e7e4bfa48be9be2c47faa5abaaea6 Mon Sep 17 00:00:00 2001 From: Paul Dempsey <76729591+paul-daniel-dempsey@users.noreply.github.com> Date: Fri, 17 Nov 2023 17:04:40 +0000 Subject: [PATCH] feat: digital Promo setup --- app/models/DefaultPromos.scala | 3 ++- public/src/components/defaultPromos.tsx | 20 +++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/models/DefaultPromos.scala b/app/models/DefaultPromos.scala index 643b6b50..b36f325f 100644 --- a/app/models/DefaultPromos.scala +++ b/app/models/DefaultPromos.scala @@ -5,7 +5,8 @@ import io.circe.{Decoder, Encoder} case class DefaultPromos( guardianWeekly: Seq[String], - paper: Seq[String] + paper: Seq[String], + digital: Seq[String] ) object DefaultPromos { diff --git a/public/src/components/defaultPromos.tsx b/public/src/components/defaultPromos.tsx index 04b43534..00660fed 100644 --- a/public/src/components/defaultPromos.tsx +++ b/public/src/components/defaultPromos.tsx @@ -8,7 +8,7 @@ import { SupportFrontendSettingsType, } from '../utils/requests'; -type ProductName = 'guardianWeekly' | 'paper'; +type ProductName = 'guardianWeekly' | 'paper' | 'digital'; type DefaultPromos = { [key in ProductName]: string[]; @@ -34,6 +34,7 @@ const DefaultPromos: React.FC> = ({ }: InnerProps) => { const [gwPromosString, setGwPromosString] = useState(data.guardianWeekly.join(', ')); const [paperPromosString, setpaperPromosString] = useState(data.paper.join(', ')); + const [digitalPromoString, setdigitalPromosString] = useState(data.digital.join(', ')); const classes = useStyles(); @@ -73,6 +74,23 @@ const DefaultPromos: React.FC> = ({ type="text" label="Paper" /> + { + const inputValue = e.target.value; + setdigitalPromosString(inputValue); + + const parsedInputValue = parsePromoInput(inputValue); + update({ + ...data, + digital: parsedInputValue, + }); + }} + type="text" + label="Digital" + />