import React, { Component } from "react"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import clsx from "clsx"; import { withRouter, Link } from "react-router-dom"; import { alpha } from "@mui/material/styles"; import withStyles from '@mui/styles/withStyles'; import Typography from "@mui/material/Typography"; import List from "@mui/material/List"; import Tooltip from "@mui/material/Tooltip"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faCheck, faTimes } from "@fortawesome/free-solid-svg-icons"; import * as Blockly from "blockly"; const styles = (theme) => ({ outerDiv: { width: "50px", height: "50px", position: "absolute", color: alpha(theme.palette.secondary.main, 0.6), }, outerDivError: { stroke: alpha(theme.palette.error.dark, 0.6), color: alpha(theme.palette.error.dark, 0.6), }, outerDivSuccess: { stroke: alpha(theme.palette.primary.main, 0.6), color: alpha(theme.palette.primary.main, 0.6), }, outerDivOther: { stroke: alpha(theme.palette.secondary.main, 0.6), }, innerDiv: { width: "inherit", height: "inherit", display: "table-cell", verticalAlign: "middle", textAlign: "center", }, link: { color: theme.palette.text.primary, position: "relative", height: "50px", display: "flex", margin: "5px 0 5px 10px", textDecoration: "none", }, hoverLink: { "&:hover": { background: alpha(theme.palette.secondary.main, 0.5), borderRadius: "0 25px 25px 0 ", }, }, }); class Requirement extends Component { render() { var requirements = this.props.requirements; var tutorialIds = requirements.map((requirement) => requirement._id); return (