Skip to content
This repository has been archived by the owner on Jan 9, 2023. It is now read-only.

feat(patients): better form feedback for add allergy #1945

Merged
merged 5 commits into from
Mar 29, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/locales/enUs/translations/patient/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ export default {
new: 'Add Allergy',
error: {
nameRequired: 'Name is required.',
unableToAdd: 'Unable to add allergy.',
},
warning: {
noAllergies: 'No Allergies',
Expand Down
8 changes: 7 additions & 1 deletion src/patients/allergies/NewAllergyModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ const NewAllergyModal = (props: NewAllergyModalProps) => {
const { show, onCloseButtonClick, onSave } = props
const [allergy, setAllergy] = useState({ name: '' })
const [errorMessage, setErrorMessage] = useState('')
const [isInvalid, setIsInvalid] = useState(false)
cfiorini74 marked this conversation as resolved.
Show resolved Hide resolved
const [nameRequiredFeedback, setNameRequiredFeedback] = useState('')
const { t } = useTranslation()

useEffect(() => {
Expand All @@ -29,7 +31,9 @@ const NewAllergyModal = (props: NewAllergyModalProps) => {
const onSaveButtonClick = () => {
let newErrorMessage = ''
if (!allergy.name) {
newErrorMessage += `${t('patient.allergies.error.nameRequired')} `
newErrorMessage += `${t('patient.allergies.error.unableToAdd')} `
setIsInvalid(true)
setNameRequiredFeedback(`${t('patient.allergies.error.nameRequired')} `)
}

if (newErrorMessage) {
Expand All @@ -49,13 +53,15 @@ const NewAllergyModal = (props: NewAllergyModalProps) => {
{errorMessage && <Alert color="danger" title={t('states.error')} message={errorMessage} />}
<form>
<TextInputWithLabelFormGroup
feedback={nameRequiredFeedback}
name="name"
isRequired
label={t('patient.allergies.allergyName')}
isEditable
placeholder={t('patient.allergies.allergyName')}
value={allergy.name}
onChange={onNameChange}
isInvalid={isInvalid}
/>
</form>
</>
Expand Down