mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-09 13:07:05 +03:00
Added a notice that starts faded
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user