// ==UserScript==
// @name Twitch Material Design
// @namespace
// @version 0.1
// @description Materialize Twitch
// @author d3xtr0
// @match *.twitch.tv/*
// @grant GM_getValue
// @grant GM_setValue
// @downloadURL none
// ==/UserScript==
(function() {
'use strict';
var betterttv = true;
$(function(){
var cssstyle = `
`;
var header = `
`;
$('body').append(header);
var search = $('#sidebar_search').clone();
$('#sidebar_search').remove();
var avatar = $('.warp .warp__avatar > img').eq(0).clone();
var profile_url = $('a.warp__tipsy[href$="/profile"]').attr("href");
var profile_action = $('a.warp__tipsy[href$="/profile"]').attr("data-ember-action");
$('.material-header').append(search);
$('.material-header .material-avatar a').append(avatar);
$('.material-header .material-avatar a').attr("href",profile_url);
$('.material-header .material-avatar a').attr("data-href",profile_url);
$('.material-header .material-avatar a').attr("data-ember-action",profile_action);
var more_stuff = $('.warp__list.warp__list--sm.drawer__item').clone();
$('.warp__list.warp__list--sm.drawer__item').remove();
var user_links = $('.warp__anchor.warp__list .warp__drawer > ul').clone();
$('.warp__anchor.warp__list .warp__drawer > ul').remove();
$('.warp__anchor.warp__list .warp__drawer').append(more_stuff);
$('.drawer .tse-content').append('');
$('.drawer .tse-content').append(user_links);
updateGames();
$('.material-hamburger').attr('data-ember-action',$('#left_close').attr('data-ember-action'));
$('.drawer .warp__item.drawer__item.drawer__item--brick').remove(); // remove logo
$('body').append(cssstyle);
/* BetterTTV */
if(betterttv){
$('.drawer .tse-content').append('');
$('body').on('click','.bttvLink',function(){
$('#bttvSettingsPanel').toggle();
});
}
/* Follow Games */
$('body').on('click','.follow-button a.follow',function(){
if (typeof gmGet("twgames") !== "undefined" && gmGet("twgames") !== "undefined" && gmGet("twgames") != "[]") {
var games = JSON.parse(gmGet("twgames"));
}else{
var games = [];
}
var title = $('h2.title').clone().children().remove().end().text().trim();
var id = games.indexOf(title);
if (id == -1) {
games.push(title);
}else{
games.splice(id, 1);
}
gmSet("twgames", JSON.stringify(games));
updateGames();
});
function updateGames(){
$('.material-games').remove();
if (typeof gmGet("twgames") !== "undefined" && gmGet("twgames") !== "undefined" && gmGet("twgames") != "[]") {
var games = JSON.parse(gmGet("twgames"));
var gamestr = '';
for (var i = 0; i < games.length; i++) {
gamestr += '- ' + games[i] + '
';
}
gamestr += '
';
$('.tse-content .warp__list').eq(0).after(gamestr);
}
}
function gmGet(name) {
var theValue = GM_getValue(name);
return theValue;
}
function gmSet(name, value) {
GM_setValue(name, value);
}
});
})();