When2Meet User Filter with Styling

Source: https://gist.github.com/Ulyssys/160e12ed2f14c0dadf0ee769a474d19b

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

You will need to install an extension such as Tampermonkey to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name        When2Meet User Filter with Styling
// @namespace   Violentmonkey Scripts
// @match       https://www.when2meet.com/*
// @grant       none
// @version     1.0
// @author      ulyssys
// @description Source: https://gist.github.com/Ulyssys/160e12ed2f14c0dadf0ee769a474d19b
// @grant GM_addStyle
// ==/UserScript==

// paste this into your browser console when looking at when2meet results
if (!window.OrigAvailableAtSlot) window.OrigAvailableAtSlot = AvailableAtSlot;
if (!window.OrigAvailableIDs) window.OrigAvailableIDs = AvailableIDs;
let nameFilter;
if ((nameFilter = document.getElementById("NameFilter"))) nameFilter.remove();
nameFilter = document.createElement("ul");
nameFilter.id = "NameFilter";
document.getElementById("LeftPanel").appendChild(nameFilter);
const idOn = (id) => document.getElementById(id).checked;
for (let i = 0; i < PeopleNames.length; i++) {
  const li = document.createElement("li");
  li.innerHTML =
    `<input type="checkbox" id="${PeopleIDs[i]}" checked>` +
    `&nbsp;<label for="${PeopleIDs[i]}">${PeopleNames[i]}</label>`;
  nameFilter.appendChild(li);
  li.addEventListener("change", () => {
    AvailableIDs = OrigAvailableIDs.filter(idOn);
    AvailableAtSlot = OrigAvailableAtSlot.map((avail) => avail.filter(idOn));
    ReColorGroup();
  });
}

GM_addStyle (`
.HalfPanel ul li {
    text-align: left !important;
}
`)