Question.tsx 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { useCurrentUser } from '~/stores/context';
  2. import { IQuestionHasId } from '../../interfaces/question';
  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 (
  12. <div className="row mt-4">
  13. <div className="col-6 d-flex align-items-center">
  14. <span>
  15. {questionText}
  16. </span>
  17. </div>
  18. <div className="col-6 d-flex align-items-center pl-0">
  19. <div className="btn-group flex-fill grw-questionnaire-btn-group">
  20. <label className="btn btn-outline-primary active mr-4 rounded">
  21. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-noAnswer`} value="0" defaultChecked /> -
  22. </label>
  23. <label className="btn btn-outline-primary rounded-left">
  24. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option1`} value="1" /> 1
  25. </label>
  26. <label className="btn btn-outline-primary">
  27. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option2`} value="2" /> 2
  28. </label>
  29. <label className="btn btn-outline-primary">
  30. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option3`} value="3" /> 3
  31. </label>
  32. <label className="btn btn-outline-primary">
  33. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option4`} value="4" /> 4
  34. </label>
  35. <label className="btn btn-outline-primary">
  36. <input type="radio" name={`${inputNamePrefix + question._id}`} id={`${question._id}-option5`} value="5" /> 5
  37. </label>
  38. </div>
  39. </div>
  40. </div>
  41. );
  42. };
  43. export default Question;