-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
59 lines (53 loc) · 2.67 KB
/
index.js
File metadata and controls
59 lines (53 loc) · 2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
function App() {
const [expression, setExpression] = React.useState("");
const [answer,setAnswer] = React.useState(0);
const calculate = () =>{
setAnswer(eval(expression));
setExpression(prev => prev + "=");
};
const allClear = () => {
setExpression("");
setAnswer("0");
};
const clear = () => {
setExpression(prev => prev.split("").slice(0,prev.length-1).join(""));
setAnswer(0);
};
const display = (symbol) => {
setExpression(prev => prev + symbol);
if(expression[expression.length-1] == "="){
if(/[1-9.]/.test(symbol)){
setExpression(symbol)
} else{
setExpression(answer + symbol);
}
}
};
return <div className="container">
<div className="grid">
<div className="dis">
<input type="text" value={expression} placeholder="0" disabled />
<div className="total">{answer}</div>
</div>
<div onClick ={clear} className="padButton C tomato">C</div>
<div onClick = {allClear} className="padButton AC tomato">AC</div>
<div onClick ={()=>display("/")} className="padButton div">/</div>
<div onClick ={()=>display("*")} className="padButton times">x</div>
<div onClick ={()=>display("7")} className="padButton seven dark-gray">7</div>
<div onClick ={()=>display("8")} className="padButton eight dark-gray">8</div>
<div onClick ={()=>display("9")} className="padButton nine dark-gray">9</div>
<div onClick ={()=>display("-")} className="padButton minus">-</div>
<div onClick ={()=>display("4")} className="padButton four dark-gray">4</div>
<div onClick ={()=>display("5")} className="padButton five dark-gray">5</div>
<div onClick ={()=>display("6")} className="padButton six dark-gray">6</div>
<div onClick ={()=>display("+")} className="padButton plus">+</div>
<div onClick ={()=>display("1")} className="padButton one dark-gray">1</div>
<div onClick ={()=>display("2")} className="padButton two dark-gray">2</div>
<div onClick ={()=>display("3")} className="padButton three dark-gray">3</div>
<div onClick ={calculate} className="padButton equal blue">=</div>
<div onClick ={()=>display("0")} className="padButton zero dark-gray">0</div>
<div onClick ={()=>display(".")} className="padButton decimal">.</div>
</div>
</div>
}
ReactDOM.render(<App />, document.getElementById("root"));