Sponsor time submission now has proper error messages.

This commit is contained in:
Ajay Ramachandran
2019-07-20 16:03:42 -04:00
parent 91f0b65d06
commit a7a4642920
3 changed files with 55 additions and 11 deletions

View File

@@ -21,11 +21,10 @@ chrome.tabs.onUpdated.addListener( // On tab update
chrome.runtime.onMessage.addListener(function (request, sender, callback) { chrome.runtime.onMessage.addListener(function (request, sender, callback) {
if (request.message == "submitTimes") { if (request.message == "submitTimes") {
submitTimes(request.videoID); submitTimes(request.videoID, callback);
callback({ //this allows the callback to be called later by the submitTimes function
success: true return true;
});
} else if (request.message == "ytvideoid") { } else if (request.message == "ytvideoid") {
if (previousVideoID != request.videoID) { if (previousVideoID != request.videoID) {
videoIDChange(request.videoID); videoIDChange(request.videoID);
@@ -107,7 +106,7 @@ function submitVote(type, UUID, callback) {
}) })
} }
function submitTimes(videoID) { function submitTimes(videoID, callback) {
//get the video times from storage //get the video times from storage
let sponsorTimeKey = 'sponsorTimes' + videoID; let sponsorTimeKey = 'sponsorTimes' + videoID;
chrome.storage.local.get([sponsorTimeKey], function(result) { chrome.storage.local.get([sponsorTimeKey], function(result) {
@@ -119,7 +118,17 @@ function submitTimes(videoID) {
getUserID(function(userIDStorage) { getUserID(function(userIDStorage) {
//submit the sponsorTime //submit the sponsorTime
sendRequestToServer('GET', "/api/postVideoSponsorTimes?videoID=" + videoID + "&startTime=" + sponsorTimes[i][0] + "&endTime=" + sponsorTimes[i][1] sendRequestToServer('GET', "/api/postVideoSponsorTimes?videoID=" + videoID + "&startTime=" + sponsorTimes[i][0] + "&endTime=" + sponsorTimes[i][1]
+ "&userID=" + userIDStorage); + "&userID=" + userIDStorage, function(xmlhttp, error) {
if (xmlhttp.readyState == 4 && !error) {
callback({
statusCode: xmlhttp.status
});
} else if (error) {
callback({
statusCode: -1
});
}
});
}); });
} }
} }

View File

@@ -62,8 +62,18 @@
<br/> <br/>
<br/> <br/>
<div id="submitTimesContainer" style="display: none">
<button id="submitTimes" class="smallButton">Submit Times</button>
<div id="submitTimesInfoMessageContainer" style="display: none">
<h3 id="submitTimesInfoMessage">
</h3>
</div>
</div>
<button id="submitTimes" style="display: none" class="smallButton">Submit Times</button>
</div> </div>
<div id="optionsButtonContainer"> <div id="optionsButtonContainer">

View File

@@ -268,12 +268,35 @@ function clearTimes() {
} }
function submitTimes() { function submitTimes() {
//make info message say loading
document.getElementById("submitTimesInfoMessage").innerText = "Loading...";
document.getElementById("submitTimesInfoMessageContainer").style.display = "unset";
if (sponsorTimes.length > 0) { if (sponsorTimes.length > 0) {
chrome.runtime.sendMessage({ chrome.runtime.sendMessage({
message: "submitTimes", message: "submitTimes",
videoID: currentVideoID videoID: currentVideoID
}, function(request) { }, function(response) {
clearTimes(); if (response != undefined) {
if (response.statusCode == 200) {
//hide loading message
document.getElementById("submitTimesInfoMessageContainer").style.display = "none";
clearTimes();
} else if(response.statusCode == 400) {
document.getElementById("submitTimesInfoMessage").innerText = "Server said this request was invalid";
document.getElementById("submitTimesInfoMessageContainer").style.display = "unset";
} else if(response.statusCode == 429) {
document.getElementById("submitTimesInfoMessage").innerText = "You have submitted too many sponsor times for this one video, are you sure there are this many?";
document.getElementById("submitTimesInfoMessageContainer").style.display = "unset";
} else if(response.statusCode == 409) {
document.getElementById("submitTimesInfoMessage").innerText = "This has already been submitted before";
document.getElementById("submitTimesInfoMessageContainer").style.display = "unset";
} else {
document.getElementById("submitTimesInfoMessage").innerText = "There was an error submitting your sponsor times, please try again later";
document.getElementById("submitTimesInfoMessageContainer").style.display = "unset";
}
}
}); });
} }
} }
@@ -343,13 +366,15 @@ function resetStartTimeChosen() {
document.getElementById("sponsorStart").innerHTML = "Sponsorship Starts Now"; document.getElementById("sponsorStart").innerHTML = "Sponsorship Starts Now";
} }
//hides and shows the submit times button when needed
function showSubmitTimesIfNecessary() { function showSubmitTimesIfNecessary() {
//check if an end time has been specified for the latest sponsor time //check if an end time has been specified for the latest sponsor time
if (sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length > 1) { if (sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length > 1) {
//show submit times button //show submit times button
document.getElementById("submitTimes").style.display = "unset"; document.getElementById("submitTimesContainer").style.display = "unset";
} else { } else {
document.getElementById("submitTimes").style.display = "none"; //hide submit times button
document.getElementById("submitTimesContainer").style.display = "none";
} }
} }