let timeout_id = null; let revision = -1; const getNumberOfGoals = (events, team) => { let count = events.filter(item => item.event_type === "goal" && parseInt(item.event_team) === team).length; return count; } const update = () => { const url = "https://remote.grenzecho.net/wp-content/plugins/ge-live-scores/data/match_1.json"; fetch(url, {cache: "no-store"}) .then(res => res.json()) .then(out => { if (parseInt(out.status) === 0) { console.log("Status is inactive, quitting"); if (timeout_id !== null) { clearTimeout(timeout_id); } return false; } if (parseInt(out.revision) > revision) { console.log("updating", timeout_id, out); revision = parseInt(out.revision); document.getElementById("da-sls-live-message").textContent = out.live_message; const team1_logo_el = document.getElementById("da-sls-team1-logo"); let team1_img_el = document.getElementById("da-sls-team1-logo-img"); if (team1_img_el !== null) { team1_logo_el.removeChild(team1_img_el); } if (out.team1_icon_url.length > 0) { team1_img_el = document.createElement("img"); team1_img_el.setAttribute("id", "da-sls-team1-logo-img"); team1_img_el.setAttribute("src", out.team1_icon_url); team1_logo_el.append(team1_img_el); } const team2_logo_el = document.getElementById("da-sls-team2-logo"); let team2_img_el = document.getElementById("da-sls-team2-logo-img"); if (team2_img_el !== null) { team2_logo_el.removeChild(team2_img_el); } if (out.team2_icon_url.length > 0) { team2_img_el = document.createElement("img"); team2_img_el.setAttribute("id", "da-sls-team2-logo-img"); team2_img_el.setAttribute("src", out.team2_icon_url); team2_logo_el.append(team2_img_el); } document.getElementById("da-sls-team1-name").textContent = out.team1_name; document.getElementById("da-sls-team2-name").textContent = out.team2_name; document.getElementById("da-sls-team1-score").textContent = getNumberOfGoals(out.events, 0); document.getElementById("da-sls-team2-score").textContent = getNumberOfGoals(out.events, 1); const body_el = document.getElementById("da-sls-body"); while (body_el.firstChild) { body_el.removeChild(body_el.lastChild); } const sorted_events = out.events.toSorted((a, b) => { const a_minute = parseInt(a.event_minute); const b_minute = parseInt(b.event_minute); if (a_minute > b_minute) { return 1; } else if (a_minute < b_minute) { return -1; } else { const a_id = parseInt(a.event_id); const b_id = parseInt(b.event_id); if (a_id > b_id) { return 1; } else if (a_id < b_id) { return -1; } } return 0; }); sorted_events.map((event, idx) => { const even_or_odd = (idx % 2 === 0) ? "odd": "even"; const row_el = document.createElement("div"); row_el.setAttribute("class", "da-sls-row da-sls-row-" + even_or_odd); const row_left_el = document.createElement("div"); row_left_el.setAttribute("class", "da-sls-row-left"); const row_right_el = document.createElement("div"); row_right_el.setAttribute("class", "da-sls-row-right"); const team1_minute_el = document.createElement("div"); team1_minute_el.setAttribute("class", "da-sls-team1-minute"); const team1_type_el = document.createElement("div"); team1_type_el.setAttribute("class", "da-sls-team1-event-type"); const team1_description_el = document.createElement("div"); team1_description_el.setAttribute("class", "da-sls-team1-event-description"); const team2_minute_el = document.createElement("div"); team2_minute_el.setAttribute("class", "da-sls-team2-minute"); const team2_type_el = document.createElement("div"); team2_type_el.setAttribute("class", "da-sls-team2-event-type"); const team2_description_el = document.createElement("div"); team2_description_el.setAttribute("class", "da-sls-team2-event-description"); if (parseInt(event.event_team) === 0) { team1_minute_el.textContent = event.event_minute; const type_classes = "da-sls-team1-event-type da-sls-event-icon da-sls-event-icon-" + event.event_type + "-team1"; team1_type_el.setAttribute("class", type_classes); team1_description_el.innerHTML = event.event_description; } else { team2_minute_el.textContent = event.event_minute; const type_classes = "da-sls-team2-event-type da-sls-event-icon da-sls-event-icon-" + event.event_type + "-team2"; team2_type_el.setAttribute("class", type_classes); team2_description_el.innerHTML = event.event_description; } row_left_el.append(team1_minute_el, team1_type_el, team1_description_el); row_right_el.append(team2_minute_el, team2_type_el, team2_description_el); row_el.append(row_left_el, row_right_el); body_el.append(row_el); }); } else { console.log("Not updating, because revision is same or older"); } update_time = parseInt(out.update_time) * 1000; if (update_time >= 5000 && update_time { throw err }); } update();
Kommentare
Kommentar verfassen
0 Comment
Sie müssen angemeldet sein, um zu kommentieren.
AnmeldenRegistrieren