mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-10 13:37:04 +03:00
Don't close submission menu if submission didn't go through
Fxies submission menu closing for warning about previewing a segment
This commit is contained in:
@@ -14,7 +14,7 @@ export interface SubmissionNoticeProps {
|
|||||||
// Contains functions and variables from the content script needed by the skip notice
|
// Contains functions and variables from the content script needed by the skip notice
|
||||||
contentContainer: ContentContainer;
|
contentContainer: ContentContainer;
|
||||||
|
|
||||||
callback: () => unknown;
|
callback: () => Promise<boolean>;
|
||||||
|
|
||||||
closeListener: () => void;
|
closeListener: () => void;
|
||||||
}
|
}
|
||||||
@@ -239,9 +239,11 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.props.callback();
|
this.props.callback().then((success) => {
|
||||||
|
if (success) {
|
||||||
this.cancel();
|
this.cancel();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
sortSegments(): void {
|
sortSegments(): void {
|
||||||
|
|||||||
@@ -2265,13 +2265,13 @@ function submitSegments() {
|
|||||||
|
|
||||||
//send the message to the background js
|
//send the message to the background js
|
||||||
//called after all the checks have been made that it's okay to do so
|
//called after all the checks have been made that it's okay to do so
|
||||||
async function sendSubmitMessage() {
|
async function sendSubmitMessage(): Promise<boolean> {
|
||||||
// check if all segments are full video
|
// check if all segments are full video
|
||||||
const onlyFullVideo = sponsorTimesSubmitting.every((segment) => segment.actionType === ActionType.Full);
|
const onlyFullVideo = sponsorTimesSubmitting.every((segment) => segment.actionType === ActionType.Full);
|
||||||
// Block if submitting on a running livestream or premiere
|
// Block if submitting on a running livestream or premiere
|
||||||
if (!onlyFullVideo && (getIsLivePremiere() || isVisible(document.querySelector(".ytp-live-badge")))) {
|
if (!onlyFullVideo && (getIsLivePremiere() || isVisible(document.querySelector(".ytp-live-badge")))) {
|
||||||
alert(chrome.i18n.getMessage("liveOrPremiere"));
|
alert(chrome.i18n.getMessage("liveOrPremiere"));
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!previewedSegment
|
if (!previewedSegment
|
||||||
@@ -2279,7 +2279,7 @@ async function sendSubmitMessage() {
|
|||||||
[ActionType.Full, ActionType.Chapter, ActionType.Poi].includes(segment.actionType)
|
[ActionType.Full, ActionType.Chapter, ActionType.Poi].includes(segment.actionType)
|
||||||
|| segment.segment[1] >= getVideo()?.duration)) {
|
|| segment.segment[1] >= getVideo()?.duration)) {
|
||||||
alert(`${chrome.i18n.getMessage("previewSegmentRequired")} ${keybindToString(Config.config.previewKeybind)}`);
|
alert(`${chrome.i18n.getMessage("previewSegmentRequired")} ${keybindToString(Config.config.previewKeybind)}`);
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add loading animation
|
// Add loading animation
|
||||||
@@ -2305,7 +2305,7 @@ async function sendSubmitMessage() {
|
|||||||
const confirmShort = chrome.i18n.getMessage("shortCheck") + "\n\n" +
|
const confirmShort = chrome.i18n.getMessage("shortCheck") + "\n\n" +
|
||||||
getSegmentsMessage(sponsorTimesSubmitting);
|
getSegmentsMessage(sponsorTimesSubmitting);
|
||||||
|
|
||||||
if(!confirm(confirmShort)) return;
|
if(!confirm(confirmShort)) return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2355,6 +2355,8 @@ async function sendSubmitMessage() {
|
|||||||
if (fullVideoSegment) {
|
if (fullVideoSegment) {
|
||||||
categoryPill?.setSegment(fullVideoSegment);
|
categoryPill?.setSegment(fullVideoSegment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
} else {
|
} else {
|
||||||
// Show that the upload failed
|
// Show that the upload failed
|
||||||
playerButtons.submit.button.style.animation = "unset";
|
playerButtons.submit.button.style.animation = "unset";
|
||||||
@@ -2366,6 +2368,8 @@ async function sendSubmitMessage() {
|
|||||||
alert(getErrorMessage(response.status, response.responseText));
|
alert(getErrorMessage(response.status, response.responseText));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//get the message that visually displays the video times
|
//get the message that visually displays the video times
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class SubmissionNotice {
|
|||||||
// Contains functions and variables from the content script needed by the skip notice
|
// Contains functions and variables from the content script needed by the skip notice
|
||||||
contentContainer: () => unknown;
|
contentContainer: () => unknown;
|
||||||
|
|
||||||
callback: () => unknown;
|
callback: () => Promise<boolean>;
|
||||||
|
|
||||||
noticeRef: React.MutableRefObject<SubmissionNoticeComponent>;
|
noticeRef: React.MutableRefObject<SubmissionNoticeComponent>;
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ class SubmissionNotice {
|
|||||||
|
|
||||||
root: Root;
|
root: Root;
|
||||||
|
|
||||||
constructor(contentContainer: ContentContainer, callback: () => unknown) {
|
constructor(contentContainer: ContentContainer, callback: () => Promise<boolean>) {
|
||||||
this.noticeRef = React.createRef();
|
this.noticeRef = React.createRef();
|
||||||
|
|
||||||
this.contentContainer = contentContainer;
|
this.contentContainer = contentContainer;
|
||||||
|
|||||||
Reference in New Issue
Block a user