Files
twitter-project/dashboard_static/js/events.js
2022-11-03 14:35:27 +01:00

112 lines
3.4 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");
})
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
}
$(this).trigger("selected", [selectedSports.includes(sportName), selectedSports]) // Trigger event
showFeeds()
})
$(window).on("resize", function(){
showFeeds()
});
$(window).on("load", function() {
showFeeds()
})
$(".sortby").on("click", function() {
$(".sort-dropdown").toggle()
// $(".sort-btn").toggleClass("radius-bottom")
})
$(".sort-dropdown-list li").on("click", function() {
$(".sort-dropdown").toggle()
})
let root = document.querySelector(":root")
$(".logo").on("click", function() {
if (root.style.getPropertyValue("--main-bg") === 'snow') {
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 {
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")
parent.replaceChildren();
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, [filters.sorted, filters.order]);
var displayTweets = tweets.reverse().slice(0, 20).reverse();
for (i = 0; i < 19; i++){
parent.prepend(tweetCell(displayTweets[i]));
}
})
$(".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")
})
function updateSearched(searched){
searched = searched.split(",");
filters.searchedWords = searched;
$(window).trigger("filter");
}
function updateBlocked(blocked){
blocked = blocked.split(",");
filters.blockedWords = blocked;
$(window).trigger("filter");
}
function updateSort(sort){
sortarray = []
filters.sorted = sort;
$(window).trigger("filter");
}