Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Start CodePen Style Here */
- :root {
- /* Custom colors */
- --primary-white: #DBDBDB;
- --secondary-white: #9e9e9e;
- /* my colors */
- --test-red: #FF0000;
- --test-green: #00FF00;
- --test-blue: #0000FF;
- --main-background: #25100e;
- --accent-background: rgb(10, 26, 28);
- --dark1: #cddfe1;
- --light1: #1e4e54;
- --light2: #a3a3a3;
- --mid2: #450b06;
- --dark2: #0a1a1c;
- /* YouTube variable overrides */
- --yt-spec-text-primary: var(--primary-white) !important;
- --yt-spec-text-secondary: var(--secondary-white) !important;
- --yt-button-color: var(--dark2) !important;
- --ytd-comment-text-color: var(--yt-spec-text-secondary) !important;
- --yt-expand-color: var(--yt-button-color) !important;
- --yt-notification-button-bubble_-_background-color: var(--dark2) !important;
- --yt-placeholder-text-color: rgba(230, 230, 230, 150) !important;
- --yt-searchbox-text-color: var(--yt-spec-text-secondary) !important;
- --yt-spec-brand-icon-active: var(--light1) !important;
- --yt-endpoint-hover-color: var(--dark2) !important;
- --yt-live-chat-message-highlight-background-color: var(--accent-background) !important;
- }
- /* Set the background for main UI components */
- html,
- ytd-browse,
- ytd-watch,
- .ytd-searchbox,
- ytd-app,
- ytd-watch-flexy,
- #columns.ytd-watch-flexy,
- ytd-button-renderer.yt-horizontal-list-renderer.arrow,
- ytd-multi-page-menu-renderer {
- background-color: var(--main-background) !important;
- }
- /* Buttons */
- paper-button,
- ytd-button-renderer {
- border-color: var(--yt-button-color);
- color: var(--yt-button-color);
- }
- #subscribe-button ytd-button-renderer {
- background: linear-gradient(to right, var(--light1), var(--dark2)) !important;
- }
- .ytd-subscribe-button-renderer,
- #submit-button {
- background-color: var(--accent-background) !important;
- border-color: var(--light1) !important;
- border-image: linear-gradient(to right, var(--light1), var(--dark2)) 1 !important;
- border-width: 2px !important;
- color: var(--light1) !important;
- }
- #subscribe-button ytd-button-renderer yt-formatted-string {
- color: var(--accent-background) !important;
- }
- ytd-button-renderer.ytd-movie-offer-module-renderer,
- a.ytd-movie-offer-module-renderer,
- ytd-guide-renderer.ytd-app {
- background: var(--accent-background) !important;
- }
- /* Text */
- a {
- color: var(--light1);
- }
- #video-title {
- color: var(--dark2) !important;
- background: -webkit-linear-gradient(left,var(--dark1),var(--mid2));
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- font-style: italic;
- }
- .content {
- color: var(--yt-spec-text-primary) !important;
- }
- yt-formatted-string[has-link-only_]:not([force-default-style]) a.yt-simple-endpoint.yt-formatted-string:hover {
- color: var(--accent-background) !important;
- transition: .2s;
- }
- /* Playlists */
- ytd-playlist-panel-renderer #container .header,
- ytd-playlist-panel-renderer #container #items,
- ytd-playlist-sidebar-renderer {
- background: var(--accent-background) !important;
- }
- ytd-two-column-browse-results-renderer {
- background: var(--primary-background) !important;
- }
- ytd-two-column-browse-results-renderer #secondary {
- background: var(--accent-background) !important;
- }
- /* Miniplayer */
- #card {
- background: var(--accent-background) !important;
- }
- /* Search bar */
- #container.ytd-searchbox,
- #search-icon-legacy {
- box-shadow: var(--primary-background) 0px 1px 2px 0px inset !important;
- border-color: var(--dark1) !important;
- color: var(--test-red) !important;
- }
- ytd-searchbox[has-focus] #container.ytd-searchbox {
- border-color: var(--primary-white) !important;
- -webkit-border-image: linear-gradient(to right, var(--light1), var(--dark2)) !important;
- border-image: linear-gradient(to bottom right, var(--dark1), var(--light1), var(--light2), var(--mid2), var(--dark1)) 1 !important;
- }
- ytd-searchbox[has-focus] #search-icon-legacy {
- border-color: var(--dark1) !important;
- }
- /* Searchbox suggestions */
- .sbdd_b {
- /* Container */
- border-color: var(--light1) !important;
- -webkit-border-image: linear-gradient(to right, var(--light1), var(--dark2)) !important;
- border-image: linear-gradient(to right, var(--light1), var(--dark2)) 1 !important;
- }
- .sbsb_a {
- /* Main pop-up */
- background: var(--accent-background) !important;
- }
- .sbsb_d {
- /* Hovered selection */
- background: rgba(0, 0, 0, .05) !important;
- }
- .sbsb_c {
- /* Suggested option text */
- color: var(--secondary-white) !important;
- }
- .sbpqs_a {
- /* Previously selected option text */
- color: var(--light1) !important;
- }
- .sbfl_b {
- /* Report search predictions footer */
- background: rgba(0, 0, 0, 0) !important;
- color: var(--secondary-white) !important;
- }
- /* Watch page components */
- .ytp-scrubber-button.ytp-swatch-background-color:not(.ytp-play-progress) {
- background: var(--dark2) !important;
- }
- .ytp-swatch-background-color:not(.ytp-play-progress),
- #header.ytd-movie-offer-module-renderer {
- background: linear-gradient(to right, var(--light1), var(--dark2)) !important;
- }
- ytd-rich-metadata-renderer,
- ytd-post-renderer,
- ytd-mini-guide-renderer,
- ytd-mini-guide-entry-renderer {
- background-color: var(--accent-background) !important;
- color: var(--secondary-white) !important;
- }
- #title.ytd-rich-metadata-renderer,
- ytd-mini-guide-entry-renderer[active] a yt-icon,
- ytd-mini-guide-entry-renderer[active] a span,
- path.ytd-topbar-logo-renderer,
- #title {
- color: var(--dark2) !important;
- fill: linear-gradient(to right, var(--light1), var(--dark2)) !important;
- background: -webkit-linear-gradient(top left,var(--light2),var(--mid2));
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
- .date,
- yt-icon,
- .ytd-mini-channel-renderer,
- .ytd-guide-entry-renderer,
- .ytp-title-link {
- color: var(--secondary-white) !important;
- }
- #sponsor-button ytd-border-renderer a paper-button {
- border-color: var(--dark2) !important;
- }
- .super-title a,
- .badge-style-type-verified yt-icon,
- #owner-name a {
- color: var(--dark2) !important;
- }
- /* Live chat */
- yt-live-chat-header-renderer {
- background: var(--accent-background) !important;
- }
- #chat-messages {
- background: var(--main-background) !important;
- border: 3px solid var(--accent-background) !important;
- }
- .yt-live-chat-text-message-renderer {
- color: var(--primary-white) !important;
- }
- .yt-live-chat-author-chip {
- color: var(--primary-white) !important;
- }
- yt-live-chat-message-input-renderer {
- background: var(--accent-background) !important;
- color: var(--primary-white) !important;
- }
- #container.yt-live-chat-ticker-renderer {
- background: var(--accent-background) !important;
- }
- ytd-toggle-button-renderer.ytd-live-chat-frame {
- background: var(--accent-background) !important;
- }
- /* App drawer */
- app-drawer #header yt-icon,
- app-drawer #header #logo-red-icon-container path,
- app-drawer #header .title {
- color: var(--main-background) !important;
- fill: var(--main-background) !important;
- }
- app-drawer g.ytd-topbar-logo-renderer path,
- app-drawer #youtube-paths path {
- fill: var(--main-background) !important;
- }
- app-drawer #header,
- ytd-active-account-header-renderer,
- ytd-simple-menu-header-renderer {
- background: linear-gradient(to right, var(--light1), var(--dark2)) !important;
- color: var(--main-background) !important;
- }
- /* Channel page */
- #channel-header,
- #tabs-inner-container {
- background: var(--accent-background) !important;
- }
- paper-tab.ytd-c4-tabbed-header-renderer:hover {
- color: var(--secondary-white) !important;
- opacity: 0.6 !important;
- transition: opacity .2s;
- }
- paper-tab.iron-selected.ytd-c4-tabbed-header-renderer,
- #channel-title,
- #label-text {
- color: var(--light1) !important;
- }
- paper-tabs.ytd-c4-tabbed-header-renderer {
- fill: var(--secondary-white) !important;
- }
- /* Account menu */
- ytd-active-account-header-renderer yt-formatted-string,
- ytd-active-account-header-renderer yt-formatted-string a,
- #back-button.ytd-simple-menu-header-renderer {
- color: var(--main-background) !important;
- }
- /* Specific UI components */
- #like-bar {
- background: linear-gradient(to right, var(--light1), var(--dark2)) !important;
- }
- #masthead {
- background: var(--accent-background) !important;
- box-shadow: 0px 3px 2px 0px rgb(13, 16, 25);
- }
- ytd-author-comment-badge-renderer {
- --ytd-author-comment-badge-background-color: var(--dark2) !important;
- --ytd-author-comment-badge-name-color: var(--main-background) !important;
- --ytd-author-comment-badge-icon-color: var(--main-background) !important;
- color: var(--ytd-author-comment-badge-name-color) !important;
- fill: var(--ytd-author-comment-badge-icon-color) !important;
- }
- /* End CodePen Style Here */
- /*
- ######################################################################################
- ######################################################################################
- ## endroughxfer-urldump #1#
- ## <EOF><EOF>
- ######################################################################################
- ######################################################################################
- */
- /* Start JS 23px notch, buffer/ played colors, 10px height */
- // First, inject the CSS
- const style = document.createElement('style');
- style.textContent = `
- .custom-youtube-notch {
- position: absolute;
- width: 23px;
- height: 23px;
- background-color: black;
- border: 2px solid white;
- border-radius: 50%;
- z-index: 999999;
- pointer-events: none;
- transform: translateX(-50%) translateY(-50%);
- }
- /* Make buffered progress hot pink */
- .html5-load-progress, .ytp-load-progress {
- background-color: black !important;
- }
- /* Make played progress indigo */
- .html5-play-progress, .ytp-play-progress {
- background-color: indigo !important;
- }
- /* Make sure the hover preview also matches indigo */
- .html5-hover-progress, .ytp-hover-progress {
- background-color: indigo !important;
- }
- /* Ensure proper layering */
- .html5-progress-list, .ytp-progress-list {
- z-index: 99998 !important;
- }
- /* Make progress bar thicker */
- .html5-progress-bar-container, .ytp-progress-bar-container {
- height: 10px !important;
- }
- .html5-progress-bar, .ytp-progress-bar {
- height: 10px !important;
- }
- .html5-progress-list, .ytp-progress-list {
- height: 10px !important;
- }
- .ytp-progress-bar .ytp-play-progress,
- .ytp-progress-bar .ytp-load-progress,
- .ytp-progress-bar .ytp-hover-progress {
- height: 10px !important;
- }
- /* Update these styles in your JavaScript */
- /* Make played progress indigo */
- .ytp-progress-bar .ytp-play-progress,
- .ytp-progress-bar-container .ytp-play-progress,
- .ytp-progress-bar .ytp-play-progress.ytp-swatch-background-color {
- background: indigo !important;
- background-color: indigo !important;
- }
- /* Adjust the scrubber container for the thicker bar */
- .html5-scrubber-container, .ytp-scrubber-container {
- height: 10px !important;
- }
- /* When hovering, make it even thicker */
- .ytp-progress-bar-container:hover {
- height: 15px !important;
- }
- .ytp-progress-bar-container:hover .ytp-progress-bar,
- .ytp-progress-bar-container:hover .ytp-progress-list,
- .ytp-progress-bar-container:hover .ytp-play-progress,
- .ytp-progress-bar-container:hover .ytp-load-progress,
- .ytp-progress-bar-container:hover .ytp-hover-progress {
- height: 15px !important;
- }
- `;
- document.head.appendChild(style);
- function enforceProgressBarColor() {
- const playProgress = document.querySelector('.ytp-play-progress');
- if (playProgress) {
- playProgress.style.setProperty('background', 'indigo', 'important');
- playProgress.style.setProperty('background-color', 'indigo', 'important');
- }
- }
- // Function to create or update the notch
- function updateNotch() {
- let progressBar = document.querySelector('.ytp-progress-bar');
- let player = document.querySelector('.html5-main-video');
- let progressBarContainer = document.querySelector('.ytp-progress-bar-container');
- if (!progressBar || !player || !progressBarContainer) return;
- // Create notch if it doesn't exist
- let notch = document.querySelector('.custom-youtube-notch');
- if (!notch) {
- notch = document.createElement('div');
- notch.className = 'custom-youtube-notch';
- progressBarContainer.appendChild(notch);
- }
- // Calculate position
- let progress = (player.currentTime / player.duration) * 100;
- let progressBarRect = progressBar.getBoundingClientRect();
- let position = (progressBarRect.width * progress) / 100;
- // Update notch position
- notch.style.left = `${position}px`;
- notch.style.top = '50%';
- notch.style.display = 'block';
- }
- // Function to start the interval
- function startNotchUpdate() {
- // Initial update
- updateNotch();
- enforceProgressBarColor();
- // Set interval for updates
- return setInterval(updateNotch, 1000);
- }
- // Function to initialize and handle page changes
- function initialize() {
- let interval;
- // Observer for detecting player load
- const observer = new MutationObserver((mutations) => {
- if (document.querySelector('.html5-main-video')) {
- if (!interval) {
- interval = startNotchUpdate();
- }
- }
- });
- // Start observing
- observer.observe(document.body, {
- childList: true,
- subtree: true
- });
- // Handle navigation (for YouTube's SPA nature)
- let lastUrl = location.href;
- new MutationObserver(() => {
- const url = location.href;
- if (url !== lastUrl) {
- lastUrl = url;
- clearInterval(interval);
- interval = startNotchUpdate();
- }
- }).observe(document.body, {subtree: true, childList: true});
- }
- // Start the script
- initialize();
- /* End JS 23px notch, buffer/ played colors, 10px height */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement