let root = document.documentElement // Used for css variables let selectedSports = [] $(".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() }) function getCSSVariable(name) { return getComputedStyle(root).getPropertyValue(name) } function showFeeds() { if ($(window).width() < 1280) { if (selectedSports.length === 0) { $(".leftcol").show() $(".centercol").hide() } else { $(".leftcol").hide() $(".centercol").show() } } else { $(".leftcol").show() $(".centercol").show() } } $(window).on("resize", function(){ showFeeds() }); $(window).on("load", function() { showFeeds() }) function tweetCell(tweet) { var cell = document.createElement("div"); cell.innerHTML = `
` return cell } function filterTweets(tweets, bannedWords=[], searchWords=[], likesTop=null, likesBottom=null, retweetsTop=null, retweetsBottom=null, repliesTop=null, repliesBottom=null) { if(bannedWords.length > 0){ tweets = filterBannedWords(bannedWords, tweets) } if(searchWords.length > 0){ tweets = searchForWords(searchWords, tweets) } if(likesTop != null || likesBottom != null){ tweets = filterLikes(likesTop, likesBottom, tweets) } if(retweetsTop != null || retweetsBottom != null){ tweets = filterRetweets(retweetsTop, retweetsBottom, tweets) } if(repliesTop != null || repliesBottom != null){ tweets = filterReplies(repliesTop, repliesBottom, tweets) } return tweets } function filterBannedWords(bannedWords, tweets){ for (let i = 0; i < tweets.length; i++) { var tweet = tweets[i] for(let j=0; j < bannedWords.length; j++){ if (tweet.text.toLowerCase().includes(bannedWords[j].toLowerCase())){ tweets.splice(i, 1) break } } } return tweets } function searchForWords(searchWords, tweets){ for (let i = 0; i < tweets.length; i++) { var tweet = tweets[i] for(let i=0; i < searchWords.length; i++){ if (!tweet.text.toLowerCase().includes(searchWords[i].toLowerCase())) { tweets.splice(i, 1) break } } } return tweets } function filterLikes(likesTop, likesBottom, tweets){ for (let i = 0; i < tweets.length; i++) { var tweet = tweets[i] if(tweet.favorite_count >= likesTop || tweet.favorite_count <= likesBottom){ tweets.splice(i, 1) break } } return tweets } function filterRetweets(retweetsTop, retweetsBottom, tweets){ for (let i = 0; i < tweets.length; i++) { var tweet = tweets[i] if(tweet.retweet_count >= retweetsTop || tweet.retweet_count <= retweetsBottom){ tweets.splice(i, 1) break } } return tweets } function filterReplies(repliesTop, repliesBottom, tweets){ for (let i = 0; i < tweets.length; i++) { var tweet = tweets[i] if(tweet.reply_count >= repliesTop || tweet.reply_count <= repliesBottom){ tweets.splice(i, 1) break } } return tweets } function sortTweets(tweets, likesDes=null, retweetsDes=null, repliesDes=null, dateDes=null){ if(likesDes && likesDes!=null){ tweets.sort(function(a,b){return b.favorite_count-a.favorite_count}) } else if (!likesDes && likesDes!=null){ tweets.sort(function(a,b){return a.favorite_count-b.favorite_count}) } if(retweetsDes && retweetsDes!=null){ tweets.sort(function(a,b){return b.retweet_count-a.retweet_count}) } else if (!retweetsDes && retweetsDes!=null){ tweets.sort(function(a,b){return a.retweet_count-b.retweet_count}) } if(repliesDes && repliesDes!=null){ tweets.sort(function(a,b){return b.reply_count-a.reply_count}) } else if (!repliesDes && repliesDes!=null){ tweets.sort(function(a,b){return a.reply_count-b.reply_count}) } if(dateDes && dateDes!=null){ tweets.sort(function(a,b){return Date(b.created_at)-Date(a.reply_count)}) } else if (!dateDes && dateDes!=null){ tweets.sort(function(a,b){return Date(a.created_at)-Date(b.reply_count)}) } return tweets }