mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-06 19:47:04 +03:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f9f6ac0107 | ||
|
|
133c61ffed | ||
|
|
21b7507a9e | ||
|
|
fd459414aa | ||
|
|
4296ea3f85 | ||
|
|
92b3cda9ef | ||
|
|
907eba3827 | ||
|
|
86cf324d62 | ||
|
|
e32db21f4e | ||
|
|
6afcc6fb3a | ||
|
|
e510686baa | ||
|
|
330dd3cbbd | ||
|
|
e9b687df6a | ||
|
|
e89dfed07e | ||
|
|
435b215025 | ||
|
|
e0165e4aac | ||
|
|
63f9bd5926 | ||
|
|
87c4758089 |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "__MSG_fullName__",
|
||||
"short_name": "SponsorBlock",
|
||||
"version": "5.13.2",
|
||||
"version": "5.13.4",
|
||||
"default_locale": "en",
|
||||
"description": "__MSG_Description__",
|
||||
"homepage_url": "https://sponsor.ajay.app",
|
||||
|
||||
Submodule maze-utils updated: e3388197c3...33f0b5b757
Submodule public/_locales updated: 1314fb8089...9469b109c2
@@ -107,6 +107,10 @@ div:hover > #previewbar.sbNotInvidious {
|
||||
transform: translateY(-1em) !important;
|
||||
}
|
||||
|
||||
.ytp-tooltip.sponsorCategoryTooltipVisible {
|
||||
transform: translateY(-1em) !important;
|
||||
}
|
||||
|
||||
.ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips {
|
||||
transform: translateY(-2em) !important;
|
||||
}
|
||||
@@ -145,17 +149,17 @@ div:hover > #previewbar.sbNotInvidious {
|
||||
}
|
||||
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips > .ytp-tooltip-text-wrapper {
|
||||
transform: translateY(1em) !important;
|
||||
transform: translateY(1.75em) !important;
|
||||
}
|
||||
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible > .ytp-tooltip-text-wrapper > .ytp-tooltip-text {
|
||||
display: block !important;
|
||||
transform: translateY(1em) !important;
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible > .ytp-tooltip-text-wrapper .ytp-tooltip-text {
|
||||
display: inline-block !important;
|
||||
transform: translateY(0.75em) !important;
|
||||
}
|
||||
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips > .ytp-tooltip-text-wrapper > .ytp-tooltip-text {
|
||||
display: block !important;
|
||||
transform: translateY(2em) !important;
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips > .ytp-tooltip-text-wrapper .ytp-tooltip-text {
|
||||
display: inline-block !important;
|
||||
transform: translateY(0.75em) !important;
|
||||
}
|
||||
|
||||
div:hover > .sponsorBlockChapterBar {
|
||||
@@ -184,6 +188,10 @@ div:hover > .sponsorBlockChapterBar {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.sbChapterVoteButton {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.playerButton {
|
||||
vertical-align: top;
|
||||
}
|
||||
@@ -683,6 +691,14 @@ input::-webkit-inner-spin-button {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.hideSegmentSubmitButton {
|
||||
cursor: pointer;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/* Start SelectorComponent */
|
||||
|
||||
.sbSelector {
|
||||
@@ -740,6 +756,13 @@ input::-webkit-inner-spin-button {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
color: white;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* July 2025 test UI */
|
||||
.ytp-delhi-modern .skipButtonControlBarContainer {
|
||||
height: 48px;
|
||||
margin: auto 0;
|
||||
}
|
||||
|
||||
.skipButtonControlBarContainer.sbhidden {
|
||||
@@ -949,5 +972,5 @@ input::-webkit-inner-spin-button {
|
||||
}
|
||||
|
||||
.sponsorblock-chapter-visible {
|
||||
display: inherit !important;
|
||||
display: block !important;
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 124 KiB |
BIN
public/help/images/submission menu.png
Normal file
BIN
public/help/images/submission menu.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.7 KiB |
BIN
public/help/images/votebuttons.gif
Normal file
BIN
public/help/images/votebuttons.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 64 KiB |
@@ -21,128 +21,128 @@
|
||||
<div class="container sponsorBlockPageBody">
|
||||
|
||||
<p class="createdBy">
|
||||
<img src="https://ajay.app/newprofilepic.jpg" height="30" class="profilepiccircle"/>
|
||||
<img src="../icons/newprofilepic.jpg" height="30" class="profilepiccircle"/>
|
||||
Created By <a href="https://ajay.app">Ajay Ramachandran</a>
|
||||
<a href="https://sponsor.ajay.app/donate" target="_blank" rel="noopener" id="sbDonate">(Donate)</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
__MSG_helpPageThanksForInstalling__ By using this extension, you agree to the <a href="https://gist.github.com/ajayyy/aa9f8ded2b573d4f73a3ffa0ef74f796">Privacy Policy</a> and <a href="https://gist.github.com/ajayyy/9e8100f069348e0bc062641f34d6af12">Terms of Use</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Come contribute, make some suggestions and help out on <a href="https://discord.gg/SponsorBlock">Discord</a> or on <a href="https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org">Matrix</a>.
|
||||
</p>
|
||||
|
||||
<a href="https://dearrow.ajay.app"
|
||||
target="_blank"
|
||||
id="dearrow-link"
|
||||
class="dearrow-link hidden"
|
||||
rel="noreferrer">
|
||||
<img src="/icons/dearrow.svg"/>
|
||||
|
||||
<span id="dearrow-link-text">
|
||||
|
||||
</span>
|
||||
|
||||
<img src="/icons/close.png" class="close-button"/>
|
||||
</a>
|
||||
|
||||
<p style="margin-bottom: 0; margin-top: 0" class="bigText center">__MSG_helpPageReviewOptions__</p>
|
||||
|
||||
<p class="smallText">
|
||||
__MSG_helpPageFeatureDisclaimer__
|
||||
</p>
|
||||
|
||||
<iframe class="optionsFrame" src="../options/options.html#embed" style="border: none"></iframe>
|
||||
|
||||
<h1>__MSG_helpPageHowSkippingWorks__</h1>
|
||||
|
||||
<p class="projectPreview">
|
||||
<span class="projectPreviewImageLarge">
|
||||
<img src="images/popup.png">
|
||||
</span>
|
||||
|
||||
__MSG_helpPageHowSkippingWorks1__
|
||||
<span class="help-page-flex-container">
|
||||
<div class="left-sidebar">
|
||||
<div class="box1">
|
||||
<p>
|
||||
__MSG_helpPageThanksForInstalling__ By using this extension, you agree to the <a href="https://gist.github.com/ajayyy/aa9f8ded2b573d4f73a3ffa0ef74f796">Privacy Policy</a> and <a href="https://gist.github.com/ajayyy/9e8100f069348e0bc062641f34d6af12">Terms of Use</a>.
|
||||
</p>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
__MSG_helpPageHowSkippingWorks2__
|
||||
</p>
|
||||
|
||||
<div class="center"><img src="images/voting on notice.gif"></div>
|
||||
|
||||
<h1>__MSG_Submitting__</h1>
|
||||
|
||||
<p class="projectPreview">
|
||||
<img class="projectPreviewImageLarge" src="https://i.imgur.com/A1ilk6x.gif">
|
||||
|
||||
__MSG_helpPageSubmitting1__
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
__MSG_helpPageSubmitting2__
|
||||
</p>
|
||||
|
||||
<h1>__MSG_Editing__</h1>
|
||||
|
||||
<p class="projectPreview">
|
||||
<span class="projectPreviewImageLarge">
|
||||
<img src="https://wiki.sponsor.ajay.app/images/6/6a/Popup_only.png">
|
||||
</span>
|
||||
|
||||
__MSG_helpPageEditing1__
|
||||
|
||||
</p>
|
||||
|
||||
<h1>__MSG_helpPageTooSlow__</h1>
|
||||
|
||||
<p>
|
||||
__MSG_helpPageTooSlow1__
|
||||
</p>
|
||||
|
||||
<h1>__MSG_helpPageCopyOfDatabase__</h1>
|
||||
|
||||
<p>
|
||||
__MSG_helpPageCopyOfDatabase1__ <a href="https://sponsor.ajay.app/database">https://sponsor.ajay.app/database</a>. __MSG_helpPageCopyOfDatabase2__
|
||||
</p>
|
||||
|
||||
<h1>__MSG_helpPageNews__</h1>
|
||||
|
||||
<p>
|
||||
See <a href="https://sponsor.ajay.app/news">https://sponsor.ajay.app/news</a>.
|
||||
</p>
|
||||
|
||||
<h1>__MSG_helpPageSourceCode__</h1>
|
||||
|
||||
<h4 style="display: inline">Client:</h4>
|
||||
<!-- Github logo -->
|
||||
<a href="https://github.com/ajayyy/SponsorBlock"><svg aria-hidden="true" version="1.1" viewBox="0 0 16 16" height="58px" style="padding-left: 15px"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a>
|
||||
|
||||
<h4 style="display: inline; padding-left: 20px">Server:</h4>
|
||||
<!-- Github logo -->
|
||||
<a href="https://github.com/ajayyy/SponsorBlockServer"><svg aria-hidden="true" version="1.1" viewBox="0 0 16 16" height="58px" style="padding-left: 15px"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a>
|
||||
|
||||
<h1>__MSG_Credits__</h1>
|
||||
|
||||
<p>
|
||||
Thanks to all <a href="https://github.com/ajayyy/SponsorBlock/graphs/contributors">SponsorBlock contributors</a>,
|
||||
<a href="https://github.com/ajayyy/SponsorBlockServer/graphs/contributors">SponsorBlockServer contributors</a> and
|
||||
<a href="https://github.com/ajayyy/SponsorBlockSite/graphs/contributors">SponsorBlockSite contributors</a> such
|
||||
as <a href="https://github.com/NDevTK">NDev</a>, <a href="https://github.com/Joe-Dowd">Joe Dowd</a>,
|
||||
<a href="https://mchang.name/">Michael Chang</a> and more.
|
||||
</p>
|
||||
|
||||
<p>The awesome <a href="https://github.com/omarroth/invidious/wiki/API">Invidious API</a> is used to grab the time the video was published.</p>
|
||||
|
||||
<p>Some icons made by <a href="https://www.flaticon.com/authors/gregor-cresnar" title="Gregor Cresnar">Gregor Cresnar</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> and are licensed by <a href="https://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></p>
|
||||
<p>
|
||||
Come contribute, make some suggestions and help out on <a href="https://discord.gg/SponsorBlock">Discord</a> or on <a href="https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org">Matrix</a>.
|
||||
</p>
|
||||
|
||||
<a href="https://dearrow.ajay.app"
|
||||
target="_blank"
|
||||
id="dearrow-link"
|
||||
class="dearrow-link hidden"
|
||||
rel="noreferrer">
|
||||
<img src="/icons/dearrow.svg"/>
|
||||
|
||||
<span id="dearrow-link-text">
|
||||
|
||||
</span>
|
||||
|
||||
<img src="/icons/close.png" class="close-button"/>
|
||||
</a>
|
||||
|
||||
<div id="donate-component" class="donate-ask">
|
||||
<div class="donate-text">
|
||||
<img
|
||||
src="../icons/newprofilepic.jpg"
|
||||
alt="Ajay's avatar"
|
||||
></img>
|
||||
__MSG_supportSponsorBlock__
|
||||
</div>
|
||||
|
||||
<a href="https://sponsor.ajay.app/donate" class="donate-button" target="_blank" rel="noopener">
|
||||
__MSG_Donate__
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box3">
|
||||
<h1>__MSG_helpPageHowSkippingWorks__</h1>
|
||||
|
||||
<p>Some icons made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> and are licensed by <a href="https://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></p>
|
||||
<p class="projectPreview">
|
||||
__MSG_helpPageHowSkippingWorks2__
|
||||
</p>
|
||||
|
||||
<p style="text-align: center;"><a href="/oss-attribution/attribution.txt">Open Source Licenses</a></p>
|
||||
<div class="center"><img src="images/voting on notice.gif"></div>
|
||||
|
||||
<p class="projectPreview">
|
||||
__MSG_helpPageHowSkippingWorks1__
|
||||
</p>
|
||||
|
||||
<div class="center"><img style="height: 400px;" src="images/popup.png"></div>
|
||||
|
||||
</div>
|
||||
<h1>__MSG_Submitting__</h1>
|
||||
|
||||
<p class="projectPreview">
|
||||
__MSG_helpPageSubmitting1__
|
||||
</p>
|
||||
|
||||
<div class="center"><img src="images/votebuttons.gif"></div>
|
||||
|
||||
<p class="projectPreview">
|
||||
__MSG_helpPageSubmitting2__
|
||||
</p>
|
||||
|
||||
<div class="center"><img src="images/submission menu.png"></div>
|
||||
|
||||
<p class="projectPreview center">
|
||||
<a href="https://wiki.sponsor.ajay.app/w/Guidelines" target="_blank">__MSG_guidelines__</a>
|
||||
<br/>
|
||||
<a href="https://wiki.sponsor.ajay.app/w/Advice_for_submitting" target="_blank">__MSG_AdviceForSubmitting__</a>
|
||||
</p>
|
||||
|
||||
<h1>__MSG_helpPageCopyOfDatabase__</h1>
|
||||
|
||||
<p>
|
||||
__MSG_helpPageCopyOfDatabase1__ <a href="https://sponsor.ajay.app/database">https://sponsor.ajay.app/database</a>. __MSG_helpPageCopyOfDatabase2__
|
||||
</p>
|
||||
|
||||
<h4 style="display: inline">Client:</h4>
|
||||
<!-- Github logo -->
|
||||
<a href="https://github.com/ajayyy/SponsorBlock"><svg aria-hidden="true" version="1.1" viewBox="0 0 16 16" height="58px" style="padding-left: 15px"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a>
|
||||
|
||||
<h4 style="display: inline; padding-left: 20px">Server:</h4>
|
||||
<!-- Github logo -->
|
||||
<a href="https://github.com/ajayyy/SponsorBlockServer"><svg aria-hidden="true" version="1.1" viewBox="0 0 16 16" height="58px" style="padding-left: 15px"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a>
|
||||
|
||||
<h1>__MSG_Credits__</h1>
|
||||
|
||||
<p>
|
||||
Thanks to all <a href="https://github.com/ajayyy/SponsorBlock/graphs/contributors">SponsorBlock contributors</a>,
|
||||
<a href="https://github.com/ajayyy/SponsorBlockServer/graphs/contributors">SponsorBlockServer contributors</a> and
|
||||
<a href="https://github.com/ajayyy/SponsorBlockSite/graphs/contributors">SponsorBlockSite contributors</a> such
|
||||
as <a href="https://github.com/NDevTK">NDev</a>, <a href="https://github.com/Joe-Dowd">Joe Dowd</a>,
|
||||
<a href="https://mchang.name/">Michael Chang</a> and more.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Logo by <a href="https://github.com/munadikieh">Munadi Kiehl</a>
|
||||
</p>
|
||||
|
||||
<p>Some icons made by <a href="https://www.flaticon.com/authors/gregor-cresnar" title="Gregor Cresnar">Gregor Cresnar</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> and are licensed by <a href="https://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></p>
|
||||
|
||||
<p>Some icons made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> and are licensed by <a href="https://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></p>
|
||||
|
||||
<p style="text-align: center;"><a href="/oss-attribution/attribution.txt">Open Source Licenses</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box2">
|
||||
<p style="margin-bottom: 0; margin-top: 0" class="bigText center">__MSG_helpPageReviewOptions__</p>
|
||||
|
||||
<p class="smallText" style="margin-bottom: 0; margin-top: 0">
|
||||
__MSG_helpPageFeatureDisclaimer__
|
||||
</p>
|
||||
|
||||
<iframe class="optionsFrame" src="../options/options.html#embed" style="border: none"></iframe>
|
||||
</div>
|
||||
</span>
|
||||
</body>
|
||||
|
||||
@@ -29,7 +29,11 @@ html {
|
||||
}
|
||||
|
||||
.bigText {
|
||||
font-size: 50px;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.smallText {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
body {
|
||||
@@ -46,7 +50,6 @@ body {
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 60%;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
@@ -168,7 +171,7 @@ p,li,code,a {
|
||||
|
||||
.optionsFrame {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.previewImage {
|
||||
@@ -194,14 +197,59 @@ img {
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
color: var(--title);
|
||||
text-align: center;
|
||||
|
||||
font-size: 25px;
|
||||
margin: 5px 0px;
|
||||
}
|
||||
|
||||
svg {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#sbDonate {
|
||||
font-size: 10px;
|
||||
.donate-ask {
|
||||
background-color: rgb(26, 26, 26, 0.95);
|
||||
border-radius: 15px;
|
||||
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
|
||||
margin: 0.7em 0px;
|
||||
}
|
||||
|
||||
.donate-ask .donate-text {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.donate-ask .donate-text img {
|
||||
height: 2rem;
|
||||
border-radius: 100%;
|
||||
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.donate-ask a {
|
||||
text-decoration: none;
|
||||
color: #eee;
|
||||
border-radius: 15px;
|
||||
background-color: rgb(58, 58, 58, 0.9);
|
||||
padding: 10px;
|
||||
|
||||
transition: background-color 0.3s ease;
|
||||
|
||||
display: block;
|
||||
width: fit-content;
|
||||
margin: auto;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.donate-ask a:hover {
|
||||
background-color: rgba(70, 70, 70, 0.9);
|
||||
}
|
||||
|
||||
@media screen and (orientation:portrait) {
|
||||
@@ -351,4 +399,50 @@ svg {
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.help-page-flex-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 20px;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.left-sidebar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
flex: 1 1 50%;
|
||||
}
|
||||
|
||||
.box2 {
|
||||
flex: 1 1 50%;
|
||||
}
|
||||
|
||||
/* Mobile */
|
||||
@media only screen and (max-width: 600px) {
|
||||
.box1 {
|
||||
order: 1;
|
||||
}
|
||||
|
||||
.box2 {
|
||||
order: 2;
|
||||
}
|
||||
|
||||
.box3 {
|
||||
order: 3;
|
||||
}
|
||||
|
||||
.left-sidebar {
|
||||
display: contents;
|
||||
}
|
||||
|
||||
.help-page-flex-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.optionsFrame {
|
||||
height: 500px;
|
||||
}
|
||||
}
|
||||
@@ -365,7 +365,7 @@
|
||||
<div class="small-description">__MSG_showTimeWithSkipsDescription__</div>
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-sync="cleanPopup" data-no-safari="true">
|
||||
<div data-type="toggle" data-sync="cleanPopup">
|
||||
<div class="switch-container">
|
||||
<label class="switch">
|
||||
<input id="cleanPopup" type="checkbox" checked>
|
||||
@@ -375,6 +375,20 @@
|
||||
__MSG_cleanPopup__
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||
<div data-type="toggle" data-sync="hideSegmentCreationInPopup">
|
||||
<div class="switch-container">
|
||||
<label class="switch">
|
||||
<input id="hideSegmentCreationInPopup" type="checkbox" checked>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
<label class="switch-label" for="hideSegmentCreationInPopup">
|
||||
__MSG_hideSegmentCreationInPopup__
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-sync="darkMode">
|
||||
|
||||
@@ -48,7 +48,7 @@ class ChapterVoteComponent extends React.Component<ChapterVoteProps, ChapterVote
|
||||
draggable="false"
|
||||
title={chrome.i18n.getMessage("upvoteButtonInfo")}
|
||||
onClick={(e) => this.vote(e, 1)}>
|
||||
<ThumbsUpSvg className="playerButtonImage"
|
||||
<ThumbsUpSvg className="playerButtonImage sbChapterVoteButton"
|
||||
fill={Config.config.colorPalette.white}
|
||||
width={this.state.size} height={this.state.size} />
|
||||
</button>
|
||||
@@ -102,7 +102,7 @@ class ChapterVoteComponent extends React.Component<ChapterVoteProps, ChapterVote
|
||||
}
|
||||
}}>
|
||||
<ThumbsDownSvg
|
||||
className="playerButtonImage"
|
||||
className="playerButtonImage sbChapterVoteButton"
|
||||
fill={downvoteButtonColor(this.state.segment ? [this.state.segment] : null, SkipNoticeAction.Downvote, SkipNoticeAction.Downvote)}
|
||||
width={this.state.size}
|
||||
height={this.state.size} />
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import * as React from "react";
|
||||
import * as CompileConfig from "../../config.json";
|
||||
import Config from "../config";
|
||||
import { ActionType, Category, ChannelIDStatus, ContentContainer, SponsorTime } from "../types";
|
||||
import { ActionType, Category, ChannelIDStatus, ContentContainer, SponsorHideType, SponsorTime } from "../types";
|
||||
import SubmissionNoticeComponent from "./SubmissionNoticeComponent";
|
||||
import { RectangleTooltip } from "../render/RectangleTooltip";
|
||||
import SelectorComponent, { SelectorOption } from "./SelectorComponent";
|
||||
@@ -10,6 +10,7 @@ import { getFormattedTime, getFormattedTimeToSeconds } from "../../maze-utils/sr
|
||||
import { asyncRequestToServer } from "../utils/requests";
|
||||
import { defaultPreviewTime } from "../utils/constants";
|
||||
import { getVideo, getVideoDuration } from "../../maze-utils/src/video";
|
||||
import { AnimationUtils } from "../../maze-utils/src/animationUtils";
|
||||
|
||||
export interface SponsorTimeEditProps {
|
||||
index: number;
|
||||
@@ -242,6 +243,22 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
onChange={(e) => this.actionTypeSelectionChange(e)}>
|
||||
{this.getActionTypeOptions(sponsorTime)}
|
||||
</select>
|
||||
<img
|
||||
className="voteButton hideSegmentSubmitButton"
|
||||
title={chrome.i18n.getMessage("hideSegment")}
|
||||
src={sponsorTime.hidden === SponsorHideType.Hidden ? chrome.runtime.getURL("icons/not_visible.svg") : chrome.runtime.getURL("icons/visible.svg")}
|
||||
onClick={(e) => {
|
||||
const stopAnimation = AnimationUtils.applyLoadingAnimation(e.currentTarget, 0.4);
|
||||
stopAnimation();
|
||||
|
||||
if (sponsorTime.hidden === SponsorHideType.Hidden) {
|
||||
sponsorTime.hidden = SponsorHideType.Visible;
|
||||
} else {
|
||||
sponsorTime.hidden = SponsorHideType.Hidden;
|
||||
}
|
||||
|
||||
this.saveEditTimes();
|
||||
}}/>
|
||||
</div>
|
||||
): ""}
|
||||
|
||||
|
||||
@@ -77,6 +77,7 @@ interface SBConfig {
|
||||
shownDeArrowPromotion: boolean;
|
||||
showZoomToFillError2: boolean;
|
||||
cleanPopup: boolean;
|
||||
hideSegmentCreationInPopup: boolean;
|
||||
|
||||
// Used to cache calculated text color info
|
||||
categoryPillColors: {
|
||||
@@ -349,6 +350,7 @@ const syncDefaults = {
|
||||
shownDeArrowPromotion: false,
|
||||
showZoomToFillError2: true,
|
||||
cleanPopup: false,
|
||||
hideSegmentCreationInPopup: false,
|
||||
|
||||
categoryPillColors: {},
|
||||
|
||||
|
||||
@@ -712,7 +712,10 @@ async function startSponsorSchedule(includeIntersectingSegments = false, current
|
||||
if (incorrectVideoCheck(videoID, currentSkip)) return;
|
||||
forceVideoTime ||= Math.max(getCurrentTime(), getVirtualTime());
|
||||
|
||||
if ((shouldSkip(currentSkip) || sponsorTimesSubmitting?.some((segment) => segment.segment === currentSkip.segment))) {
|
||||
if ((shouldSkip(currentSkip)
|
||||
|| sponsorTimesSubmitting?.some((segment) => segment.segment === currentSkip.segment
|
||||
&& segment.actionType !== ActionType.Chapter
|
||||
&& segment.hidden === SponsorHideType.Visible))) {
|
||||
if (forceVideoTime >= skipTime[0] - skipBuffer && (forceVideoTime < skipTime[1] || skipTime[1] < skipTime[0])) {
|
||||
skipToTime({
|
||||
v: getVideo(),
|
||||
@@ -816,6 +819,7 @@ async function startSponsorSchedule(includeIntersectingSegments = false, current
|
||||
if (Config.config.showUpcomingNotice && getCurrentTime() < skippingSegments[0].segment[0]
|
||||
&& !sponsorTimesSubmitting?.some((segment) => segment.segment === currentSkip.segment)
|
||||
&& [ActionType.Skip, ActionType.Mute].includes(skippingSegments[0].actionType)
|
||||
&& getCategorySelection(skippingSegments[0])?.option > CategorySkipOption.ShowOverlay
|
||||
&& !getVideo()?.paused) {
|
||||
const maxPopupTime = 3000;
|
||||
const timeUntilPopup = Math.max(0, offsetDelayTime - maxPopupTime);
|
||||
@@ -1189,7 +1193,7 @@ async function sponsorsLookup(keepOldSubmissions = true, ignoreCache = false) {
|
||||
const receivedSegments = segmentData.segments;
|
||||
|
||||
if (receivedSegments && receivedSegments.length) {
|
||||
sponsorDataFound = true;
|
||||
sponsorDataFound = receivedSegments.findIndex((segment) => getCategorySelection(segment).option !== CategorySkipOption.Disabled) !== -1;
|
||||
|
||||
// Check if any old submissions should be kept
|
||||
if (sponsorTimes !== null && keepOldSubmissions) {
|
||||
@@ -1425,7 +1429,8 @@ function updatePreviewBar(): void {
|
||||
}
|
||||
|
||||
sponsorTimesSubmitting.forEach((segment) => {
|
||||
if (segment.actionType !== ActionType.Chapter || segment.segment.length > 1) {
|
||||
if (segment.hidden === SponsorHideType.Visible
|
||||
&& (segment.actionType !== ActionType.Chapter || segment.segment.length > 1)) {
|
||||
previewBarSegments.push({
|
||||
segment: segment.segment as [number, number],
|
||||
category: segment.category,
|
||||
@@ -1938,7 +1943,7 @@ function shouldAutoSkip(segment: SponsorTime): boolean {
|
||||
}
|
||||
|
||||
function shouldSkip(segment: SponsorTime): boolean {
|
||||
return (segment.actionType !== ActionType.Full
|
||||
return segment.hidden === SponsorHideType.Visible && (segment.actionType !== ActionType.Full
|
||||
&& getCategorySelection(segment)?.option > CategorySkipOption.ShowOverlay)
|
||||
|| (Config.config.autoSkipOnMusicVideos && sponsorTimes?.some((s) => s.category === "music_offtopic")
|
||||
&& segment.actionType === ActionType.Skip)
|
||||
@@ -2133,6 +2138,7 @@ function updateSponsorTimesSubmitting(getFromConfig = true) {
|
||||
category: segmentTime.category,
|
||||
actionType: segmentTime.actionType,
|
||||
description: segmentTime.description,
|
||||
hidden: segmentTime.hidden,
|
||||
source: segmentTime.source
|
||||
});
|
||||
}
|
||||
|
||||
@@ -47,6 +47,6 @@ async function init() {
|
||||
}
|
||||
|
||||
if (!showDonationLink()) {
|
||||
document.getElementById("sbDonate").style.display = "none";
|
||||
document.getElementById("donate-component").style.display = "none";
|
||||
}
|
||||
}
|
||||
@@ -103,15 +103,18 @@ export const PopupComponent = () => {
|
||||
<button id="refreshSegmentsButton" title={chrome.i18n.getMessage("refreshSegments")} onClick={(e) => {
|
||||
const stopAnimation = AnimationUtils.applyLoadingAnimation(e.currentTarget, 0.3);
|
||||
|
||||
loadSegments({
|
||||
updating: true,
|
||||
setStatus,
|
||||
setChannelWhitelisted,
|
||||
setVideoID,
|
||||
setCurrentTime,
|
||||
setSegments,
|
||||
setLoopedChapter
|
||||
}).then(() => stopAnimation());
|
||||
sendMessage({ message: "refreshSegments" }).then(() => {
|
||||
loadSegments({
|
||||
updating: true,
|
||||
setStatus,
|
||||
setChannelWhitelisted,
|
||||
setVideoID,
|
||||
setCurrentTime,
|
||||
setSegments,
|
||||
setLoopedChapter
|
||||
}).then(() => stopAnimation());
|
||||
});
|
||||
|
||||
}}>
|
||||
<img src="/icons/refresh.svg" alt="Refresh icon" id="refreshSegments" />
|
||||
</button>
|
||||
@@ -217,7 +220,7 @@ export const PopupComponent = () => {
|
||||
}
|
||||
|
||||
{
|
||||
!Config.config.cleanPopup &&
|
||||
!Config.config.cleanPopup && !Config.config.hideSegmentCreationInPopup &&
|
||||
<SegmentSubmissionComponent
|
||||
videoID={videoID || ""}
|
||||
status={status.status}
|
||||
@@ -262,6 +265,10 @@ export const PopupComponent = () => {
|
||||
<a href="https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org" target="_blank" rel="noreferrer">
|
||||
Matrix
|
||||
</a>
|
||||
<a href="https://wiki.sponsor.ajay.app/w/Guidelines" target="_blank" rel="noreferrer">
|
||||
{chrome.i18n.getMessage("guidelines")}
|
||||
</a>
|
||||
<br />
|
||||
<a id="debugLogs"
|
||||
onClick={async () => {
|
||||
const logs = await sendMessage({ message: "getLogs" }) as LogResponse;
|
||||
|
||||
@@ -237,7 +237,7 @@ function SegmentListItem({ segment, videoID, currentTime, isVip, startingLooped,
|
||||
&& [SponsorHideType.Visible, SponsorHideType.Hidden].includes(segment.hidden)) &&
|
||||
<img
|
||||
className="voteButton"
|
||||
title="Hide Segment"
|
||||
title={chrome.i18n.getMessage("hideSegment")}
|
||||
src={hidden === SponsorHideType.Hidden ? chrome.runtime.getURL("icons/not_visible.svg") : chrome.runtime.getURL("icons/visible.svg")}
|
||||
onClick={(e) => {
|
||||
const stopAnimation = AnimationUtils.applyLoadingAnimation(e.currentTarget, 0.4);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getCurrentPageTitle } from "../../maze-utils/src/elements";
|
||||
import { getChannelIDInfo, getVideoDuration } from "../../maze-utils/src/video";
|
||||
import Config from "../config";
|
||||
import { CategorySelection, CategorySkipOption, SponsorSourceType, SponsorTime } from "../types";
|
||||
@@ -19,7 +20,9 @@ export enum SkipRuleAttribute {
|
||||
Description = "chapter.name",
|
||||
Source = "chapter.source",
|
||||
ChannelID = "channel.id",
|
||||
ChannelName = "channel.name"
|
||||
ChannelName = "channel.name",
|
||||
VideoDuration = "video.duration",
|
||||
Title = "video.title"
|
||||
}
|
||||
|
||||
export enum SkipRuleOperator {
|
||||
@@ -116,6 +119,10 @@ function getSkipRuleValue(segment: SponsorTime | VideoLabelsCacheData, rule: Adv
|
||||
case SkipRuleAttribute.ChannelName:
|
||||
getChannelIDInfo()
|
||||
return getChannelIDInfo().author;
|
||||
case SkipRuleAttribute.VideoDuration:
|
||||
return getVideoDuration();
|
||||
case SkipRuleAttribute.Title:
|
||||
return getCurrentPageTitle() || "";
|
||||
default:
|
||||
return undefined;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user