frontend/src/pages/Nfc.tsx
2025-04-15 16:09:09 -06:00

34 lines
929 B
TypeScript

import { Box } from "@mui/material";
import { cloneDeep } from "lodash";
import CommandHistory from "nfc/commandHistory";
import NfcCommands from "nfc/nfcCommands";
import React, { useState } from "react";
import PageContainer from "./PageContainer";
export interface NfcCommand {
type: string;
command: "read" | "write";
data: string;
}
export default function Nfc() {
const [executedCommands, setExecutedCommands] = useState<NfcCommand[]>([]);
return (
<PageContainer>
<React.Fragment>
<Box padding={2}>
<CommandHistory commands={executedCommands} />
<NfcCommands
onCommandRun={commands => {
//add to the list of executed commands
let c = cloneDeep(executedCommands);
c.push(...commands);
setExecutedCommands(c);
}}
/>
</Box>
</React.Fragment>
</PageContainer>
);
}