-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathfeature-tube.js
34 lines (34 loc) · 1.34 KB
/
feature-tube.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
request("https://api.tfl.gov.uk/line/mode/tube/status", function(response) {
const ul = document.createElement("ul");
ul.classList.add("tube-line-ul");
response.forEach(line => {
let shadow = requiresShadow(line.id) ? "tube-line-shadow" : "";
const status = line.lineStatuses[0];
let statusSeverityDescription = status.statusSeverityDescription;
const reason = status.reason;
let statusClass = getStatusClass(statusSeverityDescription);
let li = document.createElement("li");
li.classList.add("tube-line-li");
li.innerHTML = `
<span class="tube-line-name line-${line.id} ${shadow}">${line.name}</span>
<span class="tube-line-status ${statusClass}">${statusSeverityDescription}</span>
`;
ul.appendChild(li);
if (reason) {
const reasonLi = document.createElement("li");
reasonLi.innerHTML = `<p class="reason-text">${reason}</p>`;
reasonLi.classList.add("tube-reason");
reasonLi.classList.add("tube-shrunk-reason");
ul.appendChild(reasonLi);
li.addEventListener('click', (e)=>{
reasonLi.classList.toggle("tube-shrunk-reason");
});
}
});
let section = document.querySelector(".tube-section");
section.innerHTML = "";
let title = document.createElement("h1");
title.textContent = "Tube Status";
section.appendChild(title);
section.appendChild(ul);
});