This repository has been archived on 2023-12-22. You can view files and clone it, but cannot push or open issues or pull requests.
old-monorepo/Dashboard/src/App.tsx

84 lines
1.7 KiB
TypeScript
Raw Normal View History

import React, { useState } from "react";
import { createGlobalStyle } from "styled-components";
import SerialPort from "serialport";
2021-07-10 12:00:50 +02:00
import Knob from "./Components/Knob";
import SerialConnection from "./SerialConnection";
const GlobalStyle = createGlobalStyle`
html {
border-style: solid;
border-color: #363636;
border-width: 1px;
box-sizing: border-box;
height: 100%;
border-bottom-style: hidden;
border-right-style: hidden;
}
`;
2021-07-09 13:54:25 +02:00
const port = SerialConnection();
const App = () => {
const [counter, setCounter] = useState(0);
2021-07-10 16:28:20 +02:00
const sendIncreaseHandler = () => {
setCounter(counter + 1);
2021-07-10 16:28:20 +02:00
port.write("2i");
};
const sendDecreaseHandler = () => {
setCounter(counter - 1);
2021-07-10 16:28:20 +02:00
port.write("2d");
};
const sendToggleHandler = () => {
port.write("2t");
};
return (
<div>
<GlobalStyle />
2021-07-10 16:28:20 +02:00
<Knob
increase={sendIncreaseHandler}
decrease={sendDecreaseHandler}
toggle={sendToggleHandler}
status={counter}
2021-07-10 16:28:20 +02:00
/>
<button
type="button"
onClick={() => {
port.open();
}}
>
open
</button>
<button
type="button"
onClick={() => {
setCounter(counter + 1);
}}
>
increase
</button>
<button
type="button"
onClick={() => {
port.close();
}}
>
close
</button>
2021-06-30 09:51:39 +02:00
<button
type="button"
onClick={() => {
const list = SerialPort.list();
2021-07-10 12:00:50 +02:00
list.then((arg) => {
console.log(arg);
});
2021-06-30 09:51:39 +02:00
}}
>
list
</button>
</div>
);
};
export default App;