Greasy Fork

Greasy Fork is available in English.

🐭️ MouseHunt - Gift Buttons

Add buttons to easily accept and return all daily gifts.

当前为 2022-08-13 提交的版本,查看 最新版本

// ==UserScript==
// @name         🐭️ MouseHunt - Gift Buttons
// @version      1.0.1
// @description  Add buttons to easily accept and return all daily gifts.
// @license      MIT
// @author       bradp
// @namespace    bradp
// @match        https://www.mousehuntgame.com/*
// @icon         https://brrad.com/mouse.png
// @grant        none
// @run-at      document-end
// ==/UserScript==

const makeButtons = () => {
	if (document.getElementById('bulk-gifting-gift-buttons')) {
		return;
	}

	const acceptButton = document.createElement('a');
	acceptButton.innerHTML = 'Accept All';
	acceptButton.addEventListener('click', () => {
		// eslint-disable-next-line no-undef
		hg.views.GiftSelectorView.show();
		const acceptButtons = document.querySelectorAll('.giftSelectorView-friendRow-action.claim:not(.disbled):not(.selected)');
		acceptButtons.forEach((button) => {
			button.click();
		});
		document.querySelector('.mousehuntActionButton.giftSelectorView-action-confirm.small').click();
	});

	const acceptAndReturnButton = document.createElement('a');
	acceptAndReturnButton.innerHTML = 'Accept & Return All';
	acceptAndReturnButton.addEventListener('click', () => {
		// eslint-disable-next-line no-undef
		hg.views.GiftSelectorView.show();
		const acceptButtons = document.querySelectorAll('.giftSelectorView-friendRow-action.return:not(.disbled):not(.selected)');
		acceptButtons.forEach((button) => {
			button.click();
		});
		document.querySelector('.mousehuntActionButton.giftSelectorView-action-confirm.small').click();
	});

	const buttonContainer = document.createElement('div');
	buttonContainer.id = 'bulk-gifting-gift-buttons';
	buttonContainer.appendChild(acceptButton);
	buttonContainer.appendChild(acceptAndReturnButton);

	const giftFooter = document.querySelector('.giftSelectorView-inbox-footer');
	giftFooter.insertBefore(buttonContainer, giftFooter.firstChild);
};

(() => {
	const style = document.createElement('style');
	style.innerHTML = `
	#bulk-gifting-gift-buttons {
		text-align: right;
		margin: 0 0 10px;
	}

	#bulk-gifting-gift-buttons a {
		display: inline-block;
		background-color: #eee;
		box-shadow: 1px 1px 1px #eee;
		border: 1px solid #000;
		border-radius: 5px;
		font-size: 12px;
		text-align: center;
		line-height: 30px;
		text-decoration: none;
		color: black;
		padding: 0 10px;
	}

	#bulk-gifting-gift-buttons a:last-child:hover,
	#bulk-gifting-gift-buttons a:hover {
		background-color: #ffae00;
		box-shadow: 0 0 5px #fff inset, 1px 1px 1px #fff;
	}

	#bulk-gifting-gift-buttons a:last-child {
		background-color: #fff600;
		margin-left: 10px;
	}
	`;
	document.head.appendChild(style);

	const originalOpen = XMLHttpRequest.prototype.open;
	XMLHttpRequest.prototype.open = function () {
		this.addEventListener('load', function () {
			if (this.responseURL === 'https://www.mousehuntgame.com/managers/ajax/users/socialGift.php') {
				makeButtons();
			}
		});
		originalOpen.apply(this, arguments);
	};

	document.querySelector('#hgbar_freegifts').addEventListener('click', function () {
		makeButtons();
	});
})();