// ==UserScript==
// @name b站深色模式
// @name:zh-cn b站深色模式
// @name:en bilibili darkmode
// @license MIT
// @version 0.1.2
// @description 给b站添加深色样式
// @description:zh-cn 给b站添加深色样式
// @description:en make bilibili dark!
// @author kudryavka1013
// @match https://*.bilibili.com/*
// @icon https://www.bilibili.com/favicon.ico?v=1
// @require https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js
// @grant GM_addStyle
// @run-at document-start
// @homepageURL https://github.com/kudryavka1013/bilibili-darkmode
// @namespace https://greasyfork.org/users/234510
// ==/UserScript==
/* globals jQuery, $, waitForKeyElements */
var $$ = document.querySelectorAll.bind(document);
(function () {
"use strict";
// 全局色彩样式覆写
GM_addStyle(`
:root{
--bg1: #121212 !important;
--bg1_float: #1A1A1A !important;
--bg2: #121212 !important;
--bg2_float: #2E2E2E !important;
--bg3: #2E2E2E !important;
--text1: #C8CBCF !important;
--text2: #ABADB0 !important;
--line_light: #2E2E2E !important;
--line_regular: #4D4D4D !important;
--line_bold: #767676 !important;
--graph_bg_thin: #1F1F1F !important;
--graph_bg_regular: #262626 !important;
--graph_bg_thick: #3D3D3D !important;
--brand_blue: #0096CC !important;
--v_text_disabled: #4D4D4D !important;
--brand_blue_thin: #0096CC !important;
--graph_weak: #2E2E2E !important;
--Or5: #FF7F24 !important;
}
`);
// 底色覆盖
GM_addStyle(`
html body{
background-color: var(--bg1_float) !important;
}
`)
// 视频播放页处理
GM_addStyle(`
#bilibili-player-placeholder {
box-shadow: none !important;
}
.vip-login-tip {
box-shadow: 0 0 30px rgba(150,150,150,.1);
}
.van-popover {
background-color: var(--bg1) !important;
border-color: var(--line_regular) !important;
}
`);
// 首页
GM_addStyle(`
#nav-searchform:hover {
border: 1px solid var(--bg3) !important;
}
#nav-searchform.is-focus {
border: 1px solid var(--bg3) !important;
border-bottom: none !important;
opacity: 1 !important;
}
.search-panel {
border: 1px solid var(--bg3) !important;
border-top: none !important;
}
`);
// 视频卡片icon
GM_addStyle(`
.bili-video-card__info--icon-text {
background-color: initial !important;
box-shadow: 0 0 1px 1px var(--Or5);
}
`)
// headerBar收藏夹
GM_addStyle(`
.favorite-panel-popover__nav .tab-item--active {
color: #E6E6E6;
}
.favorite-panel-popover__nav .tab-item--active .tab-item__num {
color: #E6E6E6;
}
.header-channel {
box-shadow: 0 2px 4px rgba(255,255,255,.08) !important;
}
`)
// 搜索页
GM_addStyle(`
.vui_button--tab:active, .vui_button--tab.vui_button--active, .vui_button--tab.vui_button--active:hover {
background-color: var(--graph_bg_thick) !important;
}
.vui_button[disabled], .vui_button[disabled]:hover, .vui_button[disabled]:active, .vui_button[disabled].vui_button--active {
border: 1px solid var(--line_regular) !important;
}
.esport-card-options .btn:hover {
color: #FFF !important;
}
`)
// 评论区
GM_addStyle(`
.reply-box .box-normal .reply-box-send .send-text {
color: var(--text2) !important;
}
.reply-box .box-normal .reply-box-send:hover .send-text {
color: #FFF !important;
}
.reply-box.box-active .box-normal .reply-box-send.send-active .send-text {
color: #FFF !important;
}
.reply-box .box-normal .reply-box-send:after {
opacity: .8 !important;
}
.reply-box .box-normal .reply-box-send:hover:after {
opacity: 1 !important;
}
.reply-box.box-active .box-normal .reply-box-send.send-active:after {
opacity: 1 !important;
}
.reply-box .box-normal .reply-box-warp .reply-box-textarea {
border: 1px solid var(--line_regular) !important;
}
.reply-box .box-expand .reply-box-emoji .emoji-btn {
border: 1px solid var(--line_regular) !important;
}
.reply-box .box-expand .at-btn {
border: 1px solid var(--line_regular) !important;
}
.reply-box .box-normal .reply-box-warp .reply-box-textarea.focus,
.reply-box .box-normal .reply-box-warp .reply-box-textarea:hover {
border-color: var(--line_bold) !important;
}
.user-card {
border: 1px solid var(--line_regular) !important;
background-color: var(--bg1) !important;
}
.user-card div.info p.user a.name {
color: var(--text1);
}
.user-card .info .social span {
color: var(--text2);
}
.reply-item .root-reply-container .content-warp .root-reply .reply-tag-list .reply-tag-item {
background-color: initial !important;
box-shadow: 0 0 1px 1px !important;
}
.reply-operation .operation-list {
box-shadow: 0 0 5px #fff3 !important;
}
`)
// 动态首页
GM_addStyle(`
#app .bg {
background-image: none !important;
background-color: var(--bg1_float) !important;
}
.bili-dyn-my-info,
.bili-dyn-live-users,
.bili-dyn-publishing,
.bili-dyn-up-list,
.bili-dyn-list-tabs,
.bili-dyn-item,
.bili-dyn-topic-box {
box-shadow: 0 0 1px #FFF;
}
.bili-dyn-live-users__item-container:hover,
.relevant-topic-container__item:hover {
background-color: var(--graph_bg_regular) !important;
}
.bili-dyn-sidebar .bili-dyn-sidebar__btn {
box-shadow: 0 0 1px #FFF;
}
.bili-user-profile {
box-shadow: 0 0 1px 0px #FFF !important;
background-color: var(--bg1) !important;
}
.bili-user-profile .bili-user-profile-view__info__uname {
color: var(--text1);
}
.bili-user-profile .bili-user-profile-view__info__stat span{
color: var(--text2) !important;
}
`)
// 个人空间
GM_addStyle(`
#app.owner,
#app.fans,
#app.visitor {
background-color: var(--bg1_float) !important;
}
.n .n-inner {
background-color: var(--bg1) !important;
box-shadow: 0 0 1px #FFF !important;
}
.n .n-text {
color: var(--text1) !important;
}
.n .n-btn.active .n-text {
color: #00A1D6 !important;
}
.n .n-data .n-data-v {
color: var(--text2) !important;
}
.n .n-inner .g-search input {
background-color: var(--bg3) !important;
border: 1px solid var(--line_regular) !important;
color: var(--text2) !important;
}
#page-index .col-1,
#page-index .col-2 .section,
#page-dynamic .col-2 .section {
background-color: var(--bg1) !important;
border: 1px solid var(--line_regular) !important;
color: var(--text1) !important;
}
#page-index .section-title,
#page-index .article-title,
#page-index .large-item .title,
#page-index .col-2 .section .user-auth.no-auth .no-auth-title .goto-auth,
#page-index .col-2 .user-info .user-info-title .info-title,
#page-index .col-2 .game-card__info-title,
#page-index .col-2 .section .user-auth .auth-description {
color: var(--text1) !important;
}
#page-index .col-1 .section.i-pin-v .be-tab,
#page-index .col-1 .section,
#page-index .col-1 .channel .channel-item,
#page-index .col-2 .section-title {
border-bottom: 1px solid var(--line_bold) !important;
}
#page-index .section .count {
background: none !important;
color: var(--text1) !important;
border: 1px solid var(--line_bold) !important;
}
#page-index .section .count:before,
#page-index .list-create {
background: none !important;
}
#page-index .fav-covers,
#page-index .col-2 .i-m-r2,
#page-index .col-2 .i-live .i-live-unfo-btn {
border: 1px solid var(--line_bold) !important;
}
#page-index .col-2 .i-live .i-live-fo-count {
border: 1px solid var(--line_bold) !important;
border-left-width: 0 !important;
}
#page-index #i-ann-content textarea {
background-color: var(--bg3) !important;
color: var(--text1) !important;
}
#page-index .col-2 .elec .elec-status {
filter: invert(93%) !important;
}
#page-index .col-2 .elec .elec-status-bg-grey {
background-color: #555555 !important;
}
#page-dynamic .col-1 .bili-dyn-item {
background-color: var(--bg1) !important;
color: var(--text1) !important;
}
#page-dynamic .col-1 .bili-dyn-list-loading {
background-color: var(--bg1) !important;
box-shadow: 0 0 1px #FFF;
}
#page-dynamic .col-1 .bili-dyn-title__text {
color: var(--text1);
}
#page-dynamic .col-2 .user-info .user-info-title .info-title,
#page-dynamic .col-1 .bili-rich-text__content,
#page-dynamic .col-1 .bili-dyn-card-video__title {
color: var(--text1) !important;
}
#page-dynamic .col-1 .bili-popover {
background-color: var(--bg1) !important;
border: 1px solid var(--line_bold) !important;
}
#page-dynamic .col-1 .bili-popover__arrow {
background-color: var(--bg1) !important;
border-left: 1px solid var(--line_bold) !important;
border-top: 1px solid var(--line_bold) !important;
}
#page-dynamic .col-1 .bili-dyn-more__menu__item {
color: var(--text1) !important;
}
#page-dynamic .col-1 .bili-dyn-more__menu__item:hover {
color: #00A1D6 !important;
}
#page-dynamic .col-1 .bili-dyn-card-video,
.bb-comment .comment-send .comment-emoji {
border: 1px solid var(--line_bold) !important;
}
#page-dynamic .col-1 .bili-dyn-card-video__body {
background-color: initial !important;
}
#page-dynamic .col-1 .dynamic-card-comment .bb-comment,
#page-dynamic .col-1 .bb-comment .comment-list .list-item .info .btn-hover:hover {
background-color: initial !important;
}
#page-dynamic .col-1 .bb-comment .comment-header {
border-bottom: 1px solid var(--line_bold) !important;
}
#page-dynamic .col-1 .bb-comment .bottom-page.center,
#page-dynamic .col-1 .bb-comment .comment-list .list-item .con {
border-top: 1px solid var(--line_bold) !important;
}
#page-dynamic .col-1 .bb-comment .comment-header .tabs-order li:not(.on) {
color: var(--text1) !important;
}
#page-dynamic .col-1 .bb-comment .operation .opera-list {
background-color: #181818 !important;
color: var(--text1) !important;
box-shadow: 0 0 5px rgba(255, 255, 255, 0.2) !important;
}
#page-dynamic .col-1 .bb-comment .operation .opera-list li:hover {
background-color: var(--bg3) !important;
}
#page-dynamic .col-1 .bb-comment .comment-send .textarea-container .ipt-txt {
background-color: var(--bg3) !important;
color: var(--text1) !important;
border: 1px solid var(--line_bold) !important;
}
#page-dynamic .col-1 .bb-comment .comment-send .textarea-container:hover .ipt-txt {
border-color: #00A1D6 !important;
}
#page-dynamic .col-1 .bb-comment .comment-list .list-item .info .reply-tags span {
background: none !important;
box-shadow: 0 0 1px #FFF !important;
}
#page-dynamic .col-1 .bb-comment .comment-list .list-item div.user a.name {
color: var(--text1);
}
.comment-bilibili-con {
background: var(--bg1) !important;
border: 1px solid var(--line_bold) !important;
}
.comment-bilibili-con .t,
.comment-bilibili-con .con label {
color: var(--text2) !important;
}
.comment-bilibili-con .other .ta textarea,
.bili-dyn-report__remark__field {
background-color: var(--bg3) !important;
color: var(--text1) !important;
}
.bili-dyn-report {
background: var(--bg1_float) !important;
border: 1px solid var(--line_bold) !important;
}
.bili-dyn-report .bili-radio__label {
color: var(--text2) !important;
}
.bili-dyn-report .bili-dyn-report__remark__content {
background-color: var(--bg3) !important;
}
.m-layer.m-button, .m_layer.m-button {
background: var(--bg1) !important;
border: 1px solid var(--line_bold) !important;
color: var(--text1) !important;
}
.be-dropdown-menu {
background-color: var(--bg1_float) !important;
border: 1px solid var(--line_bold) !important;
}
.be-dropdown-menu .be-dropdown-item {
color: var(--text1) !important;
}
.be-dropdown-menu .be-dropdown-item:hover {
background-color: var(--graph_bg_regular) !important;
color: #00A1D6 !important;
}
#page-video .col-full,
#page-audio .col-full,
#page-article .col-full,
#page-myalbum .col-full,
#page-channel .col-full {
background: var(--bg1) !important;
box-shadow: 0 0 1px #FFF !important;
}
#page-video .col-full .contribution-sidenav~.main-content,
#page-audio .col-full .contribution-sidenav~.main-content,
#page-article .col-full .contribution-sidenav~.main-content,
#page-myalbum .col-full .contribution-sidenav~.album-content {
border-left: 1px solid var(--line_regular) !important;
}
#page-video .col-full .contribution-sidenav,
#page-audio .col-full .contribution-sidenav,
#page-article .col-full .contribution-sidenav,
#page-myalbum .col-full .contribution-sidenav {
border-right: 1px solid var(--line_regular) !important;
}
.contribution-sidenav .contribution-item:not(.cur) .text {
color: var(--text1) !important;
}
.contribution-sidenav .contribution-item:not(.cur):hover {
background-color: var(--graph_bg_regular) !important;
}
.be-tab-item:not(.is-active),
#page-video .page-head__left .video-title,
#page-audio .row .breadcrumb .item,
#page-article .row .breadcrumb .item,
#page-myalbum .album-list__title,
#page-myalbum .album-card__title,
#page-video .list-item .title,
#page-article .article-title a,
#page-video .small-item .title:not(:hover),
#page-channel .series-item .item-title,
#page-channel .channel-index .breadcrumb .item.cur,
#page-channel .card-item .title:not(:hover),
#page-channel #page-series-detail .channel-detail .content .breadcrumb .item,
#page-channel .small-item .title:not(:hover) {
color: var(--text1) !important;
}
#page-video #submit-video-type-filter,
#page-myalbum .album-list__tabs {
background-color: var(--bg3) !important;
}
#page-video #submit-video-type-filter a:not(.active),
#page-myalbum .album-list__tab:not(.album-list__tab--active) .album-list__tab-name {
color: var(--text1) !important;
}
#page-video #submit-video-type-filter a:not(.active):hover,
#page-myalbum .album-list__tab:not(.album-list__tab--active) .album-list__tab-name:hover {
color: #00A1D6 !important;
}
#page-video .list-item,
#page-article .s-content,
#page-channel #page-series-detail .filter {
border-bottom: 1px solid var(--line_regular) !important;
}
#page-video .be-pager li:not(.be-pager-item-active),
#page-channel .be-pager li:not(.be-pager-item-active) {
background: none !important;
border: 1px solid var(--line_bold) !important;
}
#page-video .be-pager .be-pager-options-elevator input,
#page-channel .be-pager .be-pager-options-elevator input {
background: var(--bg3) !important;
border: 1px solid var(--line_bold) !important;
}
#page-channel .channel-add-video {
background: none !important;
}
#page-channel .series-item .split-line {
background-color: var(--line_bold) !important;
}
#page-channel .series-item .item-title .qipapnum {
background: none !important;
color: var(--text1) !important;
border: 1px solid var(--line_bold) !important;
}
#page-channel .series-item .item-title .qipapnum:before {
background: none !important;
}
#page-channel .section {
border-bottom: none !important;
}
`)
})();