|
|
@ -1,25 +1,26 @@
|
|
|
|
import './style.css';
|
|
|
|
import './style.css';
|
|
|
|
|
|
|
|
|
|
|
|
const code = '1234';
|
|
|
|
const CODE = '1234';
|
|
|
|
|
|
|
|
let builder = '';
|
|
|
|
|
|
|
|
|
|
|
|
const display = document.getElementById('display') as HTMLDivElement;
|
|
|
|
const display = document.getElementById('display') as HTMLDivElement;
|
|
|
|
const light = document.getElementById('light') as HTMLDivElement;
|
|
|
|
const light = document.getElementById('light') as HTMLDivElement;
|
|
|
|
const keypad = document.getElementById('keypad') as HTMLDivElement;
|
|
|
|
const keypad = document.getElementById('keypad') as HTMLDivElement;
|
|
|
|
|
|
|
|
|
|
|
|
function resetCode() {
|
|
|
|
function resetCode() {
|
|
|
|
display.innerText = '';
|
|
|
|
display.innerText = '_'.repeat(CODE.length);
|
|
|
|
light.classList.remove('is-success', 'is-error');
|
|
|
|
light.classList.remove('is-success', 'is-error');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function composeDigit(digit: number) {
|
|
|
|
function composeDigit(digit: number) {
|
|
|
|
const output = display.innerText + digit.toString();
|
|
|
|
builder += digit.toString();
|
|
|
|
display.innerText = output;
|
|
|
|
display.innerText = builder + '_'.repeat(CODE.length - builder.length);
|
|
|
|
if (!code.startsWith(output)) {
|
|
|
|
if (!CODE.startsWith(builder)) {
|
|
|
|
light.classList.add('is-error');
|
|
|
|
light.classList.add('is-error');
|
|
|
|
setTimeout(resetCode, 1000);
|
|
|
|
setTimeout(resetCode, 1000);
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (code === output) {
|
|
|
|
if (CODE === builder) {
|
|
|
|
light.classList.add('is-success');
|
|
|
|
light.classList.add('is-success');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -35,3 +36,4 @@ const reset = document.createElement('button');
|
|
|
|
reset.innerText = 'C';
|
|
|
|
reset.innerText = 'C';
|
|
|
|
reset.onclick = resetCode;
|
|
|
|
reset.onclick = resetCode;
|
|
|
|
keypad.appendChild(reset);
|
|
|
|
keypad.appendChild(reset);
|
|
|
|
|
|
|
|
resetCode();
|
|
|
|