get osem codes if logged in

This commit is contained in:
Mario Pesch 2022-03-03 10:40:32 +01:00
parent 4e8819172b
commit 45b90bfe58

View File

@ -1,5 +1,6 @@
import React, { useEffect } from "react"; import React, { useEffect } from "react";
import Blockly from "blockly"; import Blockly from "blockly";
import { useSelector } from "react-redux";
import Accordion from "@material-ui/core/Accordion"; import Accordion from "@material-ui/core/Accordion";
import AccordionSummary from "@material-ui/core/AccordionSummary"; import AccordionSummary from "@material-ui/core/AccordionSummary";
import AccordionDetails from "@material-ui/core/AccordionDetails"; import AccordionDetails from "@material-ui/core/AccordionDetails";
@ -15,13 +16,7 @@ const Sidebar = () => {
const [alert, setAlert] = React.useState(false); const [alert, setAlert] = React.useState(false);
const [examples, setExamples] = React.useState([]); const [examples, setExamples] = React.useState([]);
useEffect(() => { const user = useSelector((state) => state.auth.user);
axios
.get("https://coelho.opensensemap.org/items/blocklysamples")
.then((res) => {
setExamples(res.data.data);
});
}, []);
const monaco = useMonaco(); const monaco = useMonaco();
const loadCode = (code) => { const loadCode = (code) => {
@ -32,6 +27,14 @@ const Sidebar = () => {
setAlert(false); setAlert(false);
}; };
const getOsemScript = (id) => {
axios
.get(`https://api.opensensemap.org/boxes/${id}/script/`)
.then((res) => {
loadCode(res.data);
});
};
return ( return (
<div> <div>
{"serial" in navigator ? ( {"serial" in navigator ? (
@ -50,8 +53,7 @@ const Sidebar = () => {
</AccordionDetails> </AccordionDetails>
</Accordion> </Accordion>
) : null} ) : null}
{/* <Accordion>
<Accordion>
<AccordionSummary <AccordionSummary
expandIcon={""} expandIcon={""}
aria-controls="panel1a-content" aria-controls="panel1a-content"
@ -76,7 +78,35 @@ const Sidebar = () => {
})} })}
</Typography> </Typography>
</AccordionDetails> </AccordionDetails>
</Accordion> </Accordion> */}
{user ? (
<Accordion>
<AccordionSummary
expandIcon={""}
aria-controls="panel1a-content"
id="panel1a-header"
>
<Typography>Deine openSenseMap Codes</Typography>
</AccordionSummary>
<AccordionDetails>
<Typography>
{user.boxes.map((box, i) => {
return (
<Button
style={{ padding: "1rem", margin: "1rem" }}
variant="contained"
color="primary"
key={i}
onClick={() => getOsemScript(box._id)}
>
{box.name}
</Button>
);
})}
</Typography>
</AccordionDetails>
</Accordion>
) : null}
<Accordion> <Accordion>
<AccordionSummary <AccordionSummary
expandIcon={""} expandIcon={""}