// ==UserScript== // @name MakerWorld Points in Tab // @namespace http://tampermonkey.net/ // @version 1.0 // @description Sets tab title to "XXX Points - MakerWorld" // @match https://makerworld.com/en/points* // @grant none // @license MIT // @downloadURL https://update.greasyfork.icu/scripts/570413/MakerWorld%20Points%20in%20Tab.user.js // @updateURL https://update.greasyfork.icu/scripts/570413/MakerWorld%20Points%20in%20Tab.meta.js // ==/UserScript== (function() { 'use strict'; function updateTitle() { const label = [...document.querySelectorAll('div')] .find(d => d.textContent.trim() === 'Total Points'); if (!label) return; const container = label.closest('div.mw-css-1a40nq7'); if (!container) return; const numberEl = container.querySelector('span'); if (!numberEl) return; const points = numberEl.textContent.trim(); if (!points) return; document.title = `${points} Points - MakerWorld`; } // Because MakerWorld is React-based, wait until content loads const observer = new MutationObserver(updateTitle); observer.observe(document.body, { childList: true, subtree: true }); // Also run once after slight delay setTimeout(updateTitle, 1500); })();