mirror of
https://github.com/milk-net/milk-net.github.io.git
synced 2025-04-19 17:43:42 -05:00
Update index.html
This commit is contained in:
parent
14967af468
commit
05dfe7ddfb
1 changed files with 122 additions and 115 deletions
|
@ -5,154 +5,161 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>MilkNet | Calculator</title>
|
<title>MilkNet | Calculator</title>
|
||||||
<style>
|
<style>
|
||||||
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap');
|
|
||||||
body {
|
body {
|
||||||
font-family: 'DM Sans', sans-serif;
|
font-family: 'Arial', sans-serif;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
background-color: #000;
|
margin: 0;
|
||||||
|
background-color: #000; /* Dark background */
|
||||||
|
color: white; /* White text */
|
||||||
}
|
}
|
||||||
.calculator {
|
.calculator {
|
||||||
background: #111;
|
background-color: #000; /* Dark calculator background */
|
||||||
color: #fff;
|
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
box-shadow: 0px 4px 15px rgba(255, 255, 255, 0.2);
|
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
|
||||||
text-align: center;
|
width: 280px;
|
||||||
}
|
}
|
||||||
input {
|
input {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 60px;
|
height: 50px;
|
||||||
text-align: center;
|
font-size: 24px;
|
||||||
font-size: 2em;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
background: #222;
|
|
||||||
color: #fff;
|
|
||||||
border: none;
|
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
background-color: #000;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
.buttons {
|
.buttons {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(5, 1fr);
|
grid-template-columns: repeat(4, 1fr);
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
button {
|
button {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
font-size: 1.3em;
|
font-size: 18px;
|
||||||
font-weight: 500;
|
|
||||||
border: none;
|
border: none;
|
||||||
background: #333;
|
background-color: #444; /* Dark buttons */
|
||||||
color: #fff;
|
color: white;
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
transition: background 0.3s ease;
|
cursor: pointer;
|
||||||
|
transition: background-color 0.3s, transform 0.1s;
|
||||||
}
|
}
|
||||||
button:hover {
|
button:hover {
|
||||||
background: #555;
|
background-color: #555;
|
||||||
|
}
|
||||||
|
button:active {
|
||||||
|
background-color: #666;
|
||||||
|
transform: scale(0.98);
|
||||||
|
}
|
||||||
|
button:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
.button-clear {
|
||||||
|
background-color: #e63946;
|
||||||
|
}
|
||||||
|
.button-equal {
|
||||||
|
background-color: #2a9d8f;
|
||||||
|
grid-column: span 4;
|
||||||
|
}
|
||||||
|
.button-function {
|
||||||
|
background-color: #f1faee;
|
||||||
|
color: #333;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<div class="calculator">
|
<div class="calculator">
|
||||||
<input type="text" id="display" disabled>
|
<input type="text" id="display" disabled>
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<button onclick="clearDisplay()">C</button>
|
<button class="button-clear" onclick="clearDisplay()">C</button>
|
||||||
<button onclick="appendToDisplay('(')">(</button>
|
<button onclick="deleteLast()">←</button>
|
||||||
<button onclick="appendToDisplay(')')">)</button>
|
<button class="button-function" onclick="appendToDisplay('%')">%</button>
|
||||||
<button onclick="appendToDisplay(' / ')">/</button>
|
<button class="button-function" onclick="appendToDisplay('/')">/</button>
|
||||||
<button onclick="appendToDisplay(' * ')">*</button>
|
|
||||||
<button onclick="appendToDisplay('7')">7</button>
|
<button onclick="appendToDisplay('7')">7</button>
|
||||||
<button onclick="appendToDisplay('8')">8</button>
|
<button onclick="appendToDisplay('8')">8</button>
|
||||||
<button onclick="appendToDisplay('9')">9</button>
|
<button onclick="appendToDisplay('9')">9</button>
|
||||||
<button onclick="appendToDisplay(' - ')">-</button>
|
<button class="button-function" onclick="appendToDisplay('*')">*</button>
|
||||||
<button onclick="appendToDisplay(' + ')">+</button>
|
|
||||||
<button onclick="appendToDisplay('4')">4</button>
|
<button onclick="appendToDisplay('4')">4</button>
|
||||||
<button onclick="appendToDisplay('5')">5</button>
|
<button onclick="appendToDisplay('5')">5</button>
|
||||||
<button onclick="appendToDisplay('6')">6</button>
|
<button onclick="appendToDisplay('6')">6</button>
|
||||||
<button onclick="appendToDisplay('%')">%</button>
|
<button class="button-function" onclick="appendToDisplay('-')">-</button>
|
||||||
|
|
||||||
<button onclick="appendToDisplay('1')">1</button>
|
<button onclick="appendToDisplay('1')">1</button>
|
||||||
<button onclick="appendToDisplay('2')">2</button>
|
<button onclick="appendToDisplay('2')">2</button>
|
||||||
<button onclick="appendToDisplay('3')">3</button>
|
<button onclick="appendToDisplay('3')">3</button>
|
||||||
|
<button class="button-function" onclick="appendToDisplay('+')">+</button>
|
||||||
|
|
||||||
<button onclick="appendToDisplay('0')">0</button>
|
<button onclick="appendToDisplay('0')">0</button>
|
||||||
<button onclick="appendToDisplay('.')">.</button>
|
<button onclick="appendToDisplay('.')">.</button>
|
||||||
<button onclick="appendToDisplay('sin(')">sin</button>
|
<button class="button-function" onclick="appendToDisplay('**')">^</button>
|
||||||
<button onclick="appendToDisplay('cos(')">cos</button>
|
|
||||||
<button onclick="appendToDisplay('tan(')">tan</button>
|
<button class="button-function" onclick="appendToDisplay('sin(')">sin</button>
|
||||||
<button onclick="appendToDisplay('log(')">log</button>
|
<button class="button-function" onclick="appendToDisplay('cos(')">cos</button>
|
||||||
<button onclick="appendToDisplay('√(')">√</button>
|
<button class="button-function" onclick="appendToDisplay('tan(')">tan</button>
|
||||||
<button onclick="appendToDisplay('^')">x^y</button>
|
|
||||||
<button onclick="appendToDisplay('π')">π</button>
|
|
||||||
<button onclick="appendToDisplay('e')">e</button>
|
<button class="button-function" onclick="appendToDisplay('(')">(</button>
|
||||||
<button onclick="appendToDisplay('!')">x!</button>
|
<button class="button-function" onclick="appendToDisplay(')')">)</button>
|
||||||
<button onclick="calculateResult()">=</button>
|
|
||||||
|
|
||||||
|
<button class="button-equal" onclick="calculate()">=</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function appendToDisplay(value) {
|
|
||||||
// Add spaces around operators
|
|
||||||
if (['+', '-', '*', '/', '%', '^'].includes(value)) {
|
|
||||||
// Check if there's already a space before or after the operator
|
|
||||||
let display = document.getElementById('display').value;
|
|
||||||
if (display && display.slice(-1) !== ' ' && !['+', '-', '*', '/', '%', '^'].includes(display.slice(-1))) {
|
|
||||||
document.getElementById('display').value += ' ' + value + ' ';
|
|
||||||
} else if (display === '') {
|
|
||||||
document.getElementById('display').value += ' ' + value + ' ';
|
|
||||||
} else {
|
|
||||||
document.getElementById('display').value += value;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
document.getElementById('display').value += value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function clearDisplay() {
|
function clearDisplay() {
|
||||||
document.getElementById('display').value = '';
|
document.getElementById('display').value = '';
|
||||||
}
|
}
|
||||||
function calculateResult() {
|
|
||||||
|
function deleteLast() {
|
||||||
|
let display = document.getElementById('display');
|
||||||
|
display.value = display.value.slice(0, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function appendToDisplay(value) {
|
||||||
|
let display = document.getElementById('display');
|
||||||
|
display.value += value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function calculate() {
|
||||||
|
let display = document.getElementById('display');
|
||||||
try {
|
try {
|
||||||
let expression = document.getElementById('display').value;
|
display.value = eval(display.value.replace(/sin\(/g, 'Math.sin(').replace(/cos\(/g, 'Math.cos(').replace(/tan\(/g, 'Math.tan('));
|
||||||
expression = expression.replace(/factorial\((\d+)\)/g, (match, num) => factorial(parseInt(num)));
|
|
||||||
document.getElementById('display').value = eval(expression);
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
alert('Invalid Expression');
|
display.value = 'Error';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function factorial(n) {
|
|
||||||
if (n === 0 || n === 1) return 1;
|
|
||||||
let result = 1;
|
|
||||||
for (let i = 2; i <= n; i++) {
|
|
||||||
result *= i;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add event listener for keyboard input
|
|
||||||
document.addEventListener('keydown', function(event) {
|
|
||||||
const key = event.key;
|
|
||||||
|
|
||||||
// Handle digit keys and operators
|
document.addEventListener('keydown', function (e) {
|
||||||
if ((key >= '0' && key <= '9') || key === '.' || key === '+' || key === '-' || key === '*' || key === '/' || key === '%' || key === '^') {
|
const validKeys = [
|
||||||
appendToDisplay(key);
|
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
||||||
|
'.', '/', '*', '-', '+', '=', 'Enter', 'Backspace', 'c',
|
||||||
|
'(', ')', '%', '^'
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
if (validKeys.includes(e.key)) {
|
||||||
|
if (e.key === 'Enter' || e.key === '=') {
|
||||||
|
calculate();
|
||||||
|
} else if (e.key === 'Backspace') {
|
||||||
|
deleteLast();
|
||||||
|
} else if (e.key === 'c' || e.key === 'c') {
|
||||||
|
clearDisplay();
|
||||||
|
} else {
|
||||||
|
appendToDisplay(e.key);
|
||||||
}
|
}
|
||||||
// Handle special characters and functions
|
|
||||||
else if (key === '(') {
|
|
||||||
appendToDisplay('(');
|
|
||||||
} else if (key === ')') {
|
|
||||||
appendToDisplay(')');
|
|
||||||
} else if (key === 'Enter') {
|
|
||||||
calculateResult();
|
|
||||||
} else if (key === 'Backspace') {
|
|
||||||
backspace();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Function for handling Backspace
|
|
||||||
function backspace() {
|
|
||||||
let display = document.getElementById('display').value;
|
|
||||||
document.getElementById('display').value = display.slice(0, -1);
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Add table
Reference in a new issue