// ==UserScript==
// @name Hide Amazon Buy Now Button
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Hide the Buy Now button and replace checkout buttons before 8pm PST
// @author NickolayKon@
// @match https://*.amazon.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Get the Buy Now button(s) by IDs that contain 'buy-now' or 'buy-right-now'.
var buyNowButtons = document.querySelectorAll("[id*='buy-now'], [id*='buy-right-now']");
// Loop through the NodeList and hide each button
for (var i = 0; i < buyNowButtons.length; i++) {
buyNowButtons[i].style.display = "none";
}
})();
(function() {
'use strict';
// Get the current date/time in PST
let date = new Date();
let pstDate = new Date(date.toLocaleString("en-US", {timeZone: "America/Los_Angeles"}));
// If it's before 8pm PST, hide the checkout buttons and replace them with a message
if (pstDate.getHours() < 20) {
console.log("It is before 8pm lets hide the checkout")
// Classes that contain 'sc-buy-box-inner-box', or 'checkoutNowBuyNow'
let buttonClasses = ["sc-buy-box-inner-box", "checkoutNowBuyNow"];
buttonClasses.forEach(function(cls) {
var buttons = document.querySelectorAll(`.${cls}`);
for (var i = 0; i < buttons.length; i++) {
buttons[i].style.display = "none";
// Create a new element for the message
var messageElement = document.createElement("div");
messageElement.textContent = "It's before 8pm PST. Checkout is unavailable at this time for improvement of your own habits.";
// Add the message element to the page in place of the button
buttons[i].parentNode.insertBefore(messageElement, buttons[i]);
}
});
}
})();