• 0 Posts
  • 3 Comments
Joined 2 months ago
cake
Cake day: May 21st, 2025

help-circle
  • I wrote this one ages ago to throw shopgoodwill.com items in my calendar because the times are in PDT and they don’t have any built in notification (that works)

    Also made it work with govdeals but I haven’t tested that in ages so YMMV

    Writes it to a Google calendar URL. I had it write to an ICS file at one point but I don’t have version control on this one file

    javascript: (
        () => {
            function createItem(productTitle, date) {
                console.log(productTitle, date);
                 window.open(`https://calendar.google.com/calendar/render?action=TEMPLATE&text=%24%7BproductTitle%7D&details=%24%7BproductTitle%7D @ Goodwill ${window.location}&dates=${date}/${date}`);
            }
            if (window.location.href.toString().includes("https://shopgoodwill.com/item/")) {
                try {
                    let title = document.querySelectorAll(".mb-4.d-none.d-md-block.ng-star-inserted")[0].innerText;
                    let headers = document.querySelectorAll("th.font-weight-bold.text-nowrap");
                    let time;
                    if (headers[4].innerHTML == " Handling Price: ") {
                        time = headers[5] }
                    else {
                        time = headers[4]
                    }
                    time = time.parentElement.children[1].innerHTML.substring(0, 25) + "DT";
                    console.log(headers);
                    createItem(title, new Date(time).toISOString().split(".")[0].replace(/-/gi, "").replace(/:/gi, "") + "Z");
                } catch (e) {
                    alert("An error occurred, check the console for full details: " + e);
                    console.log(e); 
                }
            } else if (window.location.href.toString().includes("https://www.govdeals.com/index.cfm")) {
                try {
                    createItem(document.querySelectorAll("#asset_short_desc_id")[0].innerText, new Date(document.querySelectorAll("tr > td[align='right'][nowrap='nowrap'] > b")[0].innerText.replace("ET", "EDT")).toISOString().split(".")[0].replace(/-/gi, "").replace(/:/gi, "") + "Z");
                } catch (e) {
                    alert("An error occurred, check the console for full details: " + e);
                    console.log(e);
                }
            } else {
                alert("This is not a goodwill or govdeals item page.");
            }
        })();