사클 다크 모드

검은색으로 만들어준다

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         사클 다크 모드
// @namespace    https://guns.lol/P4L0N
// @version      1.0
// @description  검은색으로 만들어준다
// @author       P4L0N
// @match        *://soundcloud.com/*
// @grant        none
// @license      This code is proprietary and cannot be used, modified, or distributed without explicit permission from the author.
// ==/UserScript==

(function() {
    'use strict';

    // Add custom CSS for dark mode
    const style = document.createElement('style');
    style.innerHTML = `
        /* 기본 배경과 텍스트 색상 */
        body, html, .page, .content {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* 헤더와 기타 상단 요소들 */
        .header,
        .header__wrapper,
        .header__navMenu,
        .header__top,
        .sc-artwork, 
        .sc-artwork-list, 
        .sc-artwork-placeholder,
        .sidebar, 
        .relatedTracks, 
        .relatedTracks__title {
            background-color: #000000 !important;
        }

        /* 헤더 메뉴의 배경 수정 */
        .headerMenu,
        .headerMenu__moreMenu,
        .headerMenu__profileMenu,
        .headerMenu__dropdown,
        .m-light,
        .headerMenu.m-light,
        .headerMenu__moreMenu.m-light,
        .headerMenu__profileMenu.m-light {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* SoundCloud 로고에서 배경을 제거하고 아이콘만 표시 */
        .header__logo {
            background-image: url('https://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/SoundCloud_logo_%282014%29.svg/512px-SoundCloud_logo_%282014%29.svg.png') !important;
            background-size: contain !important;
            background-repeat: no-repeat !important;
            background-position: center !important;
            background-color: transparent !important; /* 배경 제거 */
        }

        /* 로고 크기 설정 */
        .header__logo {
            width: 150px; /* 원하는 크기로 조정 */
            height: 50px;
        }

        /* sc-button-group 및 sc-button-group-small 버튼 그룹 배경 색상 변경 */
        .sc-button-group, 
        .sc-button-group-small, 
        .sc-button {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* 링크와 버튼 색상 */
        a {
            color: #ffffff !important;
        }
        button, .sc-button {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* 흰색 경계선 제거 및 박스 그림자 제거 */
        * {
            border-color: #000000 !important;
            box-shadow: none !important;
        }

        /* 댓글 텍스트 흰색으로 수정 */
        .commentsList__item, .commentItem__body {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* 댓글 입력란 및 프로필 이미지 테두리 제거 */
        .commentForm__inputWrapper, 
        .commentForm__input,
        .commentItem__avatarImage {
            background-color: #000000 !important;
            color: #ffffff !important;
            border: 1px solid #000000 !important; /* 프로필 이미지 테두리 검은색으로 */
        }

        /* 댓글 창이 포커스될 때도 유지 */
        .commentForm__inputWrapper.focused .commentForm__input {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* commentForm__wrapper 및 commentForm__transition 수정 */
        .commentForm__wrapper, 
        .commentForm__transition {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* soundBadge__additional 배경색 검정으로 변경 */
        .soundBadge__additional {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* soundBadge compact sc-media m-interactive m-playable 배경색 검정으로 변경 */
        .soundBadge.compact,
        .sc-media.m-interactive.m-playable {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* soundBadge compact sc-media m-interactive m-playable hover 상태에서 배경 흰색 제거 */
        .soundBadge.compact:hover,
        .sc-media.m-interactive.m-playable:hover {
            background-color: #000000 !important; /* 검정 배경 강제 유지 */
            color: #ffffff !important;
        }

        /* commentItem__timestampLink 검정으로 변경 */
        .commentItem__timestampLink {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* 하단 플레이 컨트롤러의 배경과 색상 */
        .playControls__inner, 
        .playbackTimeline__progressBackground,
        .volume__sliderWrapper, 
        .playControls__elements {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* 플레이어에서 재생 버튼 등의 아이콘 색상 */
        .playControls__control, 
        .playControls__soundBadge, 
        .playControls__elements button {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* 기타 요소들 */
        .compactTrackListItem,
        .trackItem,
        .dropdownContent__container,
        .dropdownContent__main,
        .popup__main,
        .modal__content {
            background-color: #000000 !important;
            color: #ffffff !important;
        }

        /* 검색 및 입력 필드 */
        input[type="text"], input[type="search"], textarea {
            background-color: #000000 !important;
            color: #ffffff !important;
            border: 1px solid #ffffff !important;
        }

        /* 테두리와 아래선 제거 */
        .sc-border-light, .sc-border {
            border-color: #000000 !important;
            border-bottom: none !important;
        }

        /* modal 및 overlay 배경 반투명 검은색 */
        .modal__modal,
        .sc-border-box,
        .g-z-index-modal-content,
        .modal,
        .g-z-index-modal-background,
        .g-opacity-transition,
        .g-z-index-overlay,
        .modalWhiteout,
        .showBackground,
        .g-backdrop-filter-grayscale {
            background-color: rgba(0, 0, 0, 0.8) !important; /* 반투명 검은색 */
            color: #ffffff !important;
        }

        /* 마우스 hover 시 headerMenu__link와 profileMenu__profile의 색상을 진한 회색으로 */
        .headerMenu__link:hover,
        .profileMenu__profile:hover {
            background-color: #333333 !important;
            color: #ffffff !important;
        }
    `;

    // 페이지에 스타일 추가
    document.head.appendChild(style);
})();