diff --git a/frontend/ePSIC/src/App.tsx b/frontend/ePSIC/src/App.tsx
index b5a41bd0..a04e7f2c 100644
--- a/frontend/ePSIC/src/App.tsx
+++ b/frontend/ePSIC/src/App.tsx
@@ -1,9 +1,11 @@
import { WorkflowForm } from "./components/workflows/WorkflowForm";
+import { ResourceForm } from "../../shared_components/ResourceForm";
export const App: React.FC = () => {
return (
<>
+
>
);
};
diff --git a/frontend/shared_components/ResourceForm.tsx b/frontend/shared_components/ResourceForm.tsx
new file mode 100644
index 00000000..b4083626
--- /dev/null
+++ b/frontend/shared_components/ResourceForm.tsx
@@ -0,0 +1,81 @@
+import { FC, ChangeEvent, useState } from "react";
+import { InputLabel, Grid, Stack, TextField } from "@mui/material";
+
+type FormRes = { cpus: string; gpus: string; nprocs: string; memory: string };
+
+const initialData: FormRes = {
+ cpus: "1",
+ gpus: "0",
+ nprocs: "8",
+ memory: "16Gi",
+};
+
+export const ResourceForm: FC = () => {
+ const [res, setRes] = useState(initialData);
+
+ return (
+
+
+
+
+ Resources
+
+ ) => {
+ const value = e.target.value;
+ setRes((prev) => ({ ...prev, cpus: value }));
+ }}
+ />
+ ) => {
+ const value = e.target.value;
+ setRes((prev) => ({ ...prev, gpus: value }));
+ }}
+ />
+ ) => {
+ const value = e.target.value;
+ setRes((prev) => ({ ...prev, nprocs: value }));
+ }}
+ />
+ ) => {
+ const value = e.target.value;
+ setRes((prev) => ({ ...prev, memory: value }));
+ }}
+ />
+
+
+
+ );
+};
+
+export default ResourceForm;