Added a notice that starts faded

This commit is contained in:
Ajay Ramachandran
2021-06-30 21:50:54 -04:00
parent 0086f00889
commit 7adf0ad169
3 changed files with 28 additions and 7 deletions

View File

@@ -106,12 +106,10 @@
@keyframes fadeIn { @keyframes fadeIn {
from { opacity: 0; } from { opacity: 0; }
to { opacity: 1; }
} }
@keyframes fadeOut { @keyframes fadeOut {
from { opacity: 1; } to { opacity: 0; }
to { opacity: 0; }
} }
.sponsorBlockSpacer { .sponsorBlockSpacer {
@@ -136,6 +134,8 @@
padding-right: 5px; padding-right: 5px;
border-collapse: unset; border-collapse: unset;
transition: opacity 0.1s ease-out;
} }
.sponsorSkipNotice .hidden { .sponsorSkipNotice .hidden {
@@ -148,11 +148,17 @@
} }
.sponsorSkipNoticeFadeIn { .sponsorSkipNoticeFadeIn {
animation: fadeIn 0.5s; animation: fadeIn 0.5s ease-out;
}
.sponsorSkipNoticeFaded {
opacity: 0.3;
} }
.sponsorSkipNoticeFadeOut { .sponsorSkipNoticeFadeOut {
animation: fadeOut 3s cubic-bezier(0.55, 0.055, 0.675, 0.19); transition: opacity 3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
opacity: 0 !important;
animation: none !important;
} }
.sponsorSkipNotice .sponsorSkipNoticeTimeLeft { .sponsorSkipNotice .sponsorSkipNoticeTimeLeft {

View File

@@ -18,6 +18,7 @@ export interface NoticeProps {
videoSpeed?: () => number, videoSpeed?: () => number,
fadeIn?: boolean, fadeIn?: boolean,
startFaded?: boolean,
firstColumn?: React.ReactElement, firstColumn?: React.ReactElement,
firstRow?: React.ReactElement, firstRow?: React.ReactElement,
@@ -39,6 +40,8 @@ export interface NoticeState {
countdownMode: CountdownMode, countdownMode: CountdownMode,
mouseHovering: boolean; mouseHovering: boolean;
startFaded: boolean;
} }
class NoticeComponent extends React.Component<NoticeProps, NoticeState> { class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
@@ -73,7 +76,9 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
//the countdown until this notice closes //the countdown until this notice closes
countdownTime: maxCountdownTime(), countdownTime: maxCountdownTime(),
countdownMode: CountdownMode.Timer, countdownMode: CountdownMode.Timer,
mouseHovering: false mouseHovering: false,
startFaded: this.props.startFaded ?? false
} }
} }
@@ -91,9 +96,10 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
<table id={"sponsorSkipNotice" + this.idSuffix} <table id={"sponsorSkipNotice" + this.idSuffix}
className={"sponsorSkipObject sponsorSkipNotice" className={"sponsorSkipObject sponsorSkipNotice"
+ (this.props.fadeIn ? " sponsorSkipNoticeFadeIn" : "") + (this.props.fadeIn ? " sponsorSkipNoticeFadeIn" : "")
+ (this.state.startFaded ? " sponsorSkipNoticeFaded" : "")
+ (this.amountOfPreviousNotices > 0 ? " secondSkipNotice" : "")} + (this.amountOfPreviousNotices > 0 ? " secondSkipNotice" : "")}
style={noticeStyle} style={noticeStyle}
onMouseEnter={() => this.timerMouseEnter()} onMouseEnter={() => { this.timerMouseEnter(); this.fadedMouseEnter(); } }
onMouseLeave={() => this.timerMouseLeave()}> onMouseLeave={() => this.timerMouseLeave()}>
<tbody> <tbody>
@@ -175,6 +181,14 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
)]; )];
} }
fadedMouseEnter(): void {
if (this.state.startFaded) {
this.setState({
startFaded: false
});
}
}
timerMouseEnter(): void { timerMouseEnter(): void {
if (this.state.countdownMode === CountdownMode.Stopped) return; if (this.state.countdownMode === CountdownMode.Stopped) return;

View File

@@ -150,6 +150,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
amountOfPreviousNotices={this.amountOfPreviousNotices} amountOfPreviousNotices={this.amountOfPreviousNotices}
idSuffix={this.idSuffix} idSuffix={this.idSuffix}
fadeIn={true} fadeIn={true}
startFaded={true}
timed={true} timed={true}
maxCountdownTime={this.state.maxCountdownTime} maxCountdownTime={this.state.maxCountdownTime}
videoSpeed={() => this.contentContainer().v?.playbackRate} videoSpeed={() => this.contentContainer().v?.playbackRate}