feat: SW-276 Implemented child age validation

This commit is contained in:
Hrishikesh Vaipurkar
2024-09-18 13:24:35 +02:00
parent 24f7bc290d
commit a7167dde6a
10 changed files with 110 additions and 54 deletions

View File

@@ -17,6 +17,7 @@ export default function ChildSelector({
roomChildren = [],
adultCount = 1,
updateChildren = (children: Child[]) => {},
childAgeError,
}: ChildSelectorProps) {
const intl = useIntl()
const childrenLabel = intl.formatMessage({ id: "Children" })
@@ -59,19 +60,32 @@ export default function ChildSelector({
}
roomChildren.forEach((child, index) => {
let types: typeof availableBedTypes = []
let selectedBed: boolean = false
if (
child.age <= 5 &&
(availableInAdultsBed > 0 || childInAdultsBedIndices.indexOf(index) != -1)
) {
types.push(availableBedTypes[0])
if (child.bed == 0) {
selectedBed = true
}
}
if (child.age < 3) {
types.push(availableBedTypes[1])
if (child.bed == 1) {
selectedBed = true
}
}
if (child.age > 2) {
types.push(availableBedTypes[2])
if (child.bed == 2) {
selectedBed = true
}
}
childBedTypes[index] = types
if (!selectedBed) {
child.bed = types[0].value
}
})
return (
@@ -93,6 +107,7 @@ export default function ChildSelector({
child={child}
availableBedTypes={childBedTypes[index]}
updateChild={updateChildInfo}
childAgeError={childAgeError}
/>
</div>
))}