mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-15 16:07:06 +03:00
Moved notice closing to renderer (no leftover nodes)
This commit is contained in:
@@ -9,6 +9,8 @@ class SkipNotice {
|
||||
// Contains functions and variables from the content script needed by the skip notice
|
||||
contentContainer: () => any;
|
||||
|
||||
noticeElement: HTMLDivElement;
|
||||
|
||||
constructor(UUID: string, autoSkip: boolean = false, contentContainer) {
|
||||
this.UUID = UUID;
|
||||
this.autoSkip = autoSkip;
|
||||
@@ -35,16 +37,23 @@ class SkipNotice {
|
||||
//this is the suffix added at the end of every id
|
||||
let idSuffix = this.UUID + amountOfPreviousNotices;
|
||||
|
||||
let noticeElement = document.createElement("div");
|
||||
noticeElement.id = "sponsorSkipNoticeContainer" + idSuffix;
|
||||
this.noticeElement = document.createElement("div");
|
||||
this.noticeElement.id = "sponsorSkipNoticeContainer" + idSuffix;
|
||||
|
||||
referenceNode.prepend(noticeElement);
|
||||
referenceNode.prepend(this.noticeElement);
|
||||
|
||||
ReactDOM.render(
|
||||
<SkipNoticeComponent UUID={UUID} autoSkip={autoSkip} contentContainer={contentContainer} />,
|
||||
noticeElement
|
||||
<SkipNoticeComponent UUID={UUID}
|
||||
autoSkip={autoSkip}
|
||||
contentContainer={contentContainer}
|
||||
closeListener={() => this.close()} />,
|
||||
this.noticeElement
|
||||
);
|
||||
}
|
||||
|
||||
close() {
|
||||
this.noticeElement.remove();
|
||||
}
|
||||
}
|
||||
|
||||
export default SkipNotice;
|
||||
@@ -11,6 +11,8 @@ class SubmissionNotice {
|
||||
|
||||
noticeRef: React.MutableRefObject<SubmissionNoticeComponent>;
|
||||
|
||||
noticeElement: HTMLDivElement;
|
||||
|
||||
constructor(contentContainer: () => any, callback: () => any) {
|
||||
this.noticeRef = React.createRef();
|
||||
|
||||
@@ -34,23 +36,28 @@ class SubmissionNotice {
|
||||
}
|
||||
}
|
||||
|
||||
let noticeElement = document.createElement("div");
|
||||
noticeElement.id = "submissionNoticeContainer";
|
||||
this.noticeElement = document.createElement("div");
|
||||
this.noticeElement.id = "submissionNoticeContainer";
|
||||
|
||||
referenceNode.prepend(noticeElement);
|
||||
referenceNode.prepend(this.noticeElement);
|
||||
|
||||
ReactDOM.render(
|
||||
<SubmissionNoticeComponent
|
||||
contentContainer={contentContainer}
|
||||
callback={callback}
|
||||
ref={this.noticeRef} />,
|
||||
noticeElement
|
||||
ref={this.noticeRef}
|
||||
closeListener={() => this.close()} />,
|
||||
this.noticeElement
|
||||
);
|
||||
}
|
||||
|
||||
update() {
|
||||
this.noticeRef.current.forceUpdate();
|
||||
}
|
||||
|
||||
close() {
|
||||
this.noticeElement.remove();
|
||||
}
|
||||
}
|
||||
|
||||
export default SubmissionNotice;
|
||||
Reference in New Issue
Block a user