-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathindex.js
61 lines (51 loc) · 1.38 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
const localTime = () => {
const date = new Date();
return {
hours: date.getHours(),
minutes: date.getMinutes(),
seconds: date.getSeconds(),
};
};
const Offence = (props) => {
return `
<div class="offence">
<div class="offence__time">
<span class="hours">
${String(props.time.hours).padStart(2, '0')}
</span>
:
<span class="minutes">
${String(props.time.minutes).padStart(2, '0')}
</span>
:
<span class="seconds">
${String(props.time.seconds).padStart(2, '0')}
</span>
</div>
<div class="offence__plate">SPZ: ${props.plate}</div>
</div>
`;
};
const OffencesList = (props) => {
let result = '<div class="offences-list">';
for (let i = 0; i < props.offences.length; i += 1) {
result += Offence(props.offences[i]);
}
result += '</div>';
return result;
};
const data = [];
const offencesElm = document.querySelector('#offences');
offencesElm.innerHTML = OffencesList({ offences: data });
const addBtn = document.querySelector('#add-btn');
addBtn.addEventListener('click', () => {
const plateInput = document.querySelector('#plate-input');
const offence = {
time: localTime(),
plate: plateInput.value,
};
data.push(offence);
plateInput.value = '';
plateInput.focus();
offencesElm.innerHTML = OffencesList({ offences: data });
});