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