import React, { useEffect } from "react"; import Blockly from "blockly"; import Accordion from "@material-ui/core/Accordion"; import AccordionSummary from "@material-ui/core/AccordionSummary"; import AccordionDetails from "@material-ui/core/AccordionDetails"; import Typography from "@material-ui/core/Typography"; import { LibraryVersions } from "../../data/versions.js"; import { useMonaco } from "@monaco-editor/react"; import { Button } from "@material-ui/core"; import Dialog from "../Dialog"; import SerialMonitor from "./SerialMonitor.js"; import axios from "axios"; const Sidebar = () => { const [alert, setAlert] = React.useState(false); const [examples, setExamples] = React.useState([]); useEffect(() => { axios .get("https://coelho.opensensemap.org/items/blocklysamples") .then((res) => { setExamples(res.data.data); }); }, []); const monaco = useMonaco(); const loadCode = (code) => { monaco.editor.getModels()[0].setValue(code); }; const toggleDialog = () => { setAlert(false); }; return (
{"serial" in navigator ? ( Serial Monitor ) : null} Beispiele {examples.map((object, i) => { return ( ); })} Installierte Libraries

For Dokumentation take a look at the installed libraries and their source

{LibraryVersions().map((object, i) => { return (

{object.library} {object.version}

); })}
toggleDialog()} onClick={() => toggleDialog()} button={Blockly.Msg.button_close} >
{Blockly.Msg.tabletDialog_text}
{Blockly.Msg.tabletDialog_more}{" "} https://sensebox.de/app
); }; export default Sidebar;