// ==UserScript==
// @name はてなグリーンスターに縁をつける
// @title はてなグリーンスターに縁をつける
// @namespace https://let.hatelabo.jp/Lhankor_Mhy/let/kNe6m5vsgKAA
// @version 2024-01-31
// @description はてなグリーンスターに縁をつけます。via: https://b.hatena.ne.jp/entry/4748592896526814671/comment/murlock
// @author Lhankor_Mhy
// @match https://b.hatena.ne.jp/entry/*
// @match https://b.hatena.ne.jp/*/bookmark
// @icon https://b.hatena.ne.jp/favicon.ico
// @license CC0
// @noframes
// @grant none
// @javascript_url
// ==/UserScript==
{
let timerId;
new MutationObserver((mutationList, observer) => {
mutationList.forEach((mutation) => {
switch (mutation.type) {
case "childList":
clearTimeout(timerId);
timerId = setTimeout(replaceGreenStar, 500)
break;
}
});
}).observe(document.body, {
childList: true,
subtree: true,
});
const replaceGreenStar = () => {
document.querySelectorAll('.hatena-star-star.green span')?.forEach(e =>e.style.backgroundImage = `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='10.299' viewBox='0 0 11 10.299'%3E%3Cpath d='M-4785.954,1552.838l2.935,2.125-1.127,3.381a.352.352,0,0,0,.538.393l2.815-1.961h0l.2-.14,3.009,2.1a.353.353,0,0,0,.533-.4l-1.036-3.128v0l-.079-.24.2-.15,0,0,2.712-1.971a.352.352,0,0,0-.207-.638h-3.651l-.079-.238,0,0-1.075-3.218a.352.352,0,0,0-.667-.005l-1.167,3.464h-3.653A.353.353,0,0,0-4785.954,1552.838Z' transform='translate(4786.096 -1548.503)' fill='%2300d200' stroke='%23000'/%3E%3C/svg%3E")`)
}
replaceGreenStar();
}