diff --git a/web-app/js/projects.js b/web-app/js/projects.js
index 24e291d..82d3e56 100644
--- a/web-app/js/projects.js
+++ b/web-app/js/projects.js
@@ -1323,29 +1323,29 @@ function getCalculatorHTML() {
🧮 Ultra Pro Calculator
-
+
0
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
@@ -207,25 +207,59 @@ function initCalculator() {
default:
expression += action;
}
-
update();
});
});
document.addEventListener("keydown", (e) => {
- if (!isNaN(e.key) || e.key === ".") expression += e.key;
+ const key=e.key;
+ if(!document.getElementById("calcDisplay")) return;
+ if(key==="Enter" ||
+ key==="Backspace" ||
+ key==="Escape" ||
+ key==="=" ||
+ ["+","-","*","/","^",".","(",")"].includes(key) ||
+ /^[0-9]$/.test(key)
+ ) {
+ e.preventDefault()
+ }
+ if(/^[0-9]$/.test(key)){
+ expression+=key;
+ }
+ else if(key==="."){
+ expression+=".";
+ }
+ else if(["+","-","*","/"].includes(key)){
+ expression+=key;
+ }
+ else if(key===")" || key==="("){
+ expression+=key;
+ }
+ else if(key==="^"){
+ expression+="^";
+ }
+ else if(key==="Enter" || key==="="){
+ expression=safeEval(expression);
+ }
+ else if(key==="Backspace"){
+ expression=expression.slice(0,-1);
+ }
+ else if(key==="Escape" || key.toLowerCase()==="c"){
+ expression="";
+ }
+ update();
+ // if (!isNaN(e.key) || e.key === ".") expression += e.key;
- if (["+", "-", "*", "/"].includes(e.key)) expression += e.key;
+ // if (["+", "-", "*", "/"].includes(e.key)) expression += e.key;
- if (e.key === "^") expression += "^";
+ // if (e.key === "^") expression += "^";
- if (e.key === "Enter") expression = safeEval(expression);
+ // if (e.key === "Enter") expression = safeEval(expression);
- if (e.key === "Backspace") expression = expression.slice(0, -1);
+ // if (e.key === "Backspace") expression = expression.slice(0, -1);
- update();
});
-
+
update();
}