Merge pull request #1237 from AlecRust/refine-popup

Improve popup alert and fix Firefox issues
This commit is contained in:
Ajay Ramachandran
2022-04-22 15:26:30 -04:00
committed by GitHub
3 changed files with 59 additions and 41 deletions

View File

@@ -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;
}

View File

@@ -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>

View File

@@ -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;