import React, { Component } from "react"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import { Button, Card } from "@mui/material"; import * as Blockly from "blockly"; import CardContent from "@mui/material/CardContent"; import Typography from "@mui/material/Typography"; import ReactMarkdown from "react-markdown"; import Dialog from "@mui/material/Dialog"; import DialogActions from "@mui/material/DialogActions"; import DialogContent from "@mui/material/DialogContent"; import Slide from "@mui/material/Slide"; import SensorInfo from "./SensorInfo"; import store from "../store"; // FIXME checkout https://mui.com/components/use-media-query/#migrating-from-withwidth const withWidth = () => (WrappedComponent) => (props) => ; const Transition = React.forwardRef(function Transition(props, ref) { return ; }); class TooltipViewer extends Component { constructor(props) { super(props); this.inputRef = React.createRef(); this.state = { open: false, }; } toggleDialog = () => { this.setState({ open: !this.state }); }; openDialog = () => { this.setState({ open: true }); }; render() { return ( {Blockly.Msg.tooltip_viewer} {this.props.tooltip} {store.getState().workspace.code.data ? ( ) : ( {`${Blockly.Msg.tooltip_moreInformation} [${Blockly.Msg.labels_here}](${this.props.helpurl})`} )} {store.getState().workspace.code.data ? ( { this.toggleDialog(); }} maxWidth={"md"} fullWidth={true} > ) : (null)} ); } } TooltipViewer.propTypes = { tooltip: PropTypes.string.isRequired, helpurl: PropTypes.string.isRequired, }; const mapStateToProps = (state) => ({ tooltip: state.workspace.code.tooltip, helpurl: state.workspace.code.helpurl, }); export default connect(mapStateToProps, null)(withWidth()(TooltipViewer));