137 lines
4.2 KiB
JavaScript
137 lines
4.2 KiB
JavaScript
// Selected = is clicked sport selected or not, BOOL
|
|
// Sports = all selected sports, ARRAY
|
|
$(".sport").on("selected", function(e, selected, sports) {
|
|
filters.sports = sports;
|
|
$(window).trigger("filter");
|
|
showFeeds()
|
|
})
|
|
|
|
window.addEventListener('DOMContentLoaded', (event) => {
|
|
window.sessionStorage.setItem('tweets', JSON.stringify([]));
|
|
// run code every 5 seconds
|
|
setInterval(function() {
|
|
$(window).trigger("filter");
|
|
}, 1000);
|
|
});
|
|
|
|
$(".sport").on("click", function() {
|
|
$(this).toggleClass("selected")
|
|
|
|
let sportName = $(this).children()[1].innerHTML // 2nd element, which is the sport name
|
|
|
|
|
|
let index = selectedSports.indexOf(sportName)
|
|
if (index > -1 ) { // If element is found in array
|
|
selectedSports.splice(index, 1) // Remove sport at index
|
|
} else {
|
|
selectedSports.push(sportName) // Add sport to array
|
|
}
|
|
|
|
showFeeds()
|
|
$(this).trigger("selected", [selectedSports.includes(sportName), selectedSports]) // Trigger event
|
|
})
|
|
|
|
$(window).on("resize", function(){
|
|
showFeeds()
|
|
});
|
|
|
|
$(window).on("load", function() {
|
|
showFeeds()
|
|
})
|
|
|
|
let root = document.querySelector(":root")
|
|
|
|
$(".logo").on("click", function() {
|
|
if (root.style.getPropertyValue("--main-bg") === 'snow') {
|
|
var audio = new Audio("../media/Chicken.mp3");
|
|
audio.play();
|
|
root.style.setProperty('--main-medium-dark', '#1E1E1E');
|
|
root.style.setProperty('--main-bg', '#292929');
|
|
root.style.setProperty('--main-light', ' #ffffff' );
|
|
root.style.setProperty('--main-dark', '#ffffff');
|
|
root.style.setProperty('--tweet-color', '#000000')
|
|
root.style.setProperty('--column-color', '#1E1E1E')
|
|
} else {
|
|
var audio = new Audio("../media/Rooster.mp3");
|
|
audio.play();
|
|
root.style.setProperty('--main-medium-dark', '#1D9BF0');
|
|
root.style.setProperty('--main-bg', 'snow');
|
|
root.style.setProperty('--main-light', '#000000');
|
|
root.style.setProperty('--main-dark', ' #000000');
|
|
root.style.setProperty('--tweet-color', 'whitesmoke');
|
|
root.style.setProperty('--column-color', 'rgba(112, 128, 144, 0.388');
|
|
}
|
|
})
|
|
|
|
$(window).on("filter", function() {
|
|
var parent = document.querySelector("#filtered")
|
|
var lastTweet = parent.firstChild
|
|
|
|
tweets = window.sessionStorage.getItem('tweets');
|
|
tweets = JSON.parse(tweets);
|
|
tweets = filterTweets(tweets, filters.blockedWords, filters.searchedWords.concat(filters.sports), filters.sorted, filters.order);
|
|
tweets = sortTweets(tweets, {"sortby":filters.sorted, "order":filters.order});
|
|
var displayTweets = tweets.reverse().slice(0, 20).reverse();
|
|
if(tweetCell(displayTweets[0]) != lastTweet){
|
|
parent.replaceChildren();
|
|
for (i = 0; i < Math.min(19, displayTweets.length); i++){
|
|
tweet = displayTweets[i];
|
|
parent.prepend(tweetCell(tweet));
|
|
}
|
|
}
|
|
})
|
|
|
|
$(".current-sort").on("click", function() {
|
|
$(".sort-dropdown-list li:not(:first-of-type)").toggle()
|
|
})
|
|
|
|
$(".sort-btn").on("click", function() {
|
|
$(".sort-dropdown-list li:not(:first-of-type)").toggle()
|
|
})
|
|
|
|
$(".sort-dropdown-list li:not(:first-of-type)").on("click", function() {
|
|
$(".sort-dropdown-list li:not(:first-of-type)").toggle()
|
|
$(".current-sort").html($(this).html())
|
|
})
|
|
|
|
|
|
$(".order-btn").on("click", function() {
|
|
if($(this).html() == "arrow_downward") { // Descending to ascending
|
|
$(this).html("arrow_upward")
|
|
filters.order = 'asc'
|
|
} else { // Ascending to descending
|
|
$(this).html("arrow_downward")
|
|
filters.order = 'desc'
|
|
}
|
|
$(window).trigger("filter")
|
|
showFeeds()
|
|
})
|
|
|
|
function updateSearched(searched){
|
|
searched = searched.split(",");
|
|
filters.searchedWords = searched;
|
|
$(window).trigger("filter");
|
|
showFeeds()
|
|
}
|
|
|
|
function updateBlocked(blocked){
|
|
blocked = blocked.split(",");
|
|
filters.blockedWords = blocked;
|
|
$(window).trigger("filter");
|
|
showFeeds()
|
|
}
|
|
|
|
function updateSort(sort){
|
|
sortarray = []
|
|
filters.sorted = sort;
|
|
$(window).trigger("filter");
|
|
showFeeds()
|
|
}
|
|
|
|
$(".pause-btn").on("click", function() {
|
|
if($(".pause-btn").html() == "pause") { // Unpaused to paused
|
|
$(".pause-btn").html("play_arrow")
|
|
} else { // Paused to unpaused
|
|
$(".pause-btn").html("pause")
|
|
}
|
|
}) |