mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2024-09-20 13:03:45 +02:00
commit
1d83a4616d
2 changed files with 41 additions and 3 deletions
|
@ -32,6 +32,8 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
|||
|
||||
videoObserver: MutationObserver;
|
||||
|
||||
showingYouCapNotice: boolean;
|
||||
|
||||
constructor(props: SubmissionNoticeProps) {
|
||||
super(props);
|
||||
this.noticeRef = React.createRef();
|
||||
|
@ -45,7 +47,7 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
|||
this.state = {
|
||||
noticeTitle,
|
||||
messages: [],
|
||||
idSuffix: "SubmissionNotice"
|
||||
idSuffix: "SubmissionNotice",
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -87,6 +89,8 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
|||
</td>
|
||||
</tr>
|
||||
|
||||
{this.getYouCapMessage()}
|
||||
|
||||
{/* Last Row */}
|
||||
<tr id={"sponsorSkipNoticeSecondRow" + this.state.idSuffix}>
|
||||
|
||||
|
@ -113,6 +117,36 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
|||
);
|
||||
}
|
||||
|
||||
/** TODO: Remove */
|
||||
getYouCapMessage(): JSX.Element {
|
||||
if (Config.config.sponsorTimesContributed < 20
|
||||
|| (Config.config.hasShownYouCapNotice && !this.showingYouCapNotice)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Config.config.hasShownYouCapNotice = true;
|
||||
if (!this.showingYouCapNotice) {
|
||||
this.showingYouCapNotice = true;
|
||||
}
|
||||
|
||||
return (
|
||||
<tr style={{textAlign: "center"}}>
|
||||
<p style={{width: "300px", textAlign: "center", display: "inline-block"}}>
|
||||
Like contributing to crowdsourced projects?
|
||||
Consider checking out <a href="https://youcap.video/" style={{textDecoration: "underline"}}>YouCap</a>,
|
||||
a new open-source replacement for YouTube{"'"}s now defunct community captions.
|
||||
YouCap is NOT made by me, but I think it looks like a cool idea.
|
||||
</p>
|
||||
|
||||
<img src={chrome.extension.getURL("icons/close.png")}
|
||||
style={{padding: "0", margin: "auto"}}
|
||||
className="sponsorSkipObject sponsorSkipNoticeButton sponsorSkipNoticeCloseButton"
|
||||
onClick={() => { this.showingYouCapNotice = false; this.forceUpdate(); }}>
|
||||
</img>
|
||||
</tr>
|
||||
);
|
||||
}
|
||||
|
||||
getSponsorTimeMessages(): JSX.Element[] | JSX.Element {
|
||||
const elements: JSX.Element[] = [];
|
||||
this.timeEditRefs = [];
|
||||
|
|
|
@ -55,7 +55,9 @@ interface SBConfig {
|
|||
"preview-selfpromo": PreviewBarOption,
|
||||
"music_offtopic": PreviewBarOption,
|
||||
"preview-music_offtopic": PreviewBarOption,
|
||||
}
|
||||
},
|
||||
|
||||
hasShownYouCapNotice: boolean
|
||||
}
|
||||
|
||||
export interface SBObject {
|
||||
|
@ -229,7 +231,9 @@ const Config: SBObject = {
|
|||
color: "#a6634a",
|
||||
opacity: "0.7"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
hasShownYouCapNotice: false
|
||||
},
|
||||
localConfig: null,
|
||||
config: null,
|
||||
|
|
Loading…
Reference in a new issue