fix(SW-957 SW-958): Make selected EnterDetailsCards clickable
This commit is contained in:
@@ -76,6 +76,9 @@ export default function BedType({ bedTypes }: BedTypeProps) {
|
|||||||
subtitle={width}
|
subtitle={width}
|
||||||
title={roomType.description}
|
title={roomType.description}
|
||||||
value={roomType.value}
|
value={roomType.value}
|
||||||
|
handleSelectedOnClick={
|
||||||
|
bedType === roomType.value ? completeStep : undefined
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
|
|||||||
@@ -97,6 +97,9 @@ export default function Breakfast({ packages }: BreakfastProps) {
|
|||||||
})}
|
})}
|
||||||
title={intl.formatMessage({ id: "Breakfast buffet" })}
|
title={intl.formatMessage({ id: "Breakfast buffet" })}
|
||||||
value={pkg.code}
|
value={pkg.code}
|
||||||
|
handleSelectedOnClick={
|
||||||
|
breakfast === pkg.code ? completeStep : undefined
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
<RadioCard
|
<RadioCard
|
||||||
@@ -113,6 +116,9 @@ export default function Breakfast({ packages }: BreakfastProps) {
|
|||||||
})}
|
})}
|
||||||
title={intl.formatMessage({ id: "No breakfast" })}
|
title={intl.formatMessage({ id: "No breakfast" })}
|
||||||
value="false"
|
value="false"
|
||||||
|
handleSelectedOnClick={
|
||||||
|
breakfast === "false" ? completeStep : undefined
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
</form>
|
</form>
|
||||||
</FormProvider>
|
</FormProvider>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ interface BaseCardProps
|
|||||||
title: React.ReactNode
|
title: React.ReactNode
|
||||||
type: "checkbox" | "radio"
|
type: "checkbox" | "radio"
|
||||||
value?: string
|
value?: string
|
||||||
|
handleSelectedOnClick?: () => void
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ListCardProps extends BaseCardProps {
|
interface ListCardProps extends BaseCardProps {
|
||||||
|
|||||||
@@ -25,10 +25,22 @@ export default function Card({
|
|||||||
title,
|
title,
|
||||||
type,
|
type,
|
||||||
value,
|
value,
|
||||||
|
handleSelectedOnClick,
|
||||||
}: CardProps) {
|
}: CardProps) {
|
||||||
const { register } = useFormContext()
|
const { register } = useFormContext()
|
||||||
|
|
||||||
|
function onLabelClick(event: React.MouseEvent) {
|
||||||
|
// Preventing click event on label elements firing twice: https://github.com/facebook/react/issues/14295
|
||||||
|
event.preventDefault()
|
||||||
|
handleSelectedOnClick?.()
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<label className={styles.label} data-declined={declined} tabIndex={0}>
|
<label
|
||||||
|
className={styles.label}
|
||||||
|
data-declined={declined}
|
||||||
|
tabIndex={0}
|
||||||
|
onClick={handleSelectedOnClick ? onLabelClick : undefined}
|
||||||
|
>
|
||||||
<Caption className={styles.title} color="burgundy" type="label" uppercase>
|
<Caption className={styles.title} color="burgundy" type="label" uppercase>
|
||||||
{title}
|
{title}
|
||||||
</Caption>
|
</Caption>
|
||||||
|
|||||||
Reference in New Issue
Block a user