import React, {useState} from 'react'; import axios from 'axios'; import {Box, Container, FormControl, InputLabel, MenuItem, Select, TextField, Typography,} from '@mui/material'; import copy from 'clipboard-copy'; import Button from '@mui/material/Button'; function App() { const [executorName, setExecutorName] = useState('MyCoolOcrExecutor'); const [executorDescription, setExecutorDescription] = useState('OCR detector'); const [inputModality, setInputModality] = useState('image'); const [inputDocField, setInputDocField] = useState('uri'); const [outputModality, setOutputModality] = useState('text'); const [outputDocField, setOutputDocField] = useState('text'); const [testIn, settestIn] = useState('https://miro.medium.com/v2/resize:fit:1024/0*4ty0Adbdg4dsVBo3.png'); const [testOut, settestOut] = useState('> Hello, world!_'); const [responseText, setResponseText] = useState(null); const handleSubmit = async (e) => { e.preventDefault(); const requestBody = { executor_name: executorName, executor_description: executorDescription, input_modality: inputModality, input_doc_field: inputDocField, output_modality: outputModality, output_doc_field: outputDocField, test_in: testIn, test_out: testOut, }; try { const response = await axios.post('http://0.0.0.0:8000/create', requestBody); console.log(response.data) setResponseText(response.data); } catch (error) { console.error(error); setResponseText('An error occurred while processing the request.'); } }; const handleCopy = (fileContent) => { copy(fileContent); }; return ( MicroChain ✨ Magically create your microservice just by describing it.
setExecutorName(e.target.value)} fullWidth /> setExecutorDescription(e.target.value)} fullWidth /> Input Interface Input Modality Input Doc Field Output Interface Output Modality Output Doc Field Test Parameters settestIn(e.target.value)} fullWidth /> settestOut(e.target.value)} fullWidth />
{responseText && ( Response {Object.entries(responseText.result).map(([fileName, fileContent]) => ( {fileName}
{fileContent}
))}
)}
); } export default App;