diff --git a/.vscode/settings.json b/.vscode/settings.json index fb642edee..7032666fd 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -42,6 +42,7 @@ "durl", "epid", "esbuild", + "flac", "Fullscreen", "githubusercontent", "Greasemonkey", diff --git a/CHANGELOG.md b/CHANGELOG.md index 31528ca96..7d87ffacc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # 更新日志 +## v2.3.2-preview + +包含 v2.2.3 的所有更新内容. + +✨新增 +- 新增组件 `UP 主黑名单` by [snowraincloud](https://github.com/snowraincloud). (PR #3537) +- 在无限滚动的场景下, 点击那个 `加载中` 的标识 (ScrollTrigger) 可以手动触发加载下一页. 在遇到没有自动加载下一页的情况时会比较有用. +- `下载视频` 支持 `flac` 音源. (#3497) + +## v2.2.3 +`2022-08-13` + +✨新增 +- `BiliPlus 跳转支持` 更换了新的图标. +- `简化评论区` 支持屏蔽热评图标. + +🐛修复 +- 调整 `自定义顶栏` 对 `bilibili 夏` logo 的尺寸. +- 修复 ScopedConsole API 缺少浏览器的额外 API (报错为 `console.table is not a function`). (#3462) +- `夜间模式` 部分适配更新后的直播间, 修复一些动态页的问题. (#2615, #3459, #3191) +- 修复启用 `禁止跳转动态详情` 后, 动态中的展开按钮无法展开动态. (#3465) +- 新版播放器界面适配: + - 部分 `夜间模式` 支持. (#2615) + - `删除广告` 支持删除广告及推广视频. + - `外置稍后再看` 和 `启用快速收藏` 支持. +- 修复 `自定义顶栏` 遮挡动态页查看大图的界面. (#3467) +- 修复视频卡片在 Safari 中的动画异常. (PR #3533 by [夜白](https://github.com/Agoines)) +- 修复 3.x 播放器中开启 HEVC 后查询不到 bwp-video. (PR #3560 by [imshixin](https://github.com/imshixin)) + ## v2.3.1-preview `2022-06-28` diff --git a/doc/donate.md b/doc/donate.md index ce2c4545d..31fc836df 100644 --- a/doc/donate.md +++ b/doc/donate.md @@ -29,6 +29,17 @@ https://afdian.net/@the1812?tab=sponsor | 时间 | 用户名 | 单号后4位 | 金额 | | ------------------- | ---------------- | --------- | ------- | +| 2022.08.09 22:42:25 | H*l | 0339 | ¥5.88 | +| 2022.08.08 01:59:48 | 匿名 | 5919 | ¥1.00 | +| 2022.08.06 23:15:24 | *念 | 8967 | ¥5.00 | +| 2022.07.28 18:52:40 | *丶 | 4307 | ¥10.00 | +| 2022.07.23 11:41:34 | *萌 | 9440 | ¥5.00 | +| 2022.07.22 15:24:02 | *i | 4502 | ¥5.00 | +| 2022.07.19 23:26:59 | 匿名 | 7379 | ¥1.00 | +| 2022.07.07 22:48:55 | C*n | 9972 | ¥1.00 | +| 2022.07.07 15:24:18 | *某 | 7714 | ¥20.00 | +| 2022.07.04 21:52:46 | T*e | 8148 | ¥8.80 | +| 2022.06.29 11:11:19 | 匿名 | 1519 | ¥50.00 | | 2022.06.23 19:22:27 | ღ*༊ | 7906 | ¥9.00 | | 2022.06.23 19:13:20 | ღ*༊ | 9854 | ¥10.00 | | 2022.06.19 11:39:19 | 匿名 | 1928 | ¥0.29 | diff --git a/registry/lib/components/feeds/disable-details/index.ts b/registry/lib/components/feeds/disable-details/index.ts index ae658c76c..4fa0e215b 100644 --- a/registry/lib/components/feeds/disable-details/index.ts +++ b/registry/lib/components/feeds/disable-details/index.ts @@ -28,6 +28,7 @@ const entry = async () => { return } if ([ + 'bili-rich-text__action', 'bili-rich-text-topic', 'bili-rich-text-module', 'bili-rich-text-link', diff --git a/registry/lib/components/style/custom-navbar/CustomNavbar.vue b/registry/lib/components/style/custom-navbar/CustomNavbar.vue index cf5686025..57f7385c2 100644 --- a/registry/lib/components/style/custom-navbar/CustomNavbar.vue +++ b/registry/lib/components/style/custom-navbar/CustomNavbar.vue @@ -259,5 +259,8 @@ body.fixed-navbar { right: 0; } } + ~ .bili-gallery { + z-index: 10002; + } } diff --git a/registry/lib/components/style/custom-navbar/CustomNavbarItem.vue b/registry/lib/components/style/custom-navbar/CustomNavbarItem.vue index ceca8d75f..ebee228ef 100644 --- a/registry/lib/components/style/custom-navbar/CustomNavbarItem.vue +++ b/registry/lib/components/style/custom-navbar/CustomNavbarItem.vue @@ -129,11 +129,9 @@ export default Vue.extend({ } if (!item.requestedPopup) { item.requestedPopup = true - console.log('requestedPopup', true) this.triggerPopupShow(true) return } - console.log('requestedPopup', false) this.triggerPopupShow(false) }, // async initPopper() { diff --git a/registry/lib/components/style/custom-navbar/logo/NavbarLogo.vue b/registry/lib/components/style/custom-navbar/logo/NavbarLogo.vue index 90354a31f..5a60735eb 100644 --- a/registry/lib/components/style/custom-navbar/logo/NavbarLogo.vue +++ b/registry/lib/components/style/custom-navbar/logo/NavbarLogo.vue @@ -64,7 +64,8 @@ export default Vue.extend({ } } &.season { - transform: scale(1.15); + height: 36px; + // transform: scale(1.15); filter: drop-shadow(0 0 2px #0002); } } diff --git a/registry/lib/components/style/dark-mode/dark-mode.important.scss b/registry/lib/components/style/dark-mode/dark-mode.important.scss index 3397f3976..3b9210033 100644 --- a/registry/lib/components/style/dark-mode/dark-mode.important.scss +++ b/registry/lib/components/style/dark-mode/dark-mode.important.scss @@ -1,9 +1,9 @@ -@import "./dark-definitions"; +@import './dark-definitions'; #disable-popup-modal, #vip-exchange-modal { .vip-exchange .months button.disabled { - @include background-color("2"); + @include background-color('2'); } } @@ -12,7 +12,7 @@ .sch-pub-btn.disabled, .publish-btn.publishing, .publish-btn.disabled { - @include background-color("2"); + @include background-color('2'); } } .link-footer, @@ -22,10 +22,10 @@ .tab-list .tab-item.active:before, .player-auxiliary-area .player-auxiliary-bscrollbar .bscroll-indicator, .home-content .publish-btn.disabled { - @include background-color("2"); + @include background-color('2'); } .manga-detail .episode-list-component .episode-list .list-header .header-item.selected { - @include background-color("3"); + @include background-color('3'); } .wrapper .elec-btn.disabled, .f-list-hover:hover, @@ -43,10 +43,10 @@ .main-container .media-info .media-right .media-tool-bar .btn-follow.active, .coupon-content-con .coupon-btn-disable, .customize-wrp .select { - @include background-color("4"); + @include background-color('4'); } .danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap .bscroll-indicator { - @include background-color("5"); + @include background-color('5'); } .player-auxiliary-area .player-auxiliary-bscrollbar { .bscroll-vertical-scrollbar, @@ -68,12 +68,12 @@ blockquote { &, * { - @include color("a"); + @include color('a'); } - @each $color in "blue", "gray", "green", "lblue", "pink", "purple", "yellow" { - @each $value in "01", "02", "03", "04" { + @each $color in 'blue', 'gray', 'green', 'lblue', 'pink', 'purple', 'yellow' { + @each $value in '01', '02', '03', '04' { .color-#{$color}-#{$value} { - @include color("a"); + @include color('a'); } } } @@ -81,30 +81,30 @@ blockquote { .open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled { &, &:hover { - @include color("a"); + @include color('a'); } } .status_box .status_btn.disabled { - @include color("a"); + @include color('a'); } .live-room-app .guard-rank-cntr { .tabs.isHundred .item.active { - @include color("e"); + @include color('e'); } &.hundred, &.thousand { .live-skin-main-a-text, .page-box .live-skin-main-text, .live-skin-highlight-text { - @include color("e"); + @include color('e'); } } } .bb-comment .no-login .comment-submit { .common &, & { - @include color("9"); - @include background-color("4"); + @include color('9'); + @include background-color('4'); @include border-color(); } } @@ -124,7 +124,7 @@ blockquote { .customize-wrp .select, .manga-detail .episode-list-component .episode-list .list-data .list-item.last-read, .popup-content-ctnr .bl-button--ghost { - @include color("e"); + @include color('e'); } .link-footer, @@ -224,27 +224,27 @@ blockquote { #bilibiliPlayer { box-shadow: 0 4px 8px 0 #0004; - @include background-color("2"); + @include background-color('2'); } .live-skin-coloration-area { .live-skin-separate-area, .live-skin-separate-area-hover:hover { - @include background-color("2"); + @include background-color('2'); } .live-skin-normal-a-text { &, &:link, &:visited { - @include color("a"); + @include color('a'); } } .live-skin-normal-text { - @include color("a"); + @include color('a'); } .live-skin-main-text, .live-skin-highlight-text { - @include color("e"); + @include color('e'); } .live-skin-highlight-border, .live-skin-separate-border { @@ -293,4 +293,51 @@ blockquote { .bilibili-player-block-filter-label { @include theme-color(); } -} \ No newline at end of file +} +.left-container #head-info-vm.head-info-section { + @include background-color('4'); +} +#link-navbar-vm.link-navbar-ctnr { + &, + & .link-navbar { + @include background-color('3'); + } + .calendar-checkin .calendar-wrapper, + .download-panel-ctnr, + .nav-item, + .nav-item .area-list-panel .list-item, + .nav-logo, + .shortcuts-ctnr .shortcut-item, + .user-panel-ctnr .user-panel .header-node .username-info, + .user-panel-ctnr .user-panel .user-level-detail .detail-link { + @include color('e'); + } + .link-panel-ctnr .ps__thumb-x, + .link-panel-ctnr .ps__thumb-y, + .nav-item:hover, + .shortcuts-ctnr .shortcut-item:not(:last-child):hover { + @include background-color('4'); + } + .calendar-checkin, + .calendar-checkin .calendar-wrapper, + .calendar-checkin .title, + .download-panel-ctnr, + .link-panel-ctnr, + .link-panel-ctnr .totally-empty-hint, + .nav-item .area-list-panel, + .user-panel-ctnr .user-panel, + .user-panel-ctnr .user-panel .load-error-panel, + .user-panel-ctnr .user-panel .user-level-detail { + @include background-color('3'); + } + .right-part > .shortcuts-ctnr .shortcut-item:hover { + @include background-color(); + } + .content-ctnr { + .items .item .light-name, + .items .item .name, + .title { + @include color('e'); + } + } +} diff --git a/registry/lib/components/style/dark-mode/dark-mode.scss b/registry/lib/components/style/dark-mode/dark-mode.scss index 848dc0abb..2291fa223 100644 --- a/registry/lib/components/style/dark-mode/dark-mode.scss +++ b/registry/lib/components/style/dark-mode/dark-mode.scss @@ -14,4 +14,5 @@ @import "./dark-slice-14.scss"; @import "./dark-slice-15.scss"; @import "./dark-slice-16.scss"; +@import "./dark-slice-17.scss"; @import "./dark-navbar.scss"; \ No newline at end of file diff --git a/registry/lib/components/style/dark-mode/dark-navbar.scss b/registry/lib/components/style/dark-mode/dark-navbar.scss index a3a0d0520..543f78624 100644 --- a/registry/lib/components/style/dark-mode/dark-navbar.scss +++ b/registry/lib/components/style/dark-mode/dark-navbar.scss @@ -16,8 +16,7 @@ #link-navbar-vm > .link-navbar, #app > .link-navbar, #app > .nav-header-wrapper, -.b-header-mask-wrp .b-header-mask, -.link-navbar { +.b-header-mask-wrp .b-header-mask { @include background-color("3"); } .z_top .i-link:hover, diff --git a/registry/lib/components/style/dark-mode/dark-slice-10.scss b/registry/lib/components/style/dark-mode/dark-slice-10.scss index e212598e7..6fcd6de9d 100644 --- a/registry/lib/components/style/dark-mode/dark-slice-10.scss +++ b/registry/lib/components/style/dark-mode/dark-slice-10.scss @@ -612,6 +612,9 @@ @include foreground-color(); } } +.placeholder-shown::before { + @include color("8"); +} .publish-panel { .core-style { @include background-color(); @@ -623,9 +626,6 @@ @include theme-border-color(); } } - .editor .placeholder-shown::before { - @include color("8"); - } .schedule-bar { @include background-color("3"); .s-label, diff --git a/registry/lib/components/style/dark-mode/dark-slice-14.scss b/registry/lib/components/style/dark-mode/dark-slice-14.scss index 611858ea5..43bcfda75 100644 --- a/registry/lib/components/style/dark-mode/dark-slice-14.scss +++ b/registry/lib/components/style/dark-mode/dark-slice-14.scss @@ -111,6 +111,14 @@ span:not(.cur-page) { @include color("e"); } + .cur-page { + @include color('a'); + } + } + &-right { + .next-button { + @include color('a'); + } } &-title { @include color("e"); @@ -121,6 +129,11 @@ } } &_second-line { + .second-line_left { + .abstract { + @include color('a'); + } + } .second-line_right { @include theme-border-color(); @include background-color("4"); @@ -156,8 +169,13 @@ &-title { @include color("e"); } + &-duration { + @include color('a'); + } + &-playing, &-title-playing { @include theme-color(); + @include background-color('5'); .cur-play-icon { @include to-theme("blue"); } @@ -303,10 +321,16 @@ a { @include theme-color(); } } -.follow-btn.followed { - @include border-color(""); - @include background-color("4"); - @include color("a"); +.follow-btn { + &.following, + &.followed { + @include border-color(""); + @include background-color("4"); + @include color("a"); + path { + @include fill('a'); + } + } } #article-list-index .index-holder { .article-item:not(.on) { diff --git a/registry/lib/components/style/dark-mode/dark-slice-15.scss b/registry/lib/components/style/dark-mode/dark-slice-15.scss index c545fb634..7c0bc314e 100644 --- a/registry/lib/components/style/dark-mode/dark-slice-15.scss +++ b/registry/lib/components/style/dark-mode/dark-slice-15.scss @@ -28,6 +28,9 @@ .bui-dropdown-item { @include color("e"); @include background-color(); + &::before { + @include hide(); + } &:hover { @include theme-color(); @include background-color("2"); @@ -1037,6 +1040,7 @@ $media-types: (video, bangumi, cheese, live, manga, movie, ogv, article); @include background-color("6"); } } +.reply-warp, .up-info { .u-face .u-face__avatar { @include background-color("4"); @@ -1046,6 +1050,13 @@ $media-types: (video, bangumi, cheese, live, manga, movie, ogv, article); @include background-color("4"); } } +.user-card-avatar, +.up-info-v1 { + .bili-avatar { + @include no-image(); + @include background-color("4"); + } +} .v-wrap .float-nav { &__btn--fixed, .nav-btn-item { @@ -1059,6 +1070,36 @@ $media-types: (video, bangumi, cheese, live, manga, movie, ogv, article); } } .user-card { + .card-user-name { + @include color('e'); + } + .card-social-info { + > a { + @include color('e'); + .social-info-title { + @include color('a'); + } + } + } + .card-sign { + @include color('a'); + } + .card-btn-warp { + .card-attention-btn { + @include theme-background-color(); + @include border-color(); + @include foreground-color(); + &.attention { + @include background-color('4'); + @include color('e'); + } + } + .card-message-btn { + @include border-color('8'); + @include color('e'); + @include background-color(); + } + } .info p { @include color("e"); } diff --git a/registry/lib/components/style/dark-mode/dark-slice-16.scss b/registry/lib/components/style/dark-mode/dark-slice-16.scss index c42f7dd71..86c140b6e 100644 --- a/registry/lib/components/style/dark-mode/dark-slice-16.scss +++ b/registry/lib/components/style/dark-mode/dark-slice-16.scss @@ -1,6 +1,6 @@ @import './dark-definitions'; -#app .bg { +#app > .bg { @include no-image(); } @mixin dyn-container-skeleton() { @@ -269,6 +269,9 @@ &__content { @include color('e'); } + &__action { + @include theme-color(); + } &-module, &-link, &-topic { @@ -452,6 +455,73 @@ } } } + .dyn-ugc { + &__wrap { + @include background-color('3'); + } + &__cover { + @include background-color(); + } + &__detail { + &__title { + @include color('e'); + } + &__desc { + @include color('a'); + } + } + } +} +.bili-dyn-report { + @include background-color('3'); + &__title { + @include color('e'); + } + &__message { + @include color('a'); + } + &__remark { + &__tip { + @include color('a'); + } + &__content { + @include background-color('2'); + @include border-color('5'); + &:focus-within { + @include theme-border-color(); + } + } + } + &__button { + @include background-color('5'); + @include color('e'); + @include border-color(); + &.confirm { + @include theme-background-color(); + @include foreground-color(); + @include border-color(); + } + } +} +.bili-modal { + @include background-color('3'); + @include color('e'); + &__title { + @include color('e'); + } + &__close { + @include color('a'); + } + &__button { + @include background-color('5'); + @include color('e'); + @include border-color(); + &.confirm { + @include theme-background-color(); + @include foreground-color(); + @include border-color(); + } + } } .bili-dyn-banner { @include background-color('4'); diff --git a/registry/lib/components/style/dark-mode/dark-slice-17.scss b/registry/lib/components/style/dark-mode/dark-slice-17.scss new file mode 100644 index 000000000..2a010e67a --- /dev/null +++ b/registry/lib/components/style/dark-mode/dark-slice-17.scss @@ -0,0 +1,806 @@ +@import './dark-definitions'; +@import 'common'; + +.video-info-v1 .video-data { + @include color('a'); + .item { + svg path { + @include fill('a'); + } + } +} +.members-info-v1 { + .normal-members-header { + @include background-color('4'); + @include color('e'); + .person { + @include color('a'); + } + .btn path { + @include fill('e'); + } + } + .normal-members-container { + .avatar { + @include border-color('4'); + @include background-color('3'); + } + .upname { + @include color('e'); + &.is-vip { + @include vip-color(); + } + } + .info-tag { + @include color('a'); + } + .attention { + @include theme-background-color(); + @include foreground-color(); + } + } +} +.up-info-v1 { + .up-info_right_message { + &, + & i { + @include color('8'); + } + } + .charge-btn { + border: 1px solid; + @include background-color(); + @include theme-border-color('80'); + @include theme-color('80'); + &:hover { + @include theme-border-color(); + @include theme-color(); + } + } +} +.user-card-m-exp { + @include background-color('3'); + @include border-color(); + .social { + a, + span { + @include color('e'); + .tip_text { + @include color('a'); + } + } + } + .btn-box { + .like { + @include theme-background-color(); + &, + & .plus { + @include foreground-color(); + } + &:hover { + opacity: 0.8; + } + } + .liked { + @include background-color('4'); + &, + & .plus { + @include color('a'); + } + &:hover, + &:hover .plus { + @include color('e'); + } + } + .message { + @include color('e'); + } + } +} +.float-nav-exp, +.fixed-nav { + .nav-menu { + .item { + @include color('e'); + @include background-color('3'); + @include border-color(); + .item-icon path { + @include fill('e'); + } + &:hover { + @include theme-background-color(); + @include foreground-color(); + .item-icon path { + @include foreground-fill(); + } + } + } + } +} +.bui-collapse-header { + .bui-collapse-arrow-text { + .arrow-icon { + @include fill('e'); + } + } +} +.multi-page-v1 { + @include background-color('4'); + .head-left { + .cur-page { + @include color('a'); + } + .range-box i { + @include color('a'); + &:hover { + @include theme-color(); + } + } + } + .head-right { + .next-button { + @include color('a'); + } + } + .cur-list { + .list-box { + > li { + &, + & a { + @include color('e'); + } + &:hover { + @include background-color('5'); + } + &.on { + @include background-color('5'); + img { + @include to-theme('blue'); + } + &, + & a { + @include theme-color(); + } + } + .duration { + @include color('a'); + } + } + } + .module-box { + > li { + @include background-color('5'); + @include border-color(); + &, + & a { + @include color('e'); + } + &:hover { + @include background-color('6'); + } + &.on { + @include theme-background-color(); + &, + & a { + @include foreground-color(); + } + } + } + } + } +} +.recommend-list-v1 { + .rec-title { + @include color('e'); + } + .next-button { + @include color('a'); + } + .split-line { + @include background-color('5'); + } + .rec-footer { + @include background-color('3'); + @include color('e'); + } +} +.base-video-sections-v1 { + @include background-color('4'); +} +.video-page-special-card-small, +.video-page-card-small { + .pic-box { + @include background-color('3'); + } + .info .title { + @include color('e'); + &:hover { + @include theme-color(); + } + } + .playinfo, + .upname a { + @include color('a'); + svg path { + @include fill('a'); + } + } +} +.bilibili-player-video-sendbar .bilibili-player-video-danmaku-root { + .bilibili-player-video-btn-danmaku { + @include fill('a'); + &:hover { + @include fill('e'); + } + } + .bilibili-player-video-danmaku-input::-webkit-input-placeholder { + @include color('fff4'); + } + .bilibili-player-video-danmaku { + &-setting, + &-switch { + @include fill('a'); + @include on-fullscreen { + @include fill('e'); + } + &:hover { + @include fill('e'); + } + } + } + .bui-danmaku-switch-on { + path[fill] { + @include theme-fill(); + } + } +} +.video-toolbar-v1 { + .toolbar-left { + @include color('8'); + > span { + @include color('8'); + @include fill('8'); + .info-text { + @include color('8'); + } + &:hover, + &.on { + @include theme-color(); + @include theme-fill(); + .info-text { + @include theme-color(); + } + } + } + } + .toolbar-right { + @include color('a'); + > div, + > span { + @include color('8'); + @include fill('8'); + &:hover { + @include theme-color(); + @include theme-fill(); + } + } + } +} +.van-popover.van-more { + @include background-color('3'); + @include border-color('8884'); + .more_dropdown { + li { + @include color('e'); + @include fill('e'); + } + } +} +.video-desc-v1 { + .desc-info { + @include color('e'); + a { + @include theme-color(); + } + } + .toggle-btn span { + @include color('e'); + } +} +.s_tag-v1 { + @include border-color('4'); + .tag-area { + .tag { + @include background-color(); + &-more, + .tag-link { + @include color('e'); + @include background-color('3'); + > svg { + @include fill('e'); + } + } + .tag-icon { + @include to-theme('blue'); + } + .rarrow-icon { + @include fill('e'); + } + &-more:hover, + &:hover .tag-link { + @include theme-background-color(); + @include foreground-color(); + > svg { + @include foreground-fill(); + } + } + .tag-channel-pane-exp { + @include background-color('3'); + .channel-cover { + @include border-color('3'); + } + .channel-title { + @include color('e'); + } + .channel-desc { + @include color('a'); + } + .channel-btns { + &__link { + @include theme-border-color(); + @include theme-color(); + } + &__subs { + @include theme-background-color(); + @include foreground-color(); + @include border-color(); + &.is-subs { + @include background-color('4'); + @include color('8'); + } + } + } + } + } + } +} +.activity-m-v1 { + @include background-color(); + .inside-wrp { + @include border-color(); + @include background-color('3'); + .left { + @include color('e'); + } + .right { + .inside-bg::before { + background-image: linear-gradient(to right, #333, transparent 30%) !important; + } + } + } +} +.reply-navigation { + .nav-title { + @include color('e'); + .total-reply { + @include color('a'); + } + } + .nav-sort { + @include color('8'); + .time-sort:hover, + .hot-sort:hover { + @include theme-color(); + } + &.time .time-sort, + &.hot .hot-sort { + @include color('e'); + } + } +} +.reply-warp { + .reply-box-textarea::-webkit-input-placeholder { + @include color('8'); + } + .fixed-reply-box { + .reply-box { + @include background-color('2'); + @include border-color('5'); + } + } + .reply-box-send { + @include theme-background-color('50'); + .send-text { + @include foreground-color('50'); + } + &::after { + @include hide(); + } + &.send-active { + @include theme-background-color(); + .send-text { + @include foreground-color(); + } + } + } + .reply-box-emoji { + .emoji-btn { + @include border-color('4'); + @include color('a'); + .box-emoji-icon path { + @include fill('a'); + } + &:hover { + @include color('e'); + .box-emoji-icon path { + @include fill('e'); + } + } + } + } + .emoji-panel { + @include border-color('8884'); + @include color('e'); + .emoji-title { + @include background-color('3'); + } + .emoji-content { + @include background-color('3'); + .emoji-info:hover { + @include background-color('5'); + } + } + .emoji-tab { + @include background-color('4'); + .emoji-type { + &.current-type { + @include background-color('5'); + } + &:hover { + @include background-color('6'); + } + } + } + .emoji-slider { + .svg-icon { + &[style*='c9ccd0'] { + @include color('8'); + } + &[style*='61666d'] { + @include color('e'); + } + } + } + } + $prefixes: ('', 'sub-'); + @each $prefix in $prefixes { + .#{$prefix}user-info { + .#{$prefix}user-name { + @include color('c'); + } + } + .#{$prefix}reply-content { + @include color('e'); + .user-link { + @include theme-color(); + } + } + .#{$prefix}reply-info { + @include color('a'); + .svg-icon { + &.dislike, + &.like { + @include color('a'); + &:hover { + @include theme-color(); + } + } + &.liked, + &.disliked { + @include theme-color(); + ~ span { + @include theme-color(); + } + } + } + .#{$prefix}reply-btn { + &:hover { + @include theme-color(); + } + } + .#{$prefix}reply-operation-warp { + .operation-icon { + @include color('a'); + } + &:hover { + .operation-icon { + @include theme-color(); + } + } + .operation-list { + @include background-color('3'); + @include color('e'); + .operation-option { + &:hover { + @include background-color('4'); + .option-title { + @include theme-color(); + } + } + } + } + } + } + .#{$prefix}reply-tag-item { + @include background-color('3'); + @include color('e'); + } + } + .reply-item { + .content-warp { + @include border-color('4'); + } + .icon, + .jump-url-prefix { + @include to-theme('blue'); + } + .jump-link, + .jump-url-link { + @include theme-color(); + } + .bottom-line { + @include border-color('4'); + } + } + .view-more { + @include color('a'); + .view-more-btn { + @include theme-color(); + } + .view-more-pagination { + @include color('a'); + .pagination-btn, + .pagination-page-number { + &:hover, + &.current-page { + @include theme-color(); + } + } + } + } + .reply-end { + @include color('a'); + } +} +.coin-operated-m-exp { + @include background-color('3'); + .icon.close { + @include to-white(); + } + .coin-title { + @include color('e'); + span { + @include theme-color(); + } + } + .mc { + &-box { + @include border-color('8'); + .c-num { + @include color('e'); + } + &.on { + @include theme-border-color(); + .c-num { + @include theme-color(); + } + } + } + } + .like-checkbox { + @include color('e'); + input[type='checkbox'] { + &:checked + i { + @include to-theme('blue'); + } + } + } + .coin-bottom { + .tips { + @include color('a'); + } + } +} +.follow-dialog-wrap-exp, +.collection-m-exp { + @include background-color('3'); + .title { + @include color('e'); + @include border-color('5'); + i.close { + @include to-white(); + } + } + .special-tip { + @include color('a'); + } + .bottom { + @include border-color('5'); + .submit-move { + @include theme-background-color(); + @include foreground-color(); + &.disable { + @include background-color('5'); + @include color('8'); + } + } + } +} +.share_dropdown { + @include color('e'); + .box-right { + @include border-color('4'); + } + .share-link { + @include background-color('4'); + #link_copy { + @include background-color(); + @include color('e'); + } + .btn { + @include theme-color(); + } + } +} + +.player-auxiliary-filter-playlist { + .player-auxiliary-playlist-user { + @include color('a'); + } + .player-auxiliary-playlist-bottom { + @include border-color('6'); + } +} + +.player-auxiliary-setting-menu-wrap { + @include background-color('3'); + @include border-color('8884'); + .player-auxiliary-setting-menu-list { + @include color('e'); + &::before { + @include hide(); + } + &:hover { + @include background-color('2'); + } + } +} +.player-auxiliary-adv-danmaku { + @include border-color('4'); + * { + // 这个不能用 important + background-color: #222; + color: #eee; + } + .mask::after { + @include background-color('222A'); + } +} +.player-auxiliary-danmaku-wrap { + @include background-color(); + .player-auxiliary-danmaku-load-status { + @include background-color(); + @include color('a'); + } +} +.player-auxiliary-danmaku-function { + @include background-color(); + + .player-auxiliary-danmaku-multiple-control { + @include background-color('2'); + } + [class*='player-auxiliary-danmaku-btn-'] { + @include background-color(); + } +} +.player-auxiliary-block-wrap { + @include border-color('4'); +} +.player-auxiliary-modal-container { + @include border-color('8884'); + .player-auxiliary-modal-header { + @include background-color(); + } +} +.player-auxiliary-modal-close.bpm-btn { + @include background-color(); + i { + @include color('a'); + } +} +.fav-list-container { + .nav-add { + .icon { + @include to-gray(); + } + .text { + @include color('e'); + } + } +} +.edit-media-list { + .edit-info { + .cover-title { + @include color('e'); + } + .upload-cover:not([style*='background-image']) { + filter: invert(1); + } + } + .name-input { + @include border-color('4'); + @include background-color(); + @include color('e'); + &::-webkit-input-placeholder { + @include color('8'); + } + } + .media-list-intro { + &::-webkit-input-placeholder { + @include color('8'); + } + } + .intro-num-limit, + .name-num-limit { + @include color('a'); + } +} +.upload-center-clip { + .head-wrap { + @include border-color('6'); + } + .img-clip-title { + @include color('e'); + } + .img-clip-tips { + @include color('a'); + } + .reset-img .reset-select { + @include color('a'); + .icon-reset { + @include to-gray(); + } + } + .modal-footer { + .cancel-btn { + @include border-color('6'); + @include color('e'); + } + .confirm-btn { + @include theme-background-color(); + @include foreground-color(); + @include border-color(); + } + } +} +.favList-info { + .favInfo-cover.empty { + filter: invert(0.8); + .fav-invalid { + filter: invert(1); + } + } +} +.live-room-app { + .hot-rank-text { + @include theme-background-color('80'); + @include foreground-color(); + } +} +.bili-gallery { + &__pagination { + &__index { + @include theme-color(); + } + } +} diff --git a/registry/lib/components/style/dark-mode/dark-slice-9.scss b/registry/lib/components/style/dark-mode/dark-slice-9.scss index 2275acc32..0ac73dacd 100644 --- a/registry/lib/components/style/dark-mode/dark-slice-9.scss +++ b/registry/lib/components/style/dark-mode/dark-slice-9.scss @@ -1003,8 +1003,7 @@ $highlight-map: ( @include border-color("3"); } .manga-navbar .search-bar .confirm-btn .search-icon, -.container .level-intro .svg-icon, -#page-fav .fav-sidenav .icon:not(.icon-cursor) { +.container .level-intro .svg-icon { @include to-white(); } .side-bar-btn .size-bar-text { diff --git a/registry/lib/components/style/dark-mode/old/dark-slice-1.css b/registry/lib/components/style/dark-mode/old/dark-slice-1.css index 45a7a802e..692168712 100644 --- a/registry/lib/components/style/dark-mode/old/dark-slice-1.css +++ b/registry/lib/components/style/dark-mode/old/dark-slice-1.css @@ -369,7 +369,6 @@ button.submit-button.disabled, .ema-wishing, .room-info-ctnr .content-wrapper, .activity-pushing-out, -.left-container .head-info-section, .left-container .gift-control-section, .rank-list-ctnr .tabs, .player-and-aside-area .aside-area, @@ -591,7 +590,6 @@ div.drag-bar, .be-pager-total, .tabs a, #id-card .idc-auth-description, -#page-fav .fav-sidenav .nav-title .text, #page-fav .fav-main .fav-meta, #page-fav .fav-main .filter-item .filter-type .be-dropdown-item i, .wrapper .edit-video-modal .edit-video-subtitle, diff --git a/registry/lib/components/style/dark-mode/old/dark-slice-2.css b/registry/lib/components/style/dark-mode/old/dark-slice-2.css index 7e4ca88b5..851871390 100644 --- a/registry/lib/components/style/dark-mode/old/dark-slice-2.css +++ b/registry/lib/components/style/dark-mode/old/dark-slice-2.css @@ -31,11 +31,9 @@ li.season-item .season-body .season-title span.follow, .pagelistbox .p, .sponsor-rank-item.special .sp-right .sp-msg, .player-auxiliary-danmaku-date-picker-container, -.player-auxiliary-setting-menu-wrap .player-auxiliary-setting-menu-list:hover, .player-auxiliary-block-tabpanel-row.player-auxiliary-border, .player-auxiliary-block-list .player-auxiliary-block-line, .player-auxiliary-context-menu-container, -.player-auxiliary-modal-container, .gui-settings-box li.category, .main-container .player-wrapper, .big-gift-btn-home, @@ -132,9 +130,6 @@ a.bp_box_bot_click, .project-list .project-list-item, .ban-app .case-tip, .groom-module, -.danmaku-wrap .player-auxiliary-auxiliary-area .player-auxiliary-danmaku-wrap, -.player-auxiliary-setting-menu-wrap .player-auxiliary-setting-menu-list, -.player-auxiliary-setting-menu-wrap, .player-auxiliary-block-string, .player-auxiliary-block-string-short, .bui-button.bui-button-gray, @@ -246,10 +241,6 @@ a.bp_box_bot_click, { background-color: #2229 !important; } -.mask::after -{ - background-color: hsla(0,0%,0%,.7) !important; -} .news-list .news-item .date, .empty-hint, @@ -349,7 +340,6 @@ a.bp_box_bot_click, .player-auxiliary-danmaku-function [class*=player-auxiliary-danmaku-btn-], .player-auxiliary-danmaku-date-picker-header .player-auxiliary-danmaku-date-picker-btn, .player-auxiliary-danmaku-date-picker-header, -.player-auxiliary-danmaku-load-status.disabled, .player-auxiliary-block-list-function > div, .player-auxiliary-block-list-wrap .player-auxiliary-block-empty, .player-auxiliary-block-line.block-state-disabled, @@ -596,7 +586,6 @@ button.button.more, .sponsor-rank-item.special .sp-right .sp-user:not(.vip) .sp-name, .player-auxiliary-auxiliary-area .player-auxiliary-filter-title, .bui-button.bui-button-gray2:hover, -.player-auxiliary-setting-menu-wrap .player-auxiliary-setting-menu-list, .player-auxiliary-block-tabpanel-row.special-title .player-auxiliary-block-label, .player-auxiliary-block-string, .player-auxiliary-block-string-short, @@ -903,10 +892,7 @@ button.button.more, .media-sponsor-wrapper, .sponsor-rank-item.special .sp-right .sp-msg, .player-auxiliary-danmaku-date-picker-container, -.player-auxiliary-setting-menu-wrap, -.danmaku-wrap .player-auxiliary-block-wrap, .player-auxiliary-context-menu-container, -.player-auxiliary-modal-container, .player-auxiliary-modal-btns .bpm-btn, .announcement-cntr, .side-bar, @@ -1430,7 +1416,6 @@ button.button.more:hover, .wrapper .elec-sub-title .exp, .wrapper .elec-sub-title .vip-point, .player-auxiliary-auxiliary-area .player-auxiliary-filter-menu:hover, -.player-auxiliary-setting-menu-wrap .player-auxiliary-setting-menu-list:hover, .bui-button.bui-button-text, .bui-tabs .bui-tabs-header .bui-tabs-header-item.bui-tabs-header-item-active, .player-auxiliary-block-list .player-auxiliary-block-line-state, diff --git a/registry/lib/components/style/dark-mode/old/dark-slice-3.css b/registry/lib/components/style/dark-mode/old/dark-slice-3.css index 1425663d2..8940f87a7 100644 --- a/registry/lib/components/style/dark-mode/old/dark-slice-3.css +++ b/registry/lib/components/style/dark-mode/old/dark-slice-3.css @@ -88,8 +88,7 @@ div#square.container, background-color: #222 !important; } .article-holder .error-card .video-holder .video-cover, -.article-holder .error-card .video-holder p, -.player-auxiliary-danmaku-function .player-auxiliary-danmaku-multiple-control +.article-holder .error-card .video-holder p { background-color: #333 !important; } diff --git a/registry/lib/components/style/dark-mode/old/dark-slice-4.css b/registry/lib/components/style/dark-mode/old/dark-slice-4.css index 21273524e..5d7be60e9 100644 --- a/registry/lib/components/style/dark-mode/old/dark-slice-4.css +++ b/registry/lib/components/style/dark-mode/old/dark-slice-4.css @@ -80,10 +80,6 @@ li.user-wrapper .avatar .detail .logout, { background-color: #222 !important; } -.player-auxiliary-area .bui-collapse -{ - background-color: #333 !important; -} .container .host-list-layout .hot-list-wrap .hot-song-list, .rank-list-container .rank-list-wrapper .rank-list, .rank-list-container .rank-list-wrapper, @@ -194,7 +190,6 @@ body #app .marquee, { background-color: #444 !important; } -.player-auxiliary-area .bui-collapse, .player-auxiliary-area .player-auxiliary-danmaku-btn-footer, .v-wrap #multi_page { diff --git a/registry/lib/components/style/dark-mode/old/dark-slice-6.css b/registry/lib/components/style/dark-mode/old/dark-slice-6.css index f245047d4..c3d7eab1f 100644 --- a/registry/lib/components/style/dark-mode/old/dark-slice-6.css +++ b/registry/lib/components/style/dark-mode/old/dark-slice-6.css @@ -167,7 +167,6 @@ .main-content .group .bp-input .content-box, .main-content .group .title .slot-right .bp-selector, .bp-input .content-box.textarea-box .textarea, -.edit-media-list .edit-mask .edit-board .edit-info .info-wrap .name-input, .play-list .rightside-content .source-list .source-item .collect, .play-list .leftside-content .oprate-panel .oprate-item .oprate-window, .edit-media-list .edit-mask .default-edit .default-edit-info .info-wrap .name-input, @@ -589,7 +588,6 @@ th.list-head-text, #page-fav .fav-sidenav .watch-later, .edit-media-list .edit-mask .edit-board .head, .edit-media-list .edit-mask .edit-board .edit-info .info-wrap .title, -.edit-media-list .edit-mask .edit-board .edit-info .info-wrap .name-input, .play-list .rightside-content .source-list .source-item .source-info .source-name, .play-list .leftside-content .list-title, .play-list .leftside-content .play-btn, @@ -759,7 +757,6 @@ th.list-head-text, #page-fav .fav-main .favList-info, #page-fav .fav-sidenav .watch-later, .edit-media-list .edit-mask .edit-board .head, -.edit-media-list .edit-mask .edit-board .edit-info .info-wrap .name-input, .play-list .rightside-content .source-list .source-item .collect, .play-list .rightside-content .source-list .source-item .collect .collect-item:first-child, .play-list .leftside-content .oprate-panel .oprate-item .oprate-window, diff --git a/registry/lib/components/style/dark-mode/old/dark-slice-8.css b/registry/lib/components/style/dark-mode/old/dark-slice-8.css index e2d2367c1..b6af22b0e 100644 --- a/registry/lib/components/style/dark-mode/old/dark-slice-8.css +++ b/registry/lib/components/style/dark-mode/old/dark-slice-8.css @@ -30,14 +30,9 @@ } .at-popup .user-container .item.is-selected, .bangumi-options .opt-list, -.player-auxiliary-danmaku-function [class*="player-auxiliary-danmaku-btn-"], -.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap, -.player-auxiliary-danmaku-function, .danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap-child .player-auxiliary-panel-title, .bpui-selected, .bpui-selected span, -.danmaku-wrap .player-auxiliary-block-wrap, -.player-auxiliary-danmaku-wrap .player-auxiliary-danmaku-load-status, .comic-info-component .page-normal .comic-info-con .comic-des, .comic-info-component .page-normal .comic-info-con, .dropdown__content .dropdown__item:hover, diff --git a/registry/lib/components/style/home-redesign/hide-original.scss b/registry/lib/components/style/home-redesign/hide-original.scss index 738101411..d5f6e5c00 100644 --- a/registry/lib/components/style/home-redesign/hide-original.scss +++ b/registry/lib/components/style/home-redesign/hide-original.scss @@ -6,7 +6,8 @@ #app > .bili-header-m.stardust-common > .bili-wrapper, .bili-header-m .head-banner .head-content .head-logo, #i_cecream .bili-header__channel, -#i_cecream > :not(.bili-header) { +#i_cecream > :not(.bili-header), +.palette-button-wrap { position: fixed; visibility: hidden; top: 200vh; diff --git a/registry/lib/components/style/simplify/comments/comments.scss b/registry/lib/components/style/simplify/comments/comments.scss index 07f79f56d..0296a9451 100644 --- a/registry/lib/components/style/simplify/comments/comments.scss +++ b/registry/lib/components/style/simplify/comments/comments.scss @@ -216,7 +216,8 @@ .medal, .medal-level, .reply-notice, - .sailing { + .sailing, + .perfect-reply { @include hide(); } .comment-send-lite .comment-emoji, diff --git a/registry/lib/components/style/simplify/live/live.scss b/registry/lib/components/style/simplify/live/live.scss index 4612282b8..b7d9759a1 100644 --- a/registry/lib/components/style/simplify/live/live.scss +++ b/registry/lib/components/style/simplify/live/live.scss @@ -116,6 +116,9 @@ $prefix: "simplifyLiveroom-switch"; } } } + .info-section { + display: none !important; + } } .rows-ctnr .lower-row, .room-info-down-row { diff --git a/registry/lib/components/utils/remove-promotions/remove-promotions.scss b/registry/lib/components/utils/remove-promotions/remove-promotions.scss index ff6480d34..6aa970296 100644 --- a/registry/lib/components/utils/remove-promotions/remove-promotions.scss +++ b/registry/lib/components/utils/remove-promotions/remove-promotions.scss @@ -24,7 +24,10 @@ body.remove-game-match-module #reportFirst3, .eva-extension-area, .eva-banner, .video-ad-creative-card, -.bili-dyn-home--member .bili-dyn-ads { +.bili-dyn-home--member .bili-dyn-ads, +.video-page-special-card-small, +.video-page-game-card-small, +.video-page-operator-card-small { display: none !important; } .recommend-list .rec-list > :not(.video-page-card) + .video-page-card { diff --git a/registry/lib/components/video/download/apis/dash.ts b/registry/lib/components/video/download/apis/dash.ts index b283bb686..79c06bc33 100644 --- a/registry/lib/components/video/download/apis/dash.ts +++ b/registry/lib/components/video/download/apis/dash.ts @@ -13,6 +13,7 @@ import { bangumiApi, videoApi } from './url' export const DashExtensions = { video: '.mp4', audio: '.m4a', + flacAudio: '.flac', } /** dash 格式原本的扩展名 */ export const DashFragmentExtension = '.m4s' @@ -32,7 +33,7 @@ export interface Dash { duration: number } export interface AudioDash extends Dash { - type: 'audio' + type: 'audio' | 'flacAudio' } export interface VideoDash extends Dash { type: 'video' @@ -119,6 +120,7 @@ const downloadDash = async ( video, audio, dolby, + flac, } = data.dash const parseVideoCodec = (codecId: number) => { switch (codecId) { @@ -153,27 +155,26 @@ const downloadDash = async ( return dash }) .filter(d => dashFilters.video(d)) - const audioDashes: AudioDash[] = (audio as any[] || []).map((d: any): AudioDash => ({ - type: 'audio', - bandWidth: d.bandwidth, - codecs: d.codecs, - codecId: d.codecid, - backupUrls: (d.backupUrl || d.backup_url || []).map( + + const mapAudioDash = (dash: any, type: AudioDash['type'] = 'audio'): AudioDash => ({ + type, + bandWidth: dash.bandwidth, + codecs: dash.codecs, + codecId: dash.codecid ?? 0, + backupUrls: (dash.backupUrl || dash.backup_url || []).map( (it: string) => it.replace('http:', 'https:'), ), - downloadUrl: (d.baseUrl || d.base_url || '').replace('http:', 'https:'), + downloadUrl: (dash.baseUrl || dash.base_url || '').replace('http:', 'https:'), duration, - })).filter(d => dashFilters.audio(d)) + }) + const audioDashes: AudioDash[] = (audio as any[] || []) + .map(d => mapAudioDash(d)) + .filter(d => dashFilters.audio(d)) if (dolby) { - audioDashes.push(...dolby.audio?.map((d: any): AudioDash => ({ - type: 'audio', - bandWidth: d.bandwidth, - codecs: d.codecs, - codecId: -1, // unknown id - backupUrls: [], - downloadUrl: (d.baseUrl || d.base_url || '').replace('http:', 'https:'), - duration, - })) ?? []) + audioDashes.push(...dolby.audio?.map((d: any) => mapAudioDash(d)) ?? []) + } + if (flac) { + audioDashes.push(...(flac.audio ? [mapAudioDash(flac.audio, 'flacAudio')] : [])) } const fragments: DownloadVideoFragment[] = dashToFragments({ audioDashes, diff --git a/registry/lib/components/video/outer-watchlater/OuterWatchlater.vue b/registry/lib/components/video/outer-watchlater/OuterWatchlater.vue index 8c8f0c703..76ed452d9 100644 --- a/registry/lib/components/video/outer-watchlater/OuterWatchlater.vue +++ b/registry/lib/components/video/outer-watchlater/OuterWatchlater.vue @@ -1,11 +1,6 @@