diff --git a/src/App.tsx b/src/App.tsx index 48a93ff..5e689ec 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,7 +6,7 @@ import Home from "./Home"; import Calculator from "./Calculator"; const App: React.FC = () => { - const [calcMode, setCalcMode] = useState<"sum" | "product">("sum"); + const [calcMode, setCalcMode] = useState<"buildBox" | "flatBar">("flatBar"); return ( diff --git a/src/Calculator.tsx b/src/Calculator.tsx index d142702..be1c613 100644 --- a/src/Calculator.tsx +++ b/src/Calculator.tsx @@ -1,24 +1,42 @@ import React, { useState } from "react"; +import { SecBuildBox, SecFlatBar, SecSteel } from "@st-func/st-func-ts"; +import { Unit } from "@st-func/st-func-ts"; interface CalculatorProps { - calcMode: "sum" | "product"; - setCalcMode: React.Dispatch>; + calcMode: "buildBox" | "flatBar"; + setCalcMode: React.Dispatch>; } const Calculator: React.FC = ({ calcMode, setCalcMode }) => { const [num1, setNum1] = useState(""); const [num2, setNum2] = useState(""); const [num3, setNum3] = useState(""); + const [num4, setNum4] = useState(""); const [result, setResult] = useState(undefined); const handleCalculation = () => { - if (calcMode === "sum") { - const sum = parseFloat(num1) + parseFloat(num2) + parseFloat(num3); - setResult(sum); - } else if (calcMode === "product") { - const product = parseFloat(num1) * parseFloat(num2); - setResult(product); + let secSteel: SecSteel; + if (calcMode === "buildBox") { + const secBuildBox: SecBuildBox = new SecBuildBox(); + secBuildBox.setDimensions( + Unit.input(parseFloat(num1), "mm"), + Unit.input(parseFloat(num2), "mm"), + Unit.input(parseFloat(num3), "mm"), + Unit.input(parseFloat(num4), "mm") + ); + secSteel = secBuildBox; + } else if (calcMode === "flatBar") { + const secFlatBar: SecFlatBar = new SecFlatBar(); + secFlatBar.setDimensions( + Unit.input(parseFloat(num1), "mm"), + Unit.input(parseFloat(num2), "mm") + ); + secSteel = secFlatBar; + } else { + secSteel = new SecSteel(); } + let result: number = Unit.output(secSteel.area(), "mm^2"); + setResult(result); }; return ( @@ -28,10 +46,12 @@ const Calculator: React.FC = ({ calcMode, setCalcMode }) => {
@@ -50,14 +70,24 @@ const Calculator: React.FC = ({ calcMode, setCalcMode }) => { onChange={(e) => setNum2(e.target.value)} />
- {calcMode === "sum" && ( + {calcMode === "buildBox" && (
- - setNum3(e.target.value)} - /> +
+ + setNum3(e.target.value)} + /> +
+
+ + setNum4(e.target.value)} + /> +
)}