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.
tech-interview-handbook/apps/website/contents/_components/QuestionList.js

61 lines
1.6 KiB

import React from 'react';
import QuestionGroups from './QuestionGroups.json';
function DifficultyLabel({ difficulty }) {
return (
<span
style={{
fontWeight: 600,
color: {
Easy: 'rgb(0, 184, 163)',
Medium: 'rgb(255, 192, 30)',
Hard: 'rgb(255, 55, 95)',
}[difficulty],
}}>
{difficulty}
</span>
);
}
export default function QuestionList() {
return (
<div className="padding-vert--lg">
{Object.entries(QuestionGroups).map(
([sectionTitle, questions], index) => (
<div className="margin-bottom--lg" key={sectionTitle}>
<h4>Week {index + 5}</h4>
<table>
<thead>
<tr>
<th>Problem</th>
<th>Difficulty</th>
<th>Duration</th>
</tr>
</thead>
<tbody>
{questions.map((question) => (
<tr key={question.slug}>
<td>
<a
href={question.url}
target="_blank"
rel="noopener noreferer">
{question.title}
</a>
</td>
<td>
<DifficultyLabel difficulty={question.difficulty} />
</td>
<td>{question.duration} mins</td>
</tr>
))}
</tbody>
</table>
</div>
),
)}
</div>
);
}