diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index 27f7dd877..7b9605bdb 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -1128,7 +1128,7 @@
"message": "YouTube limits video quality to 1080p for h.264 codec"
},
"openNewTab": {
- "message": "Open in new tab"
+ "message": "Open in a new tab"
},
"hideVideoTitleFullScreen": {
"message": "Hide video title in fullscreen"
diff --git a/js&css/extension/www.youtube.com/styles.css b/js&css/extension/www.youtube.com/styles.css
index 3596c5fb6..b42d81d30 100644
--- a/js&css/extension/www.youtube.com/styles.css
+++ b/js&css/extension/www.youtube.com/styles.css
@@ -49,16 +49,14 @@ html[it-ads=subscribed_channels] *[target-id*='engagement-panel-ads'],
html[it-ads=subscribed_channels] .ytd-ad-slot-renderer,
html[it-ads=subscribed_channels] yt-mealbar-promo-renderer,
html[it-ads=subscribed_channels] #player .ytp-ad-image-overlay,
+html[it-ads=subscribed_channels] #player .video-ads .ytp-ad-player-overlay-flyout-cta,
+html[it-ads=subscribed_channels] #player .ytp-ad-module .ytp-ad-player-overlay-flyout-cta,
html[it-ads=block_all] #related #player-ads,
html[it-ads=block_all] #masthead-ad,
html[it-ads=block_all] *[target-id*='engagement-panel-ads'],
html[it-ads=block_all] .ytd-ad-slot-renderer,
html[it-ads=block_all] yt-mealbar-promo-renderer,
-html[it-ads=block_all] #player .ytp-ad-image-overlay {
-display: none !important;}
-
-html[it-ads=subscribed_channels] #player .video-ads .ytp-ad-player-overlay-flyout-cta,
-html[it-ads=subscribed_channels] #player .ytp-ad-module .ytp-ad-player-overlay-flyout-cta,
+html[it-ads=block_all] #player .ytp-ad-image-overlay,
html[it-ads=block_all] #player .video-ads .ytp-ad-player-overlay-flyout-cta,
html[it-ads=block_all] #player .ytp-ad-module .ytp-ad-player-overlay-flyout-cta{
display: none !important;}
diff --git a/js&css/web-accessible/www.youtube.com/player.js b/js&css/web-accessible/www.youtube.com/player.js
index 6d0ced444..d34ccc295 100644
--- a/js&css/web-accessible/www.youtube.com/player.js
+++ b/js&css/web-accessible/www.youtube.com/player.js
@@ -577,21 +577,19 @@ ImprovedTube.screenshot = function () {
setTimeout(function () {
ctx.drawImage(video, 0, 0, cvs.width, cvs.height);
- if(ImprovedTube.storage.embed_subtitle === true){ImprovedTube.currentSubtitle(ctx);}
+ var subText = '';
+ var captionElements = document.querySelectorAll('.captions-text .ytp-caption-segment');
+ captionElements.forEach(function (caption) {subText += caption.textContent.trim() + ' ';});
+
+ if(ImprovedTube.storage.embed_subtitle === true){ImprovedTube.renderSubtitle(ctx,captionElements);}
cvs.toBlob(function (blob) {
if (ImprovedTube.storage.player_screenshot_save_as !== 'clipboard') {
var a = document.createElement('a');
a.href = URL.createObjectURL(blob); console.log("screeeeeeenshot tada!");
- var subText = '';
- if (ImprovedTube.storage.embed_subtitle === true) {
- var captionElement = document.querySelectorAll('.captions-text .ytp-caption-segment');
- captionElement.forEach(function (caption) {
- subText += caption.textContent.trim() + ' ';
- });
- }
- a.download = (ImprovedTube.videoId() || location.href.match) + '-' + new Date(ImprovedTube.elements.player.getCurrentTime() * 1000).toISOString().substr(11, 8).replace(/:/g, '-') + '-' + ImprovedTube.videoTitle() + (subText ? '-' + subText.trim() : '') + '.png';
+
+ a.download = (ImprovedTube.videoId() || location.href.match) + ' ' + new Date(ImprovedTube.elements.player.getCurrentTime() * 1000).toISOString().substr(11, 8).replace(/:/g, '-') + ' ' + ImprovedTube.videoTitle() + (subText ? ' - ' + subText.trim() : '') + '.png';
a.click();
} else {
@@ -607,10 +605,8 @@ ImprovedTube.screenshot = function () {
});
};
-
-ImprovedTube.currentSubtitle = function (ctx) {
- var captionElements = document.querySelectorAll('.captions-text .ytp-caption-segment');
-
+ImprovedTube.renderSubtitle = function (ctx,captionElements) {
+ if (ctx && captionElements) {
captionElements.forEach(function (captionElement, index) {
var captionText = captionElement.textContent.trim();
var captionStyles = window.getComputedStyle(captionElement);
@@ -632,6 +628,7 @@ ImprovedTube.currentSubtitle = function (ctx) {
ctx.fillStyle = captionStyles.color;
ctx.fillText(captionText, xOfset + txtWidth / 2, yofset);
});
+ }
};
ImprovedTube.playerScreenshotButton = function () {
diff --git a/menu/index.html b/menu/index.html
index 30e372870..e4467e336 100644
--- a/menu/index.html
+++ b/menu/index.html
@@ -1,6 +1,6 @@
-
ImprovedTube
-
-
+
+ImprovedTube
+
@@ -10,15 +10,15 @@
-
-
-
-
+
+
+
+
-
+
@@ -29,7 +29,7 @@
-
-
-
-
+
+
+
+
diff --git a/js&css/satus.css b/menu/satus.css
similarity index 94%
rename from js&css/satus.css
rename to menu/satus.css
index 5f81daabb..d9c057675 100644
--- a/js&css/satus.css
+++ b/menu/satus.css
@@ -1,123 +1,41 @@
+*[data-value][data-value="false"] { margin-bottom: 0; margin-top: 0; transition: margin 0.14s linear !important; }
+*[data-value][data-value="true"] {margin-bottom: -3px; margin-top: -1px; transition: margin 0.18s linear !important; }
+
+.satus-button--general, .satus-button--appearance, .satus-button--player { margin-left: 9px !important; margin-right: -18px !important;}
+.satus-button--themes, .satus-button--playlist, .satus-button--channel, .satus-button--shortcuts { transform: scale(0.84); margin-top: -9px !important; margin-left: -5px !important; margin-right: -27px !important;}
+.satus-button--blocklist, .satus-button--analyzer { transform: scale(0.70); margin-top: -20px !important; margin-left: 75px !important; margin-right: -115px !important; }
/*--------------------------------------------------------------
# SCROLLBAR
--------------------------------------------------------------*/
-
-:where([class^='satus'])::-webkit-scrollbar {
- width: 4px;
-}
-
-:where([class^='satus'])::-webkit-scrollbar:hover {
- width: 8px;
-}
-
-:where([class^='satus'])::-webkit-scrollbar-thumb {
- background: rgba(var(--satus-light), .2);
-}
-
-:where([class^='satus'])::-webkit-scrollbar-thumb:hover {
- background: rgba(var(--satus-light), .3);
-}
+:where([class^='satus'])::-webkit-scrollbar { width: 4px; }
+:where([class^='satus'])::-webkit-scrollbar:hover { width: 8px; }
+:where([class^='satus'])::-webkit-scrollbar-thumb { background: rgba(var(--satus-light), .2); }
+:where([class^='satus'])::-webkit-scrollbar-thumb:hover { background: rgba(var(--satus-light), .3); }
/*--------------------------------------------------------------
# ANIMATIONS
--------------------------------------------------------------*/
-
-@keyframes fadeIn {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
-}
-
-@keyframes fadeInLeft {
- from {
- opacity: 0;
- transform: translateX(-100%);
- }
- to {
- opacity: 1;
- transform: translateX(0);
- }
-}
-
-@keyframes fadeInRight {
- from {
- opacity: 0;
- transform: translateX(100%);
- }
- to {
- opacity: 1;
- transform: translateX(0);
- }
-}
-
-@keyframes fadeOut {
- from {
- opacity: 1;
- }
- to {
- opacity: 0;
- }
-}
-
-@keyframes fadeOutLeft {
- from {
- opacity: 1;
- transform: translateX(0);
- }
- to {
- opacity: 0;
- transform: translateX(-50%);
- }
-}
-
-@keyframes fadeOutRight {
- from {
- opacity: 1;
- transform: translateX(0);
- }
- to {
- opacity: 0;
- transform: translateX(50%);
- }
-}
-
-@keyframes zoomIn {
- from {
- transform: scale(.8);
- opacity: 0;
- }
- to {
- transform: scale(1);
- opacity: 1;
- }
-}
-
-@keyframes zoomOut {
- from {
- transform: scale(1);
- opacity: 1;
- }
- to {
- transform: scale(.8);
- opacity: 0;
- }
-}
+@keyframes fadeIn{from{opacity:0}to{opacity:1}}
+@keyframes fadeOut{from{opacity:1}to{opacity:0}}
+@keyframes fadeInLeft{from{opacity:0.4;transform:translateX(-2%)}to{opacity:1;transform:translateX(0)}}
+@keyframes fadeInRight{from{opacity:0.3;transform:translateX(2%)}to{opacity:1;transform:translateX(0)}}
+
+@keyframes fadeOutLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4%)}}
+@keyframes fadeOutRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(4%)}}
+@keyframes zoomIn{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
+@keyframes zoomOut{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}
/*--------------------------------------------------------------
>>> THEMES
--------------------------------------------------------------*/
-
.satus-base {
--satus-light: 0, 20, 82;
- --satus-primary: #ff4158;
+ --satus-primary: #EE5438;
--satus-alert-background--error: #501616;
--satus-alert-border--error: 1px solid #6f1f1f;
--satus-alert-foreground--error: #d77070;
--satus-alert-background--success: rgb(246, 180, 101, .32);
--satus-alert-border--success: 1px solid rgb(246, 180, 101, .6);
--satus-alert-foreground--success: rgb(184, 115, 30);
- --satus-base-background: #f3f4f6;
+ --satus-base-background: #EFEEED;
--satus-base-foreground: #565e76;
--satus-checkbox-background: #f3f4f6;
--satus-checkbox-border: #dcdfe5;
@@ -144,7 +62,7 @@
--satus-text-field-color: #7d8ba1;
--satus-text-field-selection: rgb(149, 166, 178, .35);
--satus-text-field-cursor: #fa0;
- --satus-switch-track: #e1e4ea;
+ --satus-switch-track: #d0d3d9;
--satus-switch-track--checked: var(--satus-primary);
--satus-switch-thumb: #fff;
--satus-input-text-background: #e8e8e3;
@@ -1947,6 +1865,10 @@ As our Syntax markup isnt read for