When2Meet User Filter with Styling

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

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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;
}
`)