Search/static/js/calculator.js
partisan 57507756ec
Some checks failed
Run Integration Tests / test (push) Failing after 49s
Init Instant Answers
2025-06-25 23:23:33 +02:00

47 lines
1.6 KiB
JavaScript

document.addEventListener('DOMContentLoaded', function () {
const calcContainer = document.getElementById('dynamic-calc');
const staticCalc = document.getElementById('static-calc');
if (calcContainer) {
calcContainer.style.display = 'block';
if (staticCalc) staticCalc.style.display = 'none';
const input = document.getElementById('calc-input');
const result = document.getElementById('calc-result');
const history = document.getElementById('calc-history');
const buttons = document.querySelectorAll('.calc-buttons button');
let currentInput = '';
let historyLog = [];
const updateUI = () => {
input.value = currentInput;
history.innerHTML = historyLog.map(entry => `<div>${entry}</div>`).join('');
};
buttons.forEach(button => {
button.addEventListener('click', () => {
const val = button.getAttribute('data-value');
if (val === 'C') {
currentInput = '';
} else if (val === '=') {
try {
const res = eval(currentInput);
historyLog.push(`${currentInput} = ${res}`);
if (historyLog.length > 30) historyLog.shift(); // Remove oldest
currentInput = res.toString();
} catch (e) {
currentInput = 'Error';
}
} else {
currentInput += val;
}
updateUI();
});
});
updateUI();
}
});