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.
Mobile/components/quiz/GenderQuestion.tsx

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>
);
}
);