Question.tsx 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { IQuestionHasId } from '~/interfaces/questionnaire/question';
  2. import { useCurrentUser } from '~/stores/context';
  3. type QuestionProps = {
  4. question: IQuestionHasId,
  5. inputNamePrefix: string,
  6. }
  7. const Question = ({ question, inputNamePrefix }: QuestionProps): JSX.Element => {
  8. const { data: currentUser } = useCurrentUser();
  9. const lang = currentUser?.lang;
  10. const questionText = lang === 'en_US' ? question.text.en_US : question.text.ja_JP;
  11. return <div className="row mt-4">
  12. <div className="col-6 d-flex align-items-center">
  13. <span>
  14. {questionText}
  15. </span>
  16. </div>
  17. <div className="col-6 d-flex align-items-center pl-0">
  18. <div className="btn-group btn-group-toggle flex-fill grw-questionnaire-btn-group" data-toggle="buttons">
  19. <label className="btn btn-outline-primary active mr-4 rounded">
  20. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-noAnswer`} value='0' defaultChecked/> -
  21. </label>
  22. <label className="btn btn-outline-primary rounded-left">
  23. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option1`} value='1'/> 1
  24. </label>
  25. <label className="btn btn-outline-primary">
  26. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option2`} value='2'/> 2
  27. </label>
  28. <label className="btn btn-outline-primary">
  29. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option3`} value='3'/> 3
  30. </label>
  31. <label className="btn btn-outline-primary">
  32. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option4`} value='4'/> 4
  33. </label>
  34. <label className="btn btn-outline-primary">
  35. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option5`} value='5'/> 5
  36. </label>
  37. </div>
  38. </div>
  39. </div>;
  40. };
  41. export default Question;