You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.2 KiB
56 lines
1.2 KiB
import React, {
|
|
forwardRef,
|
|
ReactElement,
|
|
useImperativeHandle,
|
|
useState,
|
|
} from "react";
|
|
import { View } from "react-native";
|
|
import Checkbox from "../CheckBox";
|
|
import Question, { QuestionChildProps } from "./Question";
|
|
|
|
export interface GenderQuestionRef {
|
|
getAnswer: () => boolean;
|
|
}
|
|
|
|
export default forwardRef<GenderQuestionRef, QuestionChildProps>(
|
|
({ ...props }, ref): ReactElement => {
|
|
const [answer, setAnswer] = useState(true);
|
|
|
|
useImperativeHandle(ref, () => ({
|
|
getAnswer: () => answer,
|
|
}));
|
|
|
|
const handleChangeOne = () => {
|
|
setAnswer(true);
|
|
};
|
|
const handleChangeTwo = () => {
|
|
setAnswer(false);
|
|
};
|
|
|
|
return (
|
|
<Question
|
|
question="Quel est votre genre physiologique ?"
|
|
{...ref}
|
|
{...props}
|
|
>
|
|
<View className="gap-2">
|
|
<Checkbox
|
|
label="Homme"
|
|
value={answer}
|
|
onChange={handleChangeOne}
|
|
antIcon={"man"}
|
|
isCheckIconVisible={true}
|
|
/>
|
|
<Checkbox
|
|
label="Femme"
|
|
value={!answer}
|
|
onChange={handleChangeTwo}
|
|
antIcon={"woman"}
|
|
isCheckIconVisible={true}
|
|
/>
|
|
</View>
|
|
</Question>
|
|
);
|
|
}
|
|
);
|