ETHReport/components/interviews/singleInterview/index.js

45 lines
1.4 KiB
JavaScript
Raw Normal View History

import React from 'react';
import { PropTypes } from 'prop-types';
import Parser from 'html-react-parser';
import Modal from '../../modal';
import './style.scss';
const SingleInterview = props => (
<Modal
2018-07-06 12:36:22 +00:00
isModalOpen
closeModal={props.toggleSingleInterview}
>
<div className="single-interview">
<span className="number">{ props.activeSingleInterviewId }</span>
2018-07-13 09:11:32 +00:00
<span className="name"> { props.selectedInterview.name } </span>
{ props.selectedInterview.interview.filter(interview => interview.answer !== null)
.map((interview, index) => {
2018-07-13 09:55:26 +00:00
const question = props.questions.find(q => q.id === interview.question);
2018-07-13 09:11:32 +00:00
return (
<div key={`question-${question.id}`}>
2018-07-16 07:22:42 +00:00
<p className="question">{index + 1}) { question.text }</p>
<p className="answer">{ Parser(interview.answer) }</p>
2018-07-13 09:11:32 +00:00
</div>
);
})
}
</div>
</Modal>
);
SingleInterview.propTypes = {
activeSingleInterviewId: PropTypes.number.isRequired,
2018-07-06 12:36:22 +00:00
selectedInterview: PropTypes.shape({
2018-07-13 09:11:32 +00:00
name: PropTypes.string.isRequired,
interview: PropTypes.array.isRequired,
2018-07-06 12:36:22 +00:00
}).isRequired,
toggleSingleInterview: PropTypes.func.isRequired,
2018-07-13 09:47:52 +00:00
questions: PropTypes.arrayOf(PropTypes.shape({
2018-07-13 09:11:32 +00:00
id: PropTypes.number.isRequired,
text: PropTypes.string.isRequired,
2018-07-13 09:47:52 +00:00
})).isRequired,
};
export default SingleInterview;