mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-11 22:17:21 +03:00
Merge pull request #1237 from AlecRust/refine-popup
Improve popup alert and fix Firefox issues
This commit is contained in:
@@ -15,6 +15,14 @@
|
|||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Disable popup max height when displayed in-page
|
||||||
|
*/
|
||||||
|
|
||||||
|
#sponsorBlockPopupContainer #sponsorBlockPopupHTML {
|
||||||
|
max-height: none;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Disable fixed popup width when displayed in-page
|
* Disable fixed popup width when displayed in-page
|
||||||
*/
|
*/
|
||||||
@@ -29,11 +37,14 @@
|
|||||||
|
|
||||||
#sponsorBlockPopupHTML {
|
#sponsorBlockPopupHTML {
|
||||||
color-scheme: dark;
|
color-scheme: dark;
|
||||||
|
max-height: 600px;
|
||||||
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#sponsorBlockPopupBody {
|
#sponsorBlockPopupBody {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
width: 374px;
|
width: 374px;
|
||||||
|
max-width: 100%; /* NOTE: Ensures content doesn't exceed restricted popup widths in Firefox */
|
||||||
font-family: var(--sb-main-font-family);
|
font-family: var(--sb-main-font-family);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
background-color: var(--sb-main-bg-color);
|
background-color: var(--sb-main-bg-color);
|
||||||
@@ -45,6 +56,11 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#sponsorblockPopup a,
|
||||||
|
#sponsorblockPopup button {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Disable transition on all elements until the extension has loaded
|
* Disable transition on all elements until the extension has loaded
|
||||||
*/
|
*/
|
||||||
@@ -72,6 +88,19 @@
|
|||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Alert indicating that Beta server is enabled
|
||||||
|
*/
|
||||||
|
|
||||||
|
#sbBetaServerWarning {
|
||||||
|
padding: 8px;
|
||||||
|
font-size: 1em;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--sb-main-fg-color);
|
||||||
|
background-color: var(--sb-red-bg-color);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Header logo
|
* Header logo
|
||||||
*/
|
*/
|
||||||
@@ -98,7 +127,6 @@
|
|||||||
background: transparent;
|
background: transparent;
|
||||||
border: 0;
|
border: 0;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
cursor: pointer;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
margin: 5px auto;
|
margin: 5px auto;
|
||||||
@@ -182,9 +210,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sbControlsMenu-item {
|
.sbControlsMenu-item {
|
||||||
background-color: var(--sb-grey-bg-color);
|
background: transparent;
|
||||||
border: 0;
|
border: 0;
|
||||||
padding: 0;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
padding: 10px 15px;
|
padding: 10px 15px;
|
||||||
@@ -208,7 +235,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
.toggleSwitchContainer {
|
.toggleSwitchContainer {
|
||||||
cursor: pointer;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -295,11 +321,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#whitelistForceCheck {
|
#whitelistForceCheck {
|
||||||
font-weight: bold;
|
background-color: #fff3cd;
|
||||||
text-decoration: underline;
|
color: #664d03;
|
||||||
font-size: large;
|
display: block;
|
||||||
cursor: pointer;
|
padding: 10px 15px;
|
||||||
padding: 10px 0;
|
}
|
||||||
|
|
||||||
|
#whitelistForceCheck:hover {
|
||||||
|
background-color: #f2e4b7;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -307,11 +336,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#mainControls {
|
#mainControls {
|
||||||
flex-flow: column;
|
|
||||||
align-items: center;
|
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sponsorStartHint {
|
||||||
|
display: block;
|
||||||
|
padding: 0 10px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Generic buttons used for "Segment Starts Now" and "Submit Times"
|
* Generic buttons used for "Segment Starts Now" and "Submit Times"
|
||||||
*/
|
*/
|
||||||
@@ -323,7 +355,6 @@
|
|||||||
-webkit-border-radius: 28px;
|
-webkit-border-radius: 28px;
|
||||||
border-radius: 28px;
|
border-radius: 28px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
cursor: pointer;
|
|
||||||
color: var(--sb-main-fg-color);
|
color: var(--sb-main-fg-color);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
padding: 8px 37px;
|
padding: 8px 37px;
|
||||||
@@ -372,7 +403,7 @@
|
|||||||
.sbYourWorkCols > div {
|
.sbYourWorkCols > div {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 50%;
|
flex-basis: 50%;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -381,11 +412,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#setUsernameButton,
|
#setUsernameButton,
|
||||||
#submitUsername,
|
#copyUserID,
|
||||||
#copyUserID {
|
#submitUsername {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: 0;
|
border: 0;
|
||||||
cursor: pointer;
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: var(--sb-main-fg-color);
|
color: var(--sb-main-fg-color);
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
@@ -472,7 +502,7 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
max-width: 130px;
|
max-width: 130px;
|
||||||
margin-right: 8px;
|
margin: 0 8px 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -511,7 +541,6 @@
|
|||||||
|
|
||||||
#sbFooter a {
|
#sbFooter a {
|
||||||
color: var(--sb-main-fg-color);
|
color: var(--sb-main-fg-color);
|
||||||
cursor: pointer;
|
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -524,33 +553,18 @@
|
|||||||
border: 1px solid #fff;
|
border: 1px solid #fff;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
color: var(--sb-main-fg-color);
|
color: var(--sb-main-fg-color);
|
||||||
cursor: pointer;
|
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Generic spacing classes
|
* Generic utilities
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.u-mZ {
|
#sponsorBlockPopupBody .u-mZ {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Generic hide utility classes
|
|
||||||
*/
|
|
||||||
|
|
||||||
#sponsorBlockPopupBody .hidden {
|
#sponsorBlockPopupBody .hidden {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#sbBetaServerWarning {
|
|
||||||
padding: 8px;
|
|
||||||
font-size: 1em;
|
|
||||||
font-weight: 700;
|
|
||||||
word-break: break-word;
|
|
||||||
color: var(--sb-main-fg-color);
|
|
||||||
background: var(--sb-red-bg-color);
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sbControlsMenu">
|
<div class="sbControlsMenu">
|
||||||
<label id="whitelistButton" for="whitelistToggle" class="hidden sbControlsMenu-item" title="__MSG_forceChannelCheckPopup__">
|
<label id="whitelistButton" for="whitelistToggle" class="hidden sbControlsMenu-item">
|
||||||
<input type="checkbox" style="display:none;" id="whitelistToggle">
|
<input type="checkbox" style="display:none;" id="whitelistToggle">
|
||||||
<svg viewBox="0 0 24 24" width="23" height="23" class="SBWhitelistIcon sbControlsMenu-itemIcon">
|
<svg viewBox="0 0 24 24" width="23" height="23" class="SBWhitelistIcon sbControlsMenu-itemIcon">
|
||||||
<path d="M24 10H14V0h-4v10H0v4h10v10h4V14h10z" />
|
<path d="M24 10H14V0h-4v10H0v4h10v10h4V14h10z" />
|
||||||
@@ -60,15 +60,15 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p id="whitelistForceCheck" class="u-mZ hidden">
|
<a id="whitelistForceCheck" class="hidden">
|
||||||
__MSG_forceChannelCheckPopup__
|
__MSG_forceChannelCheckPopup__
|
||||||
</p>
|
</a>
|
||||||
|
|
||||||
<div id="mainControls" style="display: none">
|
<div id="mainControls" style="display: none">
|
||||||
<p class="sbHeader">
|
<p class="sbHeader">
|
||||||
__MSG_recordTimesDescription__
|
__MSG_recordTimesDescription__
|
||||||
</p>
|
</p>
|
||||||
<sub style="margin-bottom: 12px;">__MSG_popupHint__</sub>
|
<sub class="sponsorStartHint">__MSG_popupHint__</sub>
|
||||||
<div>
|
<div>
|
||||||
<button id="sponsorStart" class="sbMediumButton">__MSG_sponsorStart__</button>
|
<button id="sponsorStart" class="sbMediumButton">__MSG_sponsorStart__</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<p class="u-mZ">__MSG_Username__:</p>
|
<p class="u-mZ">__MSG_Username__:</p>
|
||||||
<div id="setUsernameContainer">
|
<div id="setUsernameContainer">
|
||||||
<p id="usernameValue" class="u-mZ"></p>
|
<p id="usernameValue"></p>
|
||||||
<button id="setUsernameButton" title="__MSG_setUsername__">
|
<button id="setUsernameButton" title="__MSG_setUsername__">
|
||||||
<img src="/icons/pencil.svg" alt="__MSG_setUsername__" width="16" height="16" id="sbPopupIconEdit">
|
<img src="/icons/pencil.svg" alt="__MSG_setUsername__" width="16" height="16" id="sbPopupIconEdit">
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -306,7 +306,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||||||
//if request is undefined, then the page currently being browsed is not YouTube
|
//if request is undefined, then the page currently being browsed is not YouTube
|
||||||
if (request != undefined) {
|
if (request != undefined) {
|
||||||
//remove loading text
|
//remove loading text
|
||||||
PageElements.mainControls.style.display = "flex";
|
PageElements.mainControls.style.display = "block";
|
||||||
if (request.onMobileYouTube) PageElements.mainControls.classList.add("hidden");
|
if (request.onMobileYouTube) PageElements.mainControls.classList.add("hidden");
|
||||||
PageElements.whitelistButton.classList.remove("hidden");
|
PageElements.whitelistButton.classList.remove("hidden");
|
||||||
PageElements.loadingIndicator.style.display = "none";
|
PageElements.loadingIndicator.style.display = "none";
|
||||||
@@ -693,6 +693,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||||||
PageElements.unwhitelistChannel.style.display = "unset";
|
PageElements.unwhitelistChannel.style.display = "unset";
|
||||||
document.querySelectorAll('.SBWhitelistIcon')[0].classList.add("rotated");
|
document.querySelectorAll('.SBWhitelistIcon')[0].classList.add("rotated");
|
||||||
|
|
||||||
|
//show 'consider force channel check' alert
|
||||||
if (!Config.config.forceChannelCheck) PageElements.whitelistForceCheck.classList.remove("hidden");
|
if (!Config.config.forceChannelCheck) PageElements.whitelistForceCheck.classList.remove("hidden");
|
||||||
|
|
||||||
//save this
|
//save this
|
||||||
@@ -740,6 +741,9 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||||||
PageElements.unwhitelistChannel.style.display = "none";
|
PageElements.unwhitelistChannel.style.display = "none";
|
||||||
document.querySelectorAll('.SBWhitelistIcon')[0].classList.remove("rotated");
|
document.querySelectorAll('.SBWhitelistIcon')[0].classList.remove("rotated");
|
||||||
|
|
||||||
|
//hide 'consider force channel check' alert
|
||||||
|
PageElements.whitelistForceCheck.classList.add("hidden");
|
||||||
|
|
||||||
//save this
|
//save this
|
||||||
Config.config.whitelistedChannels = whitelistedChannels;
|
Config.config.whitelistedChannels = whitelistedChannels;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user