JSFiddle - React, Tailwind, and code Playground

pushover api v05

by dledle2

JavaScript

javascript: try {
    void(function() {
    

function remainder(x, y) {
  while (x >= y) {
    x -= y;
  }
  return x;
}


function getDayOfMonthSuffix(dayOfMonth) {
  if (dayOfMonth >= 11 && dayOfMonth <= 13) {
    return 'th';
  }
  /* switch (dayOfMonth % 10) { */
  switch (remainder(dayOfMonth, 10)) {
    case 1:  return "st";
    case 2:  return "nd";
    case 3:  return "rd";
    default: return "th";
  }
}

var now = new Date();
var monthNames = ["January", "February", "March", "April", "May", "June", "July",
  "August", "September", "October", "November", "December"
];
var monthIndex = now.getMonth();
var monthName = monthNames[monthIndex];
var dayOfMonth = now.getDate();
var suffix = getDayOfMonthSuffix(dayOfMonth);
var formattedDate = monthName + ' ' + dayOfMonth + suffix;

var currentTime = now.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});

var message = 'hello world ' + currentTime + ' ' + formattedDate;

var pushNotificationCount = 0;

function sendPushNotification() {
  var xhr = new XMLHttpRequest();
  xhr.open('POST', 'https://api.pushover.net/1/messages.json', true);
  xhr.setRequestHeader('Content-Type', 'application/json');

  var data = {
    token: 'xxxx',
    user: 'xxx',
    message: message,
  };

  xhr.send(JSON.stringify(data));
}

// Check for the condition every 1 second using setInterval
var intervalId = setInterval(function() {
  var blurbElements = document.querySelectorAll('#blurb');
  if (blurbElements.length > 0 && blurbElements[0].innerHTML.includes('loads failed')) {
    sendPushNotification();
    pushNotificationCount++;
    if (pushNotificationCount >= 2) {
      clearInterval(intervalId);
    }
  }
}, 10 * 1000);

    

    }())
} catch (e) {}
void(0);