import React, { useState } from 'react';
import Button from './Button';
function Calculator() {
const [output, setOutput] = useState("");
const buttons = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ".", "+", "-", "*", "/", "=", "CLEAR"];
const handleClick = (value) => {
if (value === "=") {
if (output.includes("/0")) {
setOutput("Error: Cannot divide by zero");
} else {
try {
setOutput(eval(output).toString());
} catch {
setOutput("Error");
}
}
} else if (value === "CLEAR") {
setOutput("");
} else if (value === ".") {
const lastNumber = output.split(/[\+\-\*\/]/).slice(-1)[0];
if (!lastNumber.includes(".")) {
setOutput(output + value);
}
} else {
setOutput(output + value);
}
};
return (
<div className="calculator">
<div className="output">{output}</div>
<div className="buttons">
{buttons.map((button, index) => (
<Button key={index} value={button} onClick={() => handleClick(button)} />
))}
</div>
</div>
);
}
export default Calculator;