diff --git a/website/src/components/Survey/TrackedTextarea.tsx b/website/src/components/Survey/TrackedTextarea.tsx new file mode 100644 index 00000000..205d7588 --- /dev/null +++ b/website/src/components/Survey/TrackedTextarea.tsx @@ -0,0 +1,35 @@ +import { Progress, Stack, Textarea, TextareaProps } from "@chakra-ui/react"; + +interface TrackedTextboxProps { + text: string; + thresholds: { + low: number; + medium: number; + goal: number; + }; + textareaProps?: TextareaProps; + onTextChange: (event: React.ChangeEvent) => void; +} + +export const TrackedTextarea = (props: TrackedTextboxProps) => { + const wordCount = props.text.split(" ").length - 1; + + let progressColor: string; + switch (true) { + case wordCount < props.thresholds.low: + progressColor = "red"; + break; + case wordCount < props.thresholds.medium: + progressColor = "yellow"; + break; + default: + progressColor = "green"; + } + + return ( + +