From 06b985742d368e3803ccc4be0db8e74041334570 Mon Sep 17 00:00:00 2001 From: Roman Davydov <15850461+rdavydov@users.noreply.github.com> Date: Tue, 31 Oct 2023 19:58:47 +0300 Subject: [PATCH] Save the selected streamer in localStorage --- assets/script.js | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/assets/script.js b/assets/script.js index 9927233..48b67ae 100644 --- a/assets/script.js +++ b/assets/script.js @@ -171,6 +171,14 @@ function changeStreamer(streamer, index) { $("li").removeClass("is-active") $("li").eq(index - 1).addClass('is-active'); currentStreamer = streamer; + + // Update the chart title with the current streamer's name + options.title.text = `${streamer.replace(".json", "")}'s channel points (dates are displayed in UTC)`; + chart.updateOptions(options); + + // Save the selected streamer in localStorage + localStorage.setItem("selectedStreamer", currentStreamer); + getStreamerData(streamer); } @@ -220,12 +228,26 @@ function renderStreamers() { displayname = streamer.name.replace(".json", ""); if (sortField == 'points') displayname = "" + streamer['points'] + " " + displayname; else if (sortField == 'last_activity') displayname = "" + formatDate(streamer['last_activity']) + " " + displayname; - $("#streamers-list").append(`
  • ${displayname}
  • `); + var isActive = currentStreamer === streamer.name; + if (!isActive && localStorage.getItem("selectedStreamer") === streamer.name) { + isActive = true; + currentStreamer = streamer.name; + } + var activeClass = isActive ? 'is-active' : ''; + var listItem = `
  • ${displayname}
  • `; + $("#streamers-list").append(listItem); + if (isActive) { + // Scroll the selected streamer into view + document.getElementById(`streamer-${streamer.name}`).scrollIntoView({ + behavior: 'smooth', + block: 'center' + }); + } if (index === array.length - 1) resolve(); }); }); promised.then(() => { - changeStreamer(streamersList[0].name, 1); + changeStreamer(currentStreamer, streamersList.findIndex(streamer => streamer.name === currentStreamer) + 1); }); }