extra feature added
This commit is contained in:
parent
d4320837a4
commit
ae49f8f392
@ -5,6 +5,7 @@ import "./styles/Buttons.css";
|
|||||||
const Buttons = ({
|
const Buttons = ({
|
||||||
inputHandler,
|
inputHandler,
|
||||||
clearInput,
|
clearInput,
|
||||||
|
clearAnswer,
|
||||||
backspace,
|
backspace,
|
||||||
changePlusMinus,
|
changePlusMinus,
|
||||||
calculateAns,
|
calculateAns,
|
||||||
@ -23,6 +24,9 @@ const Buttons = ({
|
|||||||
<button className="btn exp" onClick={inputHandler}>
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
√
|
√
|
||||||
</button>
|
</button>
|
||||||
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
|
x<sup>2</sup>
|
||||||
|
</button>
|
||||||
<button className="btn clr" onClick={clearInput}>
|
<button className="btn clr" onClick={clearInput}>
|
||||||
AC
|
AC
|
||||||
</button>
|
</button>
|
||||||
@ -30,11 +34,14 @@ const Buttons = ({
|
|||||||
⌫
|
⌫
|
||||||
</button>
|
</button>
|
||||||
<button className="btn exp" onClick={inputHandler}>
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
%
|
log
|
||||||
</button>
|
</button>
|
||||||
<button className="btn exp" onClick={inputHandler}>
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
÷
|
÷
|
||||||
</button>
|
</button>
|
||||||
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
|
%
|
||||||
|
</button>
|
||||||
<button className="btn" onClick={inputHandler}>
|
<button className="btn" onClick={inputHandler}>
|
||||||
7
|
7
|
||||||
</button>
|
</button>
|
||||||
@ -47,6 +54,9 @@ const Buttons = ({
|
|||||||
<button className="btn exp" onClick={inputHandler}>
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
x
|
x
|
||||||
</button>
|
</button>
|
||||||
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
|
x<sup>3</sup>
|
||||||
|
</button>
|
||||||
<button className="btn" onClick={inputHandler}>
|
<button className="btn" onClick={inputHandler}>
|
||||||
4
|
4
|
||||||
</button>
|
</button>
|
||||||
@ -59,6 +69,9 @@ const Buttons = ({
|
|||||||
<button className="btn exp" onClick={inputHandler}>
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
-
|
-
|
||||||
</button>
|
</button>
|
||||||
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
|
<sup>3</sup>√
|
||||||
|
</button>
|
||||||
<button className="btn" onClick={inputHandler}>
|
<button className="btn" onClick={inputHandler}>
|
||||||
1
|
1
|
||||||
</button>
|
</button>
|
||||||
@ -71,6 +84,9 @@ const Buttons = ({
|
|||||||
<button className="btn exp" onClick={inputHandler}>
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
+
|
+
|
||||||
</button>
|
</button>
|
||||||
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
|
!
|
||||||
|
</button>
|
||||||
<button className="btn exp" onClick={changePlusMinus}>
|
<button className="btn exp" onClick={changePlusMinus}>
|
||||||
±
|
±
|
||||||
</button>
|
</button>
|
||||||
@ -80,7 +96,7 @@ const Buttons = ({
|
|||||||
<button className="btn exp" onClick={inputHandler}>
|
<button className="btn exp" onClick={inputHandler}>
|
||||||
.
|
.
|
||||||
</button>
|
</button>
|
||||||
<button className="btn exp" onClick={calculateAns}>
|
<button className="btn exp equal" onClick={calculateAns}>
|
||||||
=
|
=
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -12,6 +12,11 @@ function Calculator() {
|
|||||||
const inputHandler = (event) => {
|
const inputHandler = (event) => {
|
||||||
if (answer === "Invalid Input!!") return;
|
if (answer === "Invalid Input!!") return;
|
||||||
let val = event.target.innerText;
|
let val = event.target.innerText;
|
||||||
|
if (val === "x2") val = "^2";
|
||||||
|
else if (val === "x3") val = "^3";
|
||||||
|
else if (val === "3√") val = "^(1÷3)";
|
||||||
|
else if (val === "log") val = "log(";
|
||||||
|
|
||||||
let str = input + val;
|
let str = input + val;
|
||||||
if (str.length > 14) return;
|
if (str.length > 14) return;
|
||||||
|
|
||||||
@ -28,6 +33,11 @@ function Calculator() {
|
|||||||
setAnswer("");
|
setAnswer("");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const clearAnswer = () => {
|
||||||
|
if (answer === "") setInput("");
|
||||||
|
setAnswer("");
|
||||||
|
};
|
||||||
|
|
||||||
// check brackets are balanced or not
|
// check brackets are balanced or not
|
||||||
const checkBracketBalanced = (expr) => {
|
const checkBracketBalanced = (expr) => {
|
||||||
let stack = [];
|
let stack = [];
|
||||||
@ -131,6 +141,7 @@ function Calculator() {
|
|||||||
<Buttons
|
<Buttons
|
||||||
inputHandler={inputHandler}
|
inputHandler={inputHandler}
|
||||||
clearInput={clearInput}
|
clearInput={clearInput}
|
||||||
|
clearAnswer={clearAnswer}
|
||||||
backspace={backspace}
|
backspace={backspace}
|
||||||
changePlusMinus={changePlusMinus}
|
changePlusMinus={changePlusMinus}
|
||||||
calculateAns={calculateAns}
|
calculateAns={calculateAns}
|
||||||
|
|||||||
@ -1,14 +1,19 @@
|
|||||||
.show-btn {
|
.show-btn {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: auto auto auto auto;
|
grid-template-columns: auto auto auto auto auto;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
border-bottom-left-radius: 10px;
|
border-bottom-left-radius: 10px;
|
||||||
border-bottom-right-radius: 10px;
|
border-bottom-right-radius: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.equal {
|
||||||
|
grid-column-start: 4;
|
||||||
|
grid-column-end: 6;
|
||||||
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
width: 80px;
|
width: 60px;
|
||||||
height: 80px;
|
height: 60px;
|
||||||
margin: 6px auto;
|
margin: 6px auto;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
@ -21,8 +26,9 @@
|
|||||||
.btn:last-child {
|
.btn:last-child {
|
||||||
font-weight: medium;
|
font-weight: medium;
|
||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
width: 65px;
|
width: 110px;
|
||||||
height: 65px;
|
height: 50px;
|
||||||
|
border-radius: 10px;
|
||||||
color: white;
|
color: white;
|
||||||
background-color: #6dd5ed;
|
background-color: #6dd5ed;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user