// ==UserScript==
// @name KİNG WHOWHERE V2
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Garti.io da olan otaqları rahatlıqla izləmənizi təmin edər
// @author KİNG
// @match https://gartic.io/?king2
// @icon data:image/gif;https://lh3.googleusercontent.com/a/ACg8ocI2MjKyE-4hqdU3u44cGzhdfkAW8I7JhUUAr1U0O6JFAB8Pqg4r=s300
// @grant none
// @downloadURL https://update.greasyfork.icu/scripts/510678/K%C4%B0NG%20WHOWHERE%20V2.user.js
// @updateURL https://update.greasyfork.icu/scripts/510678/K%C4%B0NG%20WHOWHERE%20V2.meta.js
// ==/UserScript==
if (window.location.href.indexOf("?king2") !== -1) {
let leftContent = document.createElement("div");
leftContent.setAttribute("style", "position:fixed; top:0; left:0; width:30%; height:100vh; background:#111; border-right:5px solid silver; padding:10px; box-sizing:border-box; overflow-y:auto; color:#f1f1f1; z-index:9999;");
leftContent.classList.add("leftcontent");
let rightContent = document.createElement("div");
rightContent.setAttribute("style", "position:fixed; top:0; left:30%; width:70%; height:100vh; background:#111; padding:10px; box-sizing:border-box; z-index:9999;");
rightContent.classList.add("rightcontent");
let header = `
Developer by King
`;
let iframeBorderStyle = "border:5px solid gold;";
let headerIframe = `WhoWhere by King
`;
let themeSelect = `
`;
let searchInput = "";
let roomList = "";
leftContent.innerHTML = themeSelect + searchInput + roomList;
document.body.appendChild(leftContent);
document.body.appendChild(rightContent);
function _(x) { return document.querySelector(x); }
function _a(x) { return document.querySelectorAll(x); }
window.filterRooms = (rooms, search) => {
return rooms.filter(room => room.code.toLowerCase().includes(search.toLowerCase()));
}
window.refreshrooms = (search = "") => {
const themeValue = _(".themeselect").value;
fetch("https://gartic.io/req/list?search=" + search + "&language[]=23" + themeValue).then(response => response.json()).then(data => {
let roomdatas = window.filterRooms(data, search);
let favorites = JSON.parse(localStorage.getItem('favorites')) || [];
let favoriteRooms = roomdatas.filter(room => favorites.includes(room.code));
let otherRooms = roomdatas.filter(room => !favorites.includes(room.code));
_(".rooms").innerHTML = "";
const createRoomElement = (room) => `
`;
_(".rooms").innerHTML += favoriteRooms.map(createRoomElement).join('');
_(".rooms").innerHTML += otherRooms.map(createRoomElement).join('');
});
}
window.openInIframe = (url, roomCode) => {
_(".rightcontent").innerHTML = `${headerIframe}`;
document.querySelectorAll('.room .watching-indicator').forEach(el => el.remove());
const roomElement = document.querySelector(`.room[data-code="${roomCode}"]`);
if (roomElement) {
roomElement.insertAdjacentHTML('beforeend', 'Otaq İzlənilir
');
}
}
window.openRoom = (roomCode, event) => {
event.stopPropagation();
window.open(`https://gartic.io/${roomCode}`, '_blank');
}
window.toggleFavorite = (roomCode, event) => {
event.stopPropagation();
let favorites = JSON.parse(localStorage.getItem('favorites')) || [];
if (favorites.includes(roomCode)) {
favorites = favorites.filter(code => code !== roomCode);
_(`#favorite-${roomCode}`).checked = false;
} else {
favorites.push(roomCode);
_(`#favorite-${roomCode}`).checked = true;
}
localStorage.setItem('favorites', JSON.stringify(favorites));
window.refreshrooms();
}
window.addEventListener('load', () => {
window.refreshrooms();
});
}