JSFiddle - React, Tailwind, and code Playground
JavaScript
(function () {
var statusStore = '';
var trackStore = [];
var trackingURL = 'https://api.goshippo.com/v1/tracks/fedex/';
var outTrackNum = $(document.body).find("b:contains('Outgoing Tracking #')")[0];
var returnTrackNum = $(document.body).find("b:contains('Return Tracking #')")[0];
var statusDisplay = $(document.body).find("b:contains('Shipment Status')")[0];
statusDisplay = $(statusDisplay).parent().parent().next();
outTrackNum = $(outTrackNum).parent().parent().next().html();
returnTrackNum = $(returnTrackNum).parent().parent().next().html();
trackStore = [outTrackNum,returnTrackNum];
$(trackStore).each(function(index) {
$.get(trackingURL + trackStore[index]).done(function(data) {
if (data.tracking_status == null || data.tracking_status == undefined) {
statusStore += "<div style='border: 1px solid #ddd; border-radius: 5px; padding: 5px; background: #f0f8ff; margin: 5px;'>";
if (index == 0) {
statusStore += "<div style='text-decoration: underline; text-align: center;'><b>Outgoing Status</b></div>";
} else {
statusStore += "<div style='text-decoration: underline; text-align: center;'><b>Return Status</b></div>";
}
statusStore += "<div style='padding: 5px; text-align: center;'>(No status information available)</div></div>"
} else {
//gather delivery status
var currStatus = data.tracking_status.status_details;
//gather date info
var statusDate = new Date(data.tracking_status.status_date);
statusDate = statusDate.toString().replace(/GMT.*$/,'');
//gather ETA
var currETA = new Date(data.eta);
currETA = currETA.toString().replace(/GMT.*$/,'');
//gather location info
var currLocation = data.tracking_status.location;
var fullLocation = data.tracking_status.location.city;
fullLocation += ', ' + data.tracking_status.location.state;
fullLocation += ', ' + data.tracking_status.location.zip;
...