import React from "react"; import styled from "styled-components"; import { Illustration, Ellipse, Shape } from "react-zdog"; import { RenderedElement } from "./RenderedElement"; import { ControllerContext } from "../Controller"; interface GyroState { opacity: number; diameter: number; thickness: number; zoom: number; } const StyledGyro = styled(RenderedElement)` grid-column: 5; grid-row: 5; justify-content: center; align-items: center; display: flex; width: 100%; height: 100%; opacity: 0.7; `; export const Gyro = () => { const controller = React.useContext(ControllerContext); const [{ x, y, z }, setGyro] = React.useState({ ...controller.gyroscope }); const [accel, setAccel] = React.useState({ ...controller.accelerometer }); React.useEffect(() => { controller.gyroscope.on("change", (gyro) => { setGyro({ ...gyro }); setAccel(accel); }); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const [state] = React.useState({ opacity: 0.7, diameter: 5, thickness: 0.25, zoom: 15, }); return ( ); };