diff --git a/src/App.tsx b/src/App.tsx index 851cc82..4b48427 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,46 +1,101 @@ import { useState } from 'react'; +import getSum, { defaultSeprator } from "./stringCalculator" const App = () => { - const [input, setInput] = useState(''); - const [result] = useState(null); + const [input, setInput] = useState(''); + const [limiter, setLimiter] = useState(defaultSeprator); + const [result, setResult] = useState(null); + const [errorMessage, setErrorMessage] = useState(null) - const handleCalculate = () => {}; + const handleCalculate = (event: React.FormEvent) => { + event.preventDefault(); + setErrorMessage(null); + if (!input) { + setErrorMessage("Please enter a non empty input") + return; + } + + try { + const sum = getSum(input, limiter) + setResult(sum) + + } catch (error) { + setErrorMessage((error as Error).message) + } + }; return ( -
+
Calculator application banner showing mathematical symbols and numbers -

String Calculator

+

String Calculator

-

Enter numbers

+
-