From 670eb6b75a51eceea60fb9acdaf99566d4025585 Mon Sep 17 00:00:00 2001 From: the1812 Date: Sat, 15 Jun 2019 10:47:16 +0800 Subject: [PATCH] Redesign user info panel (not logged in) --- bilibili-evolved.offline.user.js | 126 +- bilibili-evolved.preview-offline.user.js | 126 +- bilibili-evolved.preview.user.js | 119 +- bilibili-evolved.user.js | 119 +- min/custom-navbar.min.css | 2 +- min/custom-navbar.min.js | 2 +- min/index.min.html | 1 + style/custom-navbar/custom-navbar.css | 33 +- style/custom-navbar/custom-navbar.js | 1763 ++++++++++------------ 9 files changed, 1058 insertions(+), 1233 deletions(-) create mode 100644 min/index.min.html diff --git a/bilibili-evolved.offline.user.js b/bilibili-evolved.offline.user.js index be92073b3..12dafd28a 100644 --- a/bilibili-evolved.offline.user.js +++ b/bilibili-evolved.offline.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Bilibili Evolved (Offline) -// @version 332.99 +// @version 333.79 // @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中. // @author Grant Howard, Coulomb-G // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) @@ -140,8 +140,8 @@ const customNavbarDefaultOrders = { favoritesList: 16, historyList: 17, upload: 18, - blank3: 19 -}; + blank3: 19, +} const settings = { useDarkStyle: false, compactLayout: false, @@ -154,8 +154,8 @@ const settings = { touchVideoPlayer: false, customControlBackgroundOpacity: 0.64, customControlBackground: true, - darkScheduleStart: "18:00", - darkScheduleEnd: "6:00", + darkScheduleStart: '18:00', + darkScheduleEnd: '6:00', darkSchedule: false, blurVideoControl: false, toast: true, @@ -168,14 +168,14 @@ const settings = { hideTopSearch: false, touchVideoPlayerDoubleTapControl: false, touchVideoPlayerAnimation: false, - customStyleColor: "#00A0D8", + customStyleColor: '#00A0D8', preserveRank: true, blurBackgroundOpacity: 0.382, useDefaultPlayerMode: false, applyPlayerModeOnPlay: true, - defaultPlayerMode: "常规", + defaultPlayerMode: '常规', useDefaultVideoQuality: false, - defaultVideoQuality: "自动", + defaultVideoQuality: '自动', useDefaultDanmakuSettings: false, enableDanmaku: true, rememberDanmakuSettings: false, @@ -183,8 +183,8 @@ const settings = { subtitlesPreserve: false, smartMask: false, }, - defaultPlayerLayout: "新版", - defaultBangumiLayout: "旧版", + defaultPlayerLayout: '新版', + defaultBangumiLayout: '旧版', useDefaultPlayerLayout: false, skipChargeList: false, comboLike: false, @@ -199,10 +199,10 @@ const settings = { framePlayback: true, useCommentStyle: true, imageResolution: false, - imageResolutionScale: "auto", + imageResolutionScale: 'auto', toastInternalError: false, i18n: false, - i18nLanguage: "日本語", + i18nLanguage: '日本語', playerFocus: false, playerFocusOffset: -10, oldTweets: false, @@ -235,13 +235,15 @@ const settings = { hideOldEntry: true, videoScreenshot: false, hideBangumiReviews: false, - filenameFormat: "[title][ - ep]", + filenameFormat: '[title][ - ep]', sideBarOffset: 0, noLiveAutoplay: false, hideHomeLive: false, noMiniVideoAutoplay: false, + useDefaultVideoSpeed: false, + defaultVideoSpeed: 1, cache: {}, -}; +} const fixedSettings = { guiSettings: true, viewCover: true, @@ -256,16 +258,15 @@ const fixedSettings = { forceWide: false, useNewStyle: false, overrideNavBar: false, - latestVersionLink: "https://github.com/the1812/Bilibili-Evolved/raw/master/bilibili-evolved.offline.user.js", + latestVersionLink: 'https://github.com/the1812/Bilibili-Evolved/raw/master/bilibili-evolved.offline.user.js', currentVersion: GM_info.script.version, -}; -const settingsChangeHandlers = {}; +} +const settingsChangeHandlers = {} function addSettingsListener (key, handler, initCall) { if (!settingsChangeHandlers[key]) { - settingsChangeHandlers[key] = [handler]; - } - else { - settingsChangeHandlers[key].push(handler); + settingsChangeHandlers[key] = [handler] + } else { + settingsChangeHandlers[key].push(handler) } if (initCall) { const value = settings[key] @@ -273,81 +274,63 @@ function addSettingsListener (key, handler, initCall) { } } function removeSettingsListener (key, handler) { - const handlers = settingsChangeHandlers[key]; + const handlers = settingsChangeHandlers[key] if (!handlers) { - return; + return } - handlers.splice(handlers.indexOf(handler), 1); + handlers.splice(handlers.indexOf(handler), 1) } function loadSettings () { for (const key in fixedSettings) { - settings[key] = fixedSettings[key]; - GM_setValue(key, fixedSettings[key]); + settings[key] = fixedSettings[key] + GM_setValue(key, fixedSettings[key]) } if (Object.keys(languageCodeToName).includes(navigator.language)) { - settings.i18n = true; - settings.i18nLanguage = languageCodeToName[navigator.language]; + settings.i18n = true + settings.i18nLanguage = languageCodeToName[navigator.language] } for (const key in settings) { - let value = GM_getValue(key); + let value = GM_getValue(key) if (value === undefined) { - value = settings[key]; - GM_setValue(key, settings[key]); - } - else if (settings[key] !== undefined && value.constructor === Object) { - value = Object.assign(settings[key], value); + value = settings[key] + GM_setValue(key, settings[key]) + } else if (settings[key] !== undefined && value.constructor === Object) { + value = Object.assign(settings[key], value) } Object.defineProperty(settings, key, { get () { - return value; + return value }, set (newValue) { - value = newValue; - GM_setValue(key, newValue); + value = newValue + GM_setValue(key, newValue) - const handlers = settingsChangeHandlers[key]; + const handlers = settingsChangeHandlers[key] if (handlers) { - if (key === "useDarkStyle") { - setTimeout(() => handlers.forEach(h => h(newValue, value)), 200); - } - else { - handlers.forEach(h => h(newValue, value)); + if (key === 'useDarkStyle') { + setTimeout(() => handlers.forEach(h => h(newValue, value)), 200) + } else { + handlers.forEach(h => h(newValue, value)) } } - const input = document.querySelector(`input[key=${key}]`); + const input = document.querySelector(`input[key=${key}]`) if (input !== null) { - if (input.type === "checkbox") { - input.checked = newValue; - } - else if (input.type === "text" && !input.parentElement.classList.contains("gui-settings-dropdown")) { - input.value = newValue; + if (input.type === 'checkbox') { + input.checked = newValue + } else if (input.type === 'text' && !input.parentElement.classList.contains('gui-settings-dropdown')) { + input.value = newValue } } - }, - }); - // if (settings[key] !== undefined && value.constructor === Object) - // { - // settings[key] = Object.assign(settings[key], value); - // } - // else - // { - // settings[key] = value; - // } + } + }) } } function saveSettings (newSettings) { - // for (const key in settings) - // { - // GM_setValue(key, newSettings[key]); - // } } function onSettingsChange () { - // for (const key in settings) - // { - // GM_addValueChangeListener(key, change); - // } - console.warn("此功能已弃用."); -}; + console.warn('此功能已弃用.') +} +; class Ajax { static send(xhr, body, text = true) @@ -1042,9 +1025,9 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/compact-layout.min.js"] = (()=>{return(t,c)=>{const o=["https://www.bilibili.com/","https://www.bilibili.com/watchlater/#/list","https://www.bilibili.com/ranking"];if(o.includes(location.href.replace(location.search,""))){document.body.classList.add("compact");c.applyImportantStyle("compactLayoutStyle")}return{reload:()=>{if(o.includes(location.href.replace(location.search,""))){document.body.classList.add("compact");c.applyImportantStyle("compactLayoutStyle")}},unload:()=>{document.body.classList.remove("compact");c.removeStyle("compactLayoutStyle")}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.css"] = `.bilibili-player-video-control-mask{background:0 0!important}.bilibili-player-video-control .bilibili-player-video-control-bottom,.bilibili-player-video-control .bui-slider .bui-track.bui-track-video-progress .bui-bar-wrap{background:rgba(0,0,0,var(--custom-control-background-opacity))!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.js"] = (()=>{return(o,t)=>{document.body.style.setProperty("--custom-control-background-opacity",o.customControlBackgroundOpacity);addSettingsListener("customControlBackgroundOpacity",o=>{document.body.style.setProperty("--custom-control-background-opacity",o)});const n=()=>{t.applyStyle("customControlBackgroundStyle");if(!o.touchVideoPlayer){t.applyImportantStyleFromText(`\n \n `)}};n();return{reload:n,unload:()=>{t.removeStyle("customControlBackgroundStyle");const o=document.getElementById("control-background-non-touch");o&&o.remove()}}}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.css"] = `@font-face{font-family:custom-navbar-font;src:url(//s1.hdslb.com/bfs/seed/jinkela/header/asserts/iconfont.ttf) format('truetype')}.custom-navbar-iconfont{color:inherit;font-family:custom-navbar-font!important;font-size:24px;font-style:normal}.custom-navbar-icon-logo::before{content:"\\E725"}body{--navbar-height:50px;--navbar-foreground:#555;--navbar-background:white;--navbar-bounds-padding:0 5%;--navbar-blur-opacity:0.7}.bili-header-m>#banner_link .search,.i_menu_login,body.no-banner #banner_link,body.no-banner .z-top-container.has-banner>.header,li.nav-item[report-id=playpage_dynamic] .i-frame,li.nav-item[report-id=playpage_dynamic] iframe{display:none!important}.bili-header-m>.nav-menu,.z_top{visibility:hidden!important;height:var(--navbar-height)!important}.link-top-container#tab-container{top:var(--navbar-height)!important}.custom-navbar{position:absolute;top:0;left:0;height:var(--navbar-height);width:100%;background-color:var(--navbar-background);color:var(--navbar-foreground);z-index:10001;display:flex;justify-content:center}.custom-navbar:not(.fill) .custom-navbar-iconfont{color:var(--theme-color)}.custom-navbar path{fill:var(--navbar-foreground)}.custom-navbar.fill path{fill:var(--foreground-color-d)}.custom-navbar.shadow{box-shadow:#0002 0 1px 10px 1px}.custom-navbar.dark.shadow{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings.dark,.custom-navbar.dark:not(.fill){--navbar-background:#222;--navbar-foreground:#eee}.custom-navbar .popup{color:#000;background:#fff;transition:.2s ease-out .2s}.custom-navbar.dark .popup{color:#eee;background:#222}.custom-navbar,.custom-navbar *,.custom-navbar-settings,.custom-navbar-settings *{transition:.2s ease-out;-webkit-tap-highlight-color:transparent;outline:0!important;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0;padding-inline-end:0}.custom-navbar.fill{--navbar-background:var(--theme-color);--navbar-foreground:var(--foreground-color-d)}.custom-navbar.fill.shadow{box-shadow:var(--theme-color-30) 0 2px 10px 1px}.custom-navbar>ul{display:flex;align-items:center;justify-content:space-between;margin:var(--navbar-bounds-padding);height:100%;flex-grow:1}.custom-navbar ul{list-style:none;color:inherit}.custom-navbar li{color:inherit;list-style:none}.custom-navbar>ul>li{position:relative;height:100%;display:flex;align-items:center;color:inherit}.custom-navbar li .active-bar{position:absolute;left:0;bottom:0;background-color:var(--theme-color);width:100%;height:3px;display:none}.custom-navbar.fill li .active-bar{background-color:rgba(0,0,0,.3)}.custom-navbar li.active .active-bar{display:flex}.custom-navbar>ul>li.view-border::before{content:"";width:94%;height:94%;border:2px dashed #888a;position:absolute;top:3%;left:3%;box-sizing:border-box}.custom-navbar>ul>li:not(.disabled){cursor:pointer}.custom-navbar>ul>li.disabled a{cursor:default}.custom-navbar>ul>li:not(.disabled):hover{background:rgba(0,0,0,.1)}.custom-navbar .main-content{font-size:10pt;height:100%;display:flex;align-items:center;padding:0 16px;color:var(--navbar-foreground);user-select:none}.custom-navbar .main-content:hover{color:var(--navbar-foreground)!important}.custom-navbar .popup{position:absolute;top:100%;left:50%;padding:16px;box-shadow:rgba(0,0,0,.1) 0 4px 40px 20px;pointer-events:none;opacity:0;transform:translateX(-50%)}.custom-navbar.compact li:not([data-name=userInfo]) .popup{padding:8px}.custom-navbar.dark .popup{box-shadow:rgba(0,0,0,.3) 0 4px 40px 20px}.custom-navbar .popup.no-padding{padding:0}.custom-navbar .popup.transparent{background-color:transparent!important;box-shadow:none}#custom-navbar-home-popup .category-item:hover .popup,.custom-navbar>ul>li:not(.disabled):hover>.popup{pointer-events:initial;opacity:1}.custom-navbar a,.custom-navbar a:hover{color:inherit!important;text-decoration:none}#custom-navbar-home-popup{max-height:80vh;display:flex;flex-direction:column;flex-wrap:wrap;width:350px}@media screen and (min-height:1000px){#custom-navbar-home-popup{flex-wrap:nowrap;width:250px}}#custom-navbar-home-popup .category-item{font-size:12pt;padding:8px 16px;cursor:pointer;position:relative}.custom-navbar.compact #custom-navbar-home-popup .category-item{padding:6px}#custom-navbar-home-popup .category-item:hover{background-color:#0001}#custom-navbar-home-popup .category-item a{display:flex;justify-content:space-between;align-items:center}#custom-navbar-home-popup .category-item svg{width:25px;height:25px;fill:currentColor;margin-right:10px}#custom-navbar-home-popup .category-item div{flex:1 0 auto}#custom-navbar-home-popup .category-item.main{min-width:150px}.custom-navbar.compact #custom-navbar-home-popup .category-item.main{min-width:110px}#custom-navbar-home-popup .category-item .popup{z-index:10002;width:max-content;transform:scaleX(0);transform-origin:left;padding:8px;left:100%;top:0;transition-delay:.3s;pointer-events:initial}#custom-navbar-home-popup .category-item:hover .popup{transform:scaleX(1)}#custom-navbar-home-popup .category-item .popup a,#message-list a,#upload-actions a{padding:8px;display:flex;justify-content:start;border-bottom:2px solid transparent;font-size:11pt;line-height:16pt}.custom-navbar.compact #custom-navbar-home-popup .category-item .popup a{padding:6px}#custom-navbar-home-popup .category-item .popup a:hover,#message-list a:hover,#upload-actions a:hover{border-bottom:2px solid var(--theme-color)}#custom-navbar-home-popup .category-item span{opacity:.5}.im-list-box{border-radius:0!important}#upload-button{padding-left:4px;font-size:12pt;font-weight:700}#message-list,#upload-actions{width:max-content}.custom-navbar form{height:100%;display:flex;align-items:center;position:relative;--submit-button-size:30px;opacity:.4}.custom-navbar.fill form{opacity:.8}.custom-navbar form:focus-within,.custom-navbar form:hover,.custom-navbar.fill form:focus-within,.custom-navbar.fill form:hover{opacity:1}.custom-navbar form input{border:none;height:60%;background:0 0;border-bottom:1.5px solid!important;color:var(--navbar-foreground);box-sizing:border-box;width:250px;padding-right:var(--submit-button-size);padding-left:4px}.custom-navbar form input:focus{border-bottom-color:var(--navbar-foreground)!important;outline:0!important}.custom-navbar form button[type=submit]{background:0 0;border:none;padding:4px;cursor:pointer;height:var(--submit-button-size);width:var(--submit-button-size);position:absolute;right:0;top:50%;transform:translateY(-50%)}.custom-navbar form input[type=text]::placeholder{color:var(--navbar-foreground)!important;opacity:.9}.custom-navbar .user-face-container{position:relative;height:calc(var(--navbar-height) - 16px);width:calc(var(--navbar-height) - 16px)}.custom-navbar .user-face,.custom-navbar .user-pendant{position:absolute;width:100%;height:100%}.custom-navbar .user-face{background-color:transparent;background-size:contain;border-radius:50%}.custom-navbar .user-pendant{background-color:transparent;background-size:cover;width:170%;height:170%;top:-12px;left:-12px;opacity:0;pointer-events:none}.user-info-panel{width:240px;font-size:12px}.user-info-panel>*{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:300px}.user-info-panel .not-logged-in{height:auto;margin-top:40px;flex-direction:row;justify-content:space-evenly}.user-info-panel .row{display:flex;justify-content:space-between;align-items:center;width:100%;position:relative}.user-info-panel .name{font-size:14pt;margin-top:40px;color:inherit}.user-info-panel .name:hover{color:var(--theme-color)}.user-info-panel .type{padding:4px;background:var(--theme-color)!important;color:var(--foreground-color)!important;margin-bottom:8px}.user-info-panel .b-coins,.user-info-panel .coins,.user-info-panel .coins-container,.user-info-panel .verifications{display:flex;justify-content:center;align-items:center;flex:1 0 50%}.user-info-panel .coins-container,.user-info-panel .verifications{justify-content:space-evenly}.user-info-panel .coins-container>a{margin:4px 0}.user-info-panel .coins-container{flex-direction:column;align-items:start;padding-left:10px}.user-info-panel .verifications a{border:1px solid var(--navbar-foreground);border-radius:50%;width:24px;height:24px;display:flex;justify-content:center;align-items:center}.user-info-panel .verifications a.verified{border-color:var(--theme-color)}.user-info-panel .verifications i{opacity:.6;font-size:16px}.user-info-panel .verifications a.verified i{opacity:1;color:var(--theme-color)}.user-info-panel .b-coins::before,.user-info-panel .coins::before{content:attr(title);color:var(--theme-color);margin-right:4px}.user-info-panel .level,.user-info-panel .level:hover{color:var(--theme-color)}.custom-navbar .level strong{font-size:14pt;font-weight:400;margin-left:2px}.user-info-panel .level,.user-info-panel .level-progress-label{margin-bottom:8px}.user-info-panel .level-progress{width:100%;height:2px;background-color:#8884;position:absolute;bottom:0;left:0}.user-info-panel .level-progress-thumb{width:100%;height:100%;transform-origin:left;background-color:var(--theme-color)}.user-info-panel .row.operations{transform:translateX(5%)}.user-info-panel .operations a{display:flex;justify-content:start;align-items:center;flex:1 0 50%}.user-info-panel .operations a:hover,.user-info-panel .operations a:hover i{color:var(--theme-color)!important}.user-info-panel .operations i{font-size:16px;margin-right:4px}.custom-navbar .not-logged-in .login,.custom-navbar .not-logged-in .sign-up{padding:8px 16px}.custom-navbar .not-logged-in .login,.custom-navbar .not-logged-in .login:hover{background-color:var(--theme-color);color:var(--foreground-color)}.custom-navbar .not-logged-in .sign-up,.custom-navbar .not-logged-in .sign-up:hover{background-color:#8884}.custom-navbar li:hover .user-face,.custom-navbar li:hover .user-pendant{transform:scale(2) translateY(10px);z-index:100;opacity:1}.custom-navbar .video-list{width:280px;font-size:12px}.custom-navbar .video-list li:not(.more){border-left:2px solid var(--theme-color-30)}.custom-navbar .video-list li:not(.more) a{padding:6px 16px;margin:6px 0;box-sizing:border-box;transition:.2s ease-out .1s;display:block;width:100%;height:100%;line-height:1.5}.custom-navbar.compact .video-list li:not(.more) a{padding:6px 8px}.custom-navbar .video-list li:hover{background:rgba(0,0,0,.1);border-color:var(--theme-color)}.custom-navbar .video-list li.more{border-bottom:2px solid transparent}.custom-navbar .video-list li.more a{width:100%;padding:8px 0;display:flex;justify-content:center}.custom-navbar.compact .video-list li.more a{padding:6px 0}.custom-navbar .video-list li.more:hover{border-color:var(--theme-color)}.custom-navbar .video-list .loading{display:flex;justify-content:center;border-color:transparent!important}.custom-navbar .video-list.loaded .loading{display:none}.custom-navbar .video-list.history .history-item{border:none!important}.custom-navbar.compact .video-list li:not(.more) a,.custom-navbar.compact .video-list.history .history-item .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.custom-navbar .video-list.history li:not(.more) a{justify-content:space-between;position:relative;display:flex;padding:6px 8px!important}.custom-navbar.compact .video-list.history li:not(.more) a{padding:6px!important}.custom-navbar .video-list.history a .description{opacity:.6;margin-left:4px;white-space:nowrap}.custom-navbar .video-list.history a .progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background-color:var(--theme-color);transform-origin:left;opacity:.3}.custom-navbar .video-list.history a:hover .progress{opacity:1}.custom-navbar .notify-count{position:absolute;left:50%;top:0;background-color:var(--theme-color);color:var(--foreground-color);padding:0 8px;display:flex;justify-content:center;font-size:11px;transform:translateX(-50%);border-radius:0 0 8px 8px;opacity:0;line-height:14px}.custom-navbar.fill .notify-count{background-color:rgba(0,0,0,.3)}.custom-navbar .notify-count:not(:empty){opacity:1}#message-list a{position:relative}#message-list a[data-count]::after{content:attr(data-count);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:var(--theme-color);padding:0 10px;display:flex;justify-content:center;font-size:11pt;border-radius:6px}.custom-navbar-settings{display:flex;flex-direction:column;pointer-events:none;opacity:0;width:370px;position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);z-index:10001;background:var(--navbar-background);padding-top:16px;box-shadow:#0002 0 1px 10px 1px;font-size:16px;line-height:1.5}.custom-navbar-settings.dark{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings h1{color:var(--navbar-foreground);font-size:16pt;font-weight:700}.custom-navbar-settings.show{pointer-events:initial;opacity:1}.custom-navbar-settings .header,.custom-navbar-settings .orders{display:flex;justify-content:space-between;align-items:center}.custom-navbar-settings .header{padding:0 24px;font-size:9pt}.custom-navbar-settings .header .header-blank,.custom-navbar-settings .orders{flex-grow:1}.custom-navbar-settings .order-list{padding:0 24px;max-height:60vh;overflow:auto;overscroll-behavior:contain;list-style:none;width:100%;margin:16px 0}.custom-navbar-settings button{border:none;background-color:transparent;color:var(--navbar-foreground);padding:8px;cursor:pointer;font-size:14pt}.custom-navbar-settings button:hover{color:var(--theme-color)}.custom-navbar-settings .order-list li .mdi-menu{padding:8px}.custom-navbar-settings .order-list i{font-size:14pt}.custom-navbar-settings .order-list i.mdi-menu{cursor:move}.custom-navbar-settings .order-list li{color:var(--navbar-foreground);font-size:12pt;display:flex!important;justify-content:space-between;align-items:center;user-select:none;transition:opacity .2s ease-out}.custom-navbar-settings .order-list li.hidden{opacity:.5}.custom-navbar-settings .paddings{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;color:var(--navbar-foreground)}.custom-navbar-settings .paddings span{min-width:40px}.custom-navbar-settings .paddings input{flex-grow:1;margin-right:16px;-webkit-appearance:none;background:0 0;width:100%}.custom-navbar-settings .paddings input::-webkit-slider-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none;transform:translateY(-7px)}.custom-navbar-settings .paddings input::-moz-range-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none}.custom-navbar-settings .paddings input::-webkit-slider-runnable-track{width:100%;background:#8884;height:4px}.custom-navbar-settings .paddings input::-moz-range-track{width:100%;background:#8884;height:4px}.custom-navbar .blur-layer-container{overflow:hidden;display:none;width:100%;height:100%;position:absolute;top:0;left:0}.custom-navbar.blur .blur-layer-container{display:flex}.custom-navbar .blur-layer{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;filter:blur(36px);opacity:var(--navbar-blur-opacity)}.custom-navbar .blur-layer.left-pad{position:absolute;left:0;top:0;transform:translateX(-100%) scaleX(-1);width:100%;height:100%}.custom-navbar .blur-layer.right-pad{position:absolute;left:0;top:0;transform:translateX(100%) scaleX(-1);width:100%;height:100%}.custom-navbar.dark .blur-layer{filter:blur(54px)}body.all-navbar-fill .link-navbar,body.all-navbar-fill .link-navbar .main-ctnr .nav-items-ctnr,body.all-navbar-fill .nav-header-wrapper{background-color:var(--theme-color)!important}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo:before,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher.open-btn,body.all-navbar-fill .link-navbar .nav-item:first-child:before,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-logo,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-tv-icon,body.all-navbar-fill .nav-header-wrapper .nav-header .search-icon{filter:brightness(0) invert(1)!important;opacity:.8666666}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i:hover,body.all-navbar-fill .link-navbar .nav-item .label,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover,body.all-navbar-fill .link-navbar.black .my-link-btn .label,body.all-navbar-fill .my-link-btn,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-mainsite,body.all-navbar-fill .nav-header-wrapper .nav-header .order-center,body.all-navbar-fill .search-bar-ctnr .search-bar .placeholder,body.all-navbar-fill .search-bar-ctnr .search-bar .search-btn,body.all-navbar-fill .shortcuts-ctnr .shortcut-item,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover{color:var(--foreground-color-d)!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{color:#fff!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{opacity:.7!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{box-shadow:0 1px 4px 0 #0004}body.all-navbar-fill .link-navbar .nav-item:hover,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover:after,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{background-color:transparent!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar{border-color:transparent!important}body.all-navbar-fill .link-navbar .publish-btn{background-image:none!important;box-shadow:none!important}body.all-navbar-fill .link-navbar .my-link-btn .label:hover,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill :not(.app-ctnr) .link-navbar .nav-item:hover{background-color:transparent!important}body.all-navbar-fill .link-navbar .nav-item,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item{transition:.2s ease-out}@media screen and (max-width:1400px){.custom-navbar .main-content{padding:0 10px}}@media screen and (max-width:1300px){.custom-navbar .main-content{padding:0 8px}.custom-navbar form input{width:200px}}`; +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.css"] = `@font-face{font-family:custom-navbar-font;src:url(//s1.hdslb.com/bfs/seed/jinkela/header/asserts/iconfont.ttf) format('truetype')}.custom-navbar-iconfont{color:inherit;font-family:custom-navbar-font!important;font-size:24px;font-style:normal}.custom-navbar-icon-logo::before{content:"\\E725"}body{--navbar-height:50px;--navbar-foreground:#555;--navbar-background:white;--navbar-bounds-padding:0 5%;--navbar-blur-opacity:0.7}.bili-header-m>#banner_link .search,.i_menu_login,body.no-banner #banner_link,body.no-banner .z-top-container.has-banner>.header,li.nav-item[report-id=playpage_dynamic] .i-frame,li.nav-item[report-id=playpage_dynamic] iframe{display:none!important}.bili-header-m>.nav-menu,.z_top{visibility:hidden!important;height:var(--navbar-height)!important}.link-top-container#tab-container{top:var(--navbar-height)!important}.custom-navbar{position:absolute;top:0;left:0;height:var(--navbar-height);width:100%;background-color:var(--navbar-background);color:var(--navbar-foreground);z-index:10001;display:flex;justify-content:center}.custom-navbar:not(.fill) .custom-navbar-iconfont{color:var(--theme-color)}.custom-navbar path{fill:var(--navbar-foreground)}.custom-navbar.fill path{fill:var(--foreground-color-d)}.custom-navbar.shadow{box-shadow:#0002 0 1px 10px 1px}.custom-navbar.dark.shadow{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings.dark,.custom-navbar.dark:not(.fill){--navbar-background:#222;--navbar-foreground:#eee}.custom-navbar .popup{color:#000;background:#fff;transition:.2s ease-out .2s}.custom-navbar.dark .popup{color:#eee;background:#222}.custom-navbar,.custom-navbar *,.custom-navbar-settings,.custom-navbar-settings *{transition:.2s ease-out;-webkit-tap-highlight-color:transparent;outline:0!important;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0;padding-inline-end:0}.custom-navbar.fill{--navbar-background:var(--theme-color);--navbar-foreground:var(--foreground-color-d)}.custom-navbar.fill.shadow{box-shadow:var(--theme-color-30) 0 2px 10px 1px}.custom-navbar>ul{display:flex;align-items:center;justify-content:space-between;margin:var(--navbar-bounds-padding);height:100%;flex-grow:1}.custom-navbar ul{list-style:none;color:inherit}.custom-navbar li{color:inherit;list-style:none}.custom-navbar>ul>li{position:relative;height:100%;display:flex;align-items:center;color:inherit}.custom-navbar li .active-bar{position:absolute;left:0;bottom:0;background-color:var(--theme-color);width:100%;height:3px;display:none}.custom-navbar.fill li .active-bar{background-color:rgba(0,0,0,.3)}.custom-navbar li.active .active-bar{display:flex}.custom-navbar>ul>li.view-border::before{content:"";width:94%;height:94%;border:2px dashed #888a;position:absolute;top:3%;left:3%;box-sizing:border-box}.custom-navbar>ul>li:not(.disabled){cursor:pointer}.custom-navbar>ul>li.disabled a{cursor:default}.custom-navbar>ul>li:not(.disabled):hover{background:rgba(0,0,0,.1)}.custom-navbar .main-content{font-size:10pt;height:100%;display:flex;align-items:center;padding:0 16px;color:var(--navbar-foreground);user-select:none}.custom-navbar .main-content:hover{color:var(--navbar-foreground)!important}.custom-navbar .popup{position:absolute;top:100%;left:50%;padding:16px;box-shadow:rgba(0,0,0,.1) 0 4px 40px 20px;pointer-events:none;opacity:0;transform:translateX(-50%)}.custom-navbar.compact li:not([data-name=userInfo]) .popup{padding:8px}.custom-navbar.dark .popup{box-shadow:rgba(0,0,0,.3) 0 4px 40px 20px}.custom-navbar .popup.no-padding{padding:0}.custom-navbar .popup.transparent{background-color:transparent!important;box-shadow:none}#custom-navbar-home-popup .category-item:hover .popup,.custom-navbar>ul>li:not(.disabled):hover>.popup{pointer-events:initial;opacity:1}.custom-navbar a,.custom-navbar a:hover{color:inherit!important;text-decoration:none}#custom-navbar-home-popup{max-height:80vh;display:flex;flex-direction:column;flex-wrap:wrap;width:350px}@media screen and (min-height:1000px){#custom-navbar-home-popup{flex-wrap:nowrap;width:250px}}#custom-navbar-home-popup .category-item{font-size:12pt;padding:8px 16px;cursor:pointer;position:relative}.custom-navbar.compact #custom-navbar-home-popup .category-item{padding:6px}#custom-navbar-home-popup .category-item:hover{background-color:#0001}#custom-navbar-home-popup .category-item a{display:flex;justify-content:space-between;align-items:center}#custom-navbar-home-popup .category-item svg{width:25px;height:25px;fill:currentColor;margin-right:10px}#custom-navbar-home-popup .category-item div{flex:1 0 auto}#custom-navbar-home-popup .category-item.main{min-width:150px}.custom-navbar.compact #custom-navbar-home-popup .category-item.main{min-width:110px}#custom-navbar-home-popup .category-item .popup{z-index:10002;width:max-content;transform:scaleX(0);transform-origin:left;padding:8px;left:100%;top:0;transition-delay:.3s;pointer-events:initial}#custom-navbar-home-popup .category-item:hover .popup{transform:scaleX(1)}#custom-navbar-home-popup .category-item .popup a,#message-list a,#upload-actions a{padding:8px;display:flex;justify-content:start;border-bottom:2px solid transparent;font-size:11pt;line-height:16pt}.custom-navbar.compact #custom-navbar-home-popup .category-item .popup a{padding:6px}#custom-navbar-home-popup .category-item .popup a:hover,#message-list a:hover,#upload-actions a:hover{border-bottom:2px solid var(--theme-color)}#custom-navbar-home-popup .category-item span{opacity:.5}.im-list-box{border-radius:0!important}#upload-button{padding-left:4px;font-size:12pt;font-weight:700}#message-list,#upload-actions{width:max-content}.custom-navbar form{height:100%;display:flex;align-items:center;position:relative;--submit-button-size:30px;opacity:.4}.custom-navbar.fill form{opacity:.8}.custom-navbar form:focus-within,.custom-navbar form:hover,.custom-navbar.fill form:focus-within,.custom-navbar.fill form:hover{opacity:1}.custom-navbar form input{border:none;height:60%;background:0 0;border-bottom:1.5px solid!important;color:var(--navbar-foreground);box-sizing:border-box;width:250px;padding-right:var(--submit-button-size);padding-left:4px}.custom-navbar form input:focus{border-bottom-color:var(--navbar-foreground)!important;outline:0!important}.custom-navbar form button[type=submit]{background:0 0;border:none;padding:4px;cursor:pointer;height:var(--submit-button-size);width:var(--submit-button-size);position:absolute;right:0;top:50%;transform:translateY(-50%)}.custom-navbar form input[type=text]::placeholder{color:var(--navbar-foreground)!important;opacity:.9}.custom-navbar .user-face-container{position:relative;height:calc(var(--navbar-height) - 16px);width:calc(var(--navbar-height) - 16px)}.custom-navbar .user-face,.custom-navbar .user-pendant{position:absolute;width:100%;height:100%}.custom-navbar .user-face{background-color:transparent;background-size:contain;border-radius:50%}.custom-navbar .user-pendant{background-color:transparent;background-size:cover;width:170%;height:170%;top:-12px;left:-12px;opacity:0;pointer-events:none}.user-info-panel{width:240px;font-size:12px}.user-info-panel .welcome{font-size:16px;font-weight:700;margin:46px 0 16px;text-align:center}.user-info-panel .grey-button,.user-info-panel .theme-button{align-self:stretch;height:36px;display:flex;align-items:center;justify-content:center}.user-info-panel .grey-button{background:#ededed}.custom-navbar.dark .user-info-panel .grey-button{background:#444}.user-info-panel .theme-button{background:var(--theme-color);color:var(--foreground-color)}.custom-navbar li:hover .user-face,.custom-navbar li:hover .user-pendant{transform:scale(2) translateY(10px);z-index:100;opacity:1}.custom-navbar .video-list{width:280px;font-size:12px}.custom-navbar .video-list li:not(.more){border-left:2px solid var(--theme-color-30)}.custom-navbar .video-list li:not(.more) a{padding:6px 16px;margin:6px 0;box-sizing:border-box;transition:.2s ease-out .1s;display:block;width:100%;height:100%;line-height:1.5}.custom-navbar.compact .video-list li:not(.more) a{padding:6px 8px}.custom-navbar .video-list li:hover{background:rgba(0,0,0,.1);border-color:var(--theme-color)}.custom-navbar .video-list li.more{border-bottom:2px solid transparent}.custom-navbar .video-list li.more a{width:100%;padding:8px 0;display:flex;justify-content:center}.custom-navbar.compact .video-list li.more a{padding:6px 0}.custom-navbar .video-list li.more:hover{border-color:var(--theme-color)}.custom-navbar .video-list .loading{display:flex;justify-content:center;border-color:transparent!important}.custom-navbar .video-list.loaded .loading{display:none}.custom-navbar .video-list.history .history-item{border:none!important}.custom-navbar.compact .video-list li:not(.more) a,.custom-navbar.compact .video-list.history .history-item .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.custom-navbar .video-list.history li:not(.more) a{justify-content:space-between;position:relative;display:flex;padding:6px 8px!important}.custom-navbar.compact .video-list.history li:not(.more) a{padding:6px!important}.custom-navbar .video-list.history a .description{opacity:.6;margin-left:4px;white-space:nowrap}.custom-navbar .video-list.history a .progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background-color:var(--theme-color);transform-origin:left;opacity:.3}.custom-navbar .video-list.history a:hover .progress{opacity:1}.custom-navbar .notify-count{position:absolute;left:50%;top:0;background-color:var(--theme-color);color:var(--foreground-color);padding:0 8px;display:flex;justify-content:center;font-size:11px;transform:translateX(-50%);border-radius:0 0 8px 8px;opacity:0;line-height:14px}.custom-navbar.fill .notify-count{background-color:rgba(0,0,0,.3)}.custom-navbar .notify-count:not(:empty){opacity:1}#message-list a{position:relative}#message-list a[data-count]::after{content:attr(data-count);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:var(--theme-color);padding:0 10px;display:flex;justify-content:center;font-size:11pt;border-radius:6px}.custom-navbar-settings{display:flex;flex-direction:column;pointer-events:none;opacity:0;width:370px;position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);z-index:10001;background:var(--navbar-background);padding-top:16px;box-shadow:#0002 0 1px 10px 1px;font-size:16px;line-height:1.5}.custom-navbar-settings.dark{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings h1{color:var(--navbar-foreground);font-size:16pt;font-weight:700}.custom-navbar-settings.show{pointer-events:initial;opacity:1}.custom-navbar-settings .header,.custom-navbar-settings .orders{display:flex;justify-content:space-between;align-items:center}.custom-navbar-settings .header{padding:0 24px;font-size:9pt}.custom-navbar-settings .header .header-blank,.custom-navbar-settings .orders{flex-grow:1}.custom-navbar-settings .order-list{padding:0 24px;max-height:60vh;overflow:auto;overscroll-behavior:contain;list-style:none;width:100%;margin:16px 0}.custom-navbar-settings button{border:none;background-color:transparent;color:var(--navbar-foreground);padding:8px;cursor:pointer;font-size:14pt}.custom-navbar-settings button:hover{color:var(--theme-color)}.custom-navbar-settings .order-list li .mdi-menu{padding:8px}.custom-navbar-settings .order-list i{font-size:14pt}.custom-navbar-settings .order-list i.mdi-menu{cursor:move}.custom-navbar-settings .order-list li{color:var(--navbar-foreground);font-size:12pt;display:flex!important;justify-content:space-between;align-items:center;user-select:none;transition:opacity .2s ease-out}.custom-navbar-settings .order-list li.hidden{opacity:.5}.custom-navbar-settings .paddings{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;color:var(--navbar-foreground)}.custom-navbar-settings .paddings span{min-width:40px}.custom-navbar-settings .paddings input{flex-grow:1;margin-right:16px;-webkit-appearance:none;background:0 0;width:100%}.custom-navbar-settings .paddings input::-webkit-slider-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none;transform:translateY(-7px)}.custom-navbar-settings .paddings input::-moz-range-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none}.custom-navbar-settings .paddings input::-webkit-slider-runnable-track{width:100%;background:#8884;height:4px}.custom-navbar-settings .paddings input::-moz-range-track{width:100%;background:#8884;height:4px}.custom-navbar .blur-layer-container{overflow:hidden;display:none;width:100%;height:100%;position:absolute;top:0;left:0}.custom-navbar.blur .blur-layer-container{display:flex}.custom-navbar .blur-layer{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;filter:blur(36px);opacity:var(--navbar-blur-opacity)}.custom-navbar .blur-layer.left-pad{position:absolute;left:0;top:0;transform:translateX(-100%) scaleX(-1);width:100%;height:100%}.custom-navbar .blur-layer.right-pad{position:absolute;left:0;top:0;transform:translateX(100%) scaleX(-1);width:100%;height:100%}.custom-navbar.dark .blur-layer{filter:blur(54px)}body.all-navbar-fill .link-navbar,body.all-navbar-fill .link-navbar .main-ctnr .nav-items-ctnr,body.all-navbar-fill .nav-header-wrapper{background-color:var(--theme-color)!important}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo:before,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher.open-btn,body.all-navbar-fill .link-navbar .nav-item:first-child:before,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-logo,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-tv-icon,body.all-navbar-fill .nav-header-wrapper .nav-header .search-icon{filter:brightness(0) invert(1)!important;opacity:.8666666}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i:hover,body.all-navbar-fill .link-navbar .nav-item .label,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover,body.all-navbar-fill .link-navbar.black .my-link-btn .label,body.all-navbar-fill .my-link-btn,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-mainsite,body.all-navbar-fill .nav-header-wrapper .nav-header .order-center,body.all-navbar-fill .search-bar-ctnr .search-bar .placeholder,body.all-navbar-fill .search-bar-ctnr .search-bar .search-btn,body.all-navbar-fill .shortcuts-ctnr .shortcut-item,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover{color:var(--foreground-color-d)!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{color:#fff!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{opacity:.7!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{box-shadow:0 1px 4px 0 #0004}body.all-navbar-fill .link-navbar .nav-item:hover,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover:after,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{background-color:transparent!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar{border-color:transparent!important}body.all-navbar-fill .link-navbar .publish-btn{background-image:none!important;box-shadow:none!important}body.all-navbar-fill .link-navbar .my-link-btn .label:hover,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill :not(.app-ctnr) .link-navbar .nav-item:hover{background-color:transparent!important}body.all-navbar-fill .link-navbar .nav-item,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item{transition:.2s ease-out}@media screen and (max-width:1400px){.custom-navbar .main-content{padding:0 10px}}@media screen and (max-width:1300px){.custom-navbar .main-content{padding:0 8px}.custom-navbar form input{width:200px}}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.html"] = `

顶栏布局

边缘间距: 设定两侧边缘处的间距, 单位为百分比, 100%为整个顶栏的宽度. 允许设置的范围为 0% ~ 40%
{{boundsPadding}}%
顺序与显示: 在左侧的条状图标上拖动可以改变它们的顺序, 或者按住名字一会再拖动也可以调顺序. 点击右侧的眼睛图标可以显示/隐藏它们.
`; -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.js"] = (()=>{return(i,t)=>{if(isIframe()){return}document.body.style.setProperty("--navbar-bounds-padding",`0 ${i.customNavbarBoundsPadding}%`);document.body.style.setProperty("--navbar-blur-opacity",i.customNavbarBlurOpacity||.7);addSettingsListener("customNavbarBlurOpacity",i=>{document.body.style.setProperty("--navbar-blur-opacity",i)});let e=true;const s={widget:{content:`\n
\n \n 顶栏布局\n
`,condition:()=>e,success:async()=>{await SpinQuery.select(".custom-navbar-settings");await t.importAsync("slip");const{debounce:e}=await t.importAsync("debounce");const s=document.querySelector("#custom-navbar-settings");s.addEventListener("click",async()=>{const i=await SpinQuery.select(".custom-navbar-settings");if(i){i.classList.toggle("show");document.querySelector(".gui-settings-mask").click()}});s.addEventListener("mouseover",()=>{const t={blank1:"弹性空白1",logo:"Logo",category:"主站",rankingLink:"排行",drawingLink:"相簿",musicLink:"音频",gamesIframe:"游戏中心",livesIframe:"直播",shopLink:"会员购",mangaLink:"漫画",blank2:"弹性空白2",search:"搜索框",userInfo:"用户信息",messages:"消息",activities:"动态",watchlaterList:"稍后再看",favoritesList:"收藏",historyList:"历史",upload:"投稿入口",blank3:"弹性空白3"};Vue.component("order-item",{props:["item"],template:`\n
  • \n \n {{item.displayName}}\n \n
  • \n `,methods:{hidden(){return i.customNavbarHidden.includes(this.item.name)},viewBorder(i){const t=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(t!==null){t.classList[i?"add":"remove"]("view-border")}},toggleHidden(){const t=this.hidden();if(t===false){i.customNavbarHidden.push(this.item.name);i.customNavbarHidden=i.customNavbarHidden}else{const t=i.customNavbarHidden.indexOf(this.item.name);if(t===-1){return}i.customNavbarHidden.splice(t,1);i.customNavbarHidden=i.customNavbarHidden}this.$forceUpdate();const e=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(e!==null){e.style.display=t?"flex":"none"}}}});const s=e(t=>{i.customNavbarBoundsPadding=t;document.body.style.setProperty("--navbar-bounds-padding",`0 ${t}%`)},200);new Vue({el:".custom-navbar-settings",mounted(){const t=document.querySelector(".custom-navbar-settings .order-list");const e=({sourceItem:e,targetItem:s,orderBefore:a,orderAfter:n})=>{if(a===n){return}const l=Object.entries(i.customNavbarOrder);const o=l.sort((i,t)=>i[1]-t[1]).map(i=>i[0]);if(a=n;t--){const e=o[t];i.customNavbarOrder[e]=t+1;document.querySelector(`.custom-navbar li[data-name='${e}']`).style.order=t+1}}i.customNavbarOrder[o[a]]=n;document.querySelector(`.custom-navbar li[data-name='${o[a]}']`).style.order=n;i.customNavbarOrder=i.customNavbarOrder;t.insertBefore(e,s)};new Slip(t);t.addEventListener("slip:beforewait",i=>{if(i.target.classList.contains("mdi-menu")){i.preventDefault()}},false);t.addEventListener("slip:beforeswipe",i=>i.preventDefault(),false);t.addEventListener("slip:reorder",i=>{e({sourceItem:i.target,targetItem:i.detail.insertBefore,orderBefore:i.detail.originalIndex,orderAfter:i.detail.spliceIndex});return false},false)},computed:{orderList(){const e=Object.entries(i.customNavbarOrder);return e.sort((i,t)=>i[1]-t[1]).map(i=>{return{displayName:t[i[0]],name:i[0],order:i[1]}})}},data:{boundsPadding:i.customNavbarBoundsPadding},watch:{boundsPadding(i){s(i)}},methods:{close(){document.querySelector(".custom-navbar-settings").classList.remove("show")},restoreDefault(){if(typeof customNavbarDefaultOrders==="undefined"){Toast.error("未找到默认值设定, 请更新您的脚本.");return}if(confirm("确定要恢复默认顶栏布局吗? 恢复后页面将刷新.")){this.boundsPadding=5;i.customNavbarOrder=customNavbarDefaultOrders;location.reload()}}}})},{once:true})}},unload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="none");t.removeStyle("customNavbarStyle")},reload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="flex");t.applyImportantStyle("customNavbarStyle")}};const a=(i,t,e)=>{e.classList[t?"add":"remove"](i)};const n=i=>{document.querySelector(".custom-navbar").classList[i?"add":"remove"]("dark");document.querySelector(".custom-navbar-settings").classList[i?"add":"remove"]("dark")};addSettingsListener("allNavbarFill",i=>a("all-navbar-fill",i,document.body));a("all-navbar-fill",i.allNavbarFill,document.body);const l=["/www.bilibili.com","/t.bilibili.com","/search.bilibili.com","/space.bilibili.com","/account.bilibili.com","/pay.bilibili.com","/member.bilibili.com","/big.bilibili.com","/message.bilibili.com","/app.bilibili.com","/passport.bilibili.com"];const o=["/t.bilibili.com/lottery/h5/index/#/result","/member.bilibili.com/video/upload"];if(!l.some(i=>document.URL.includes(i))||o.some(i=>document.URL.includes(i))){e=false;return s}let r={};let c={};class m{constructor(){this.html=``;this.popupHtml=``;this.flex=`0 0 auto`;this.disabled=false;this.requestedPopup=false;this.onPopup=null;this.href=null;this.notifyCount=0;this.touch=i.touchNavBar;this.active=false}get name(){return"undefined"}get order(){return i.customNavbarOrder[this.name]}get hidden(){return i.customNavbarHidden.includes(this.name)}}class b extends m{constructor(i){super();this.number=i;this.flex="1 0 auto";this.disabled=true}get name(){return"blank"+this.number}}class u extends m{constructor(){super();this.href=`https://www.bilibili.com/`;this.html=``;this.touch=false}get name(){return"logo"}}class d extends m{constructor(i,t,e){super();this.linkName=e;this.html=i;this.href=t;this.touch=false;this.active=document.URL.startsWith(t)}get name(){return this.linkName+"Link"}}class p extends m{constructor(){super();this.href="https://member.bilibili.com/v2#/upload/video/frame";this.html=`\n \n \n \n
    投稿
    `;this.popupHtml=`\n \n `}get name(){return"upload"}}class h extends m{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n \n `;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.init()}get name(){return"messages"}async init(){const i=await Ajax.getJsonWithCredentials("https://message.bilibili.com/api/notify/query.notify.count.do");const t=await SpinQuery.select("#message-list");const e=[...t.querySelectorAll("a[data-name]")];const s=e.map(i=>i.getAttribute("data-name"));if(i.code!==0){return}const a=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);let n=s.reduce((t,e)=>t+i.data[e],0);if(!n){return}a.innerHTML=n;s.forEach((t,s)=>{const a=i.data[t];if(a>0){e[s].setAttribute("data-count",a)}else{e[s].removeAttribute("data-count")}});e.forEach(i=>{i.addEventListener("click",()=>{const t=i.getAttribute("data-count");i.removeAttribute("data-count");n-=t;a.innerHTML=n||""})})}}class w extends m{constructor(){super();this.html=`主站`;this.requestedPopup=true;this.popupHtml=`\n \n `;this.getOnlineInfo().then(i=>{new Vue({el:"#custom-navbar-home-popup",data:{info:Object.entries(i)}})})}get name(){return"category"}async getOnlineInfo(){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"话题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}}}class v extends m{constructor(){super();this.href="https://space.bilibili.com";this.html=`\n
    \n \n \n
    \n `;this.popupHtml=`\n \n `;this.requestedPopup=true;this.init()}get name(){return"userInfo"}async init(){const i=await SpinQuery.select(".custom-navbar .user-info-panel");new Vue({el:i,data:{...r},computed:{userType(){if(!this.isLogin){return"未登录"}if(this.level_info.current_level===0){return"注册会员"}if(this.vipStatus===1){if(this.vipType===1){return this.vip_theme_type?"小会员":"大会员"}else if(this.vipType===2){return this.vip_theme_type?"年度小会员":"年度大会员"}}return"正式会员"},levelProgressStyle(){const i=(this.level_info.next_exp-this.level_info.current_exp)/(this.level_info.next_exp-this.level_info.current_min);return{transform:`scaleX(${i})`}}}});const t=await SpinQuery.select(".custom-navbar .user-face-container .user-face");if(r.isLogin){const i=r.face.replace("http","https");const e=68;const s=[1,1.25,1.5,1.75,2,2.25,2.5,2.75,3,3.25,3.5,3.75,4];t.setAttribute("srcset",s.map(t=>{return`${i}@${parseInt(e*t)}w_${parseInt(e*t)}h.jpg ${t}x`}).join(","));if(r.pendant.image){const i=await SpinQuery.select(".custom-navbar .user-face-container .user-pendant");const t=r.pendant.image.replace("http","https");const e=116;i.setAttribute("srcset",s.reduce((i,s)=>{return i+`, ${t}@${parseInt(e*s)}w_${parseInt(e*s)}h.png ${s}x`},""))}}else{t.setAttribute("src","https://static.hdslb.com/images/akari.jpg")}}}class g extends m{constructor(){super();this.disabled=true;this.html=`\n \n `;this.init()}async init(){const t=await SpinQuery.select("#custom-navbar-search");const e=t.querySelector("input[name='keyword']");t.addEventListener("submit",s=>{if(e.value===""){if(!i.hideTopSearch){t.querySelector(".recommended-target").click()}s.preventDefault();return false}return true});if(!i.hideTopSearch){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/search/default");if(i.code===0){e.setAttribute("placeholder",i.data.show_name);if(i.data.name.startsWith("av")){t.querySelector(".recommended-target").setAttribute("href",`https://www.bilibili.com/${i.data.name}`)}else{t.querySelector(".recommended-target").setAttribute("href",`https://search.bilibili.com/all?keyword=${i.data.name}`)}}else{console.error("[自定义顶栏] 获取搜索推荐词失败")}}}get name(){return"search"}}class f extends m{constructor(i,t,{src:e,width:s,height:a,lazy:n,iframeName:l}){super();this.iframeName=l;this.html=i;this.href=t;this.popupHtml=`\n \n `;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}class y extends f{constructor(...t){super(...t);this.touch=i.touchNavBar;this.getNotifyCount()}getApiUrl(){return null}getCount(){return 0}async getNotifyCount(){const i=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);const t=await Ajax.getJsonWithCredentials(this.getApiUrl());const e=this.getCount(t);if(t.code===0&&e){i.innerHTML=e;this.onPopup=(()=>{i.innerHTML=""})}}}class k extends y{constructor(){super("动态",i.oldTweets?"https://www.bilibili.com/account/dynamic":"https://t.bilibili.com/",{src:`https://t.bilibili.com/pages/nav/index`,width:`380px`,height:`422px`,lazy:true});this.active=document.URL.replace(/\?.*$/,"")==="https://t.bilibili.com/"}getApiUrl(){const i=document.cookie.replace(new RegExp(`(?:(?:^|.*;\\s*)bp_t_offset_${r.mid}\\s*\\=\\s*([^;]*).*$)|^.*$`),"$1");return`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${r.mid}&update_num_dy_id=${i}&type_list=8,512,64`}getCount(i){return i.data.update_num}get name(){return"activities"}}class _ extends m{constructor({mainUrl:i,name:t,apiUrl:e,listName:s,listMap:a}){super();this.href=i;this.listName=s;this.html=t;this.requestedPopup=false;this.popupHtml=`\n
      \n
    1. 加载中...
    2. \n
    \n `;this.onPopup=(async()=>{if(!a){return}const n=await SpinQuery.select(`.video-list.${s}`);if(n===null){return}const l=await Ajax.getJsonWithCredentials(e);if(l.code!==0){logError(`加载${t}信息失败. 错误码: ${l.code} ${l.message}`);return}const o=a(l).join("");n.insertAdjacentHTML("beforeend",o+`\n
  • 查看更多
  • \n `);n.classList.add("loaded")})}get name(){return this.listName+"List"}}class x extends _{constructor(){super({name:"稍后再看",mainUrl:"https://www.bilibili.com/watchlater/#/list",apiUrl:"https://api.bilibili.com/x/v2/history/toview/web",listName:"watchlater",listMap:t=>{return t.data.list.slice(0,6).map(t=>{const e=t.pages.map(i=>i.cid);const s=t.cid===0?1:e.indexOf(t.cid)+1;const a=i.watchLaterRedirect?`https://www.bilibili.com/video/av${t.aid}?p=${s}`:`https://www.bilibili.com/watchlater/#/av${t.aid}/p${s}`;return`
  • \n ${t.title}\n
  • `})}});this.active=document.URL.startsWith("https://www.bilibili.com/watchlater/")}}class L extends _{constructor(){super({name:"收藏",mainUrl:`https://space.bilibili.com/${r.mid}/favlist`,apiUrl:"https://api.bilibili.com/medialist/gateway/coll/resource/recent",listName:"favorites",listMap:i=>{return i.data.map(i=>{return`
  • \n ${i.title}\n
  • `})}});this.active=document.URL.replace(/\?.*$/,"")===`https://space.bilibili.com/${r.mid}/favlist`}}class $ extends _{constructor(){super({name:"历史",mainUrl:"https://www.bilibili.com/account/history",apiUrl:"https://api.bilibili.com/x/v2/history?pn=1&ps=6",listName:"history",listMap:i=>{return i.data.map(i=>{let t=[];let e="";const s=i.page?i.page.page:1;const a=i.progress>=0?i.progress/i.duration:1;if(s!==1){t.push(`p=${s}`);e+=`看到第${s}话`}if(i.progress>0&&i.progress\n \n ${i.title}\n ${e}\n
    \n
    \n `})}});this.active=document.URL.replace(/\?.*$/,"")==="https://www.bilibili.com/account/history"}}(async()=>{const e=await t.importAsync("customNavbarHtml");const s=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/web-interface/nav");r=s.data;document.body.insertAdjacentHTML("beforeend",e);addSettingsListener("useDarkStyle",n);n(i.useDarkStyle);["Fill","Shadow","Compact","Blur"].forEach(t=>{addSettingsListener("customNavbar"+t,i=>a(t.toLowerCase(),i,document.querySelector(".custom-navbar")));a(t.toLowerCase(),i["customNavbar"+t],document.querySelector(".custom-navbar"))});SpinQuery.condition(()=>document.getElementById("banner_link"),i=>i===null?null:i.style.backgroundImage,i=>{Observer.attributes(i,()=>{const t=document.querySelectorAll(".custom-navbar .blur-layer");t.forEach(t=>{t.style.backgroundImage=i.style.backgroundImage;t.setAttribute("data-image",i.style.backgroundImage)})})});const l=[new b(1),new u,new w,new d("排行","https://www.bilibili.com/ranking","ranking"),new d("相簿","https://h.bilibili.com","drawing"),new d("音频","https://www.bilibili.com/audio/home/","music"),new f("游戏中心","https://game.bilibili.com/",{src:`https://www.bilibili.com/page-proxy/game-nav.html`,width:`680px`,height:`260px`,lazy:true,iframeName:"games"}),new f("直播","https://live.bilibili.com",{src:`https://live.bilibili.com/blackboard/dropdown-menu.html`,width:`528px`,height:`266px`,lazy:true,iframeName:"lives"}),new d("会员购","https://show.bilibili.com","shop"),new d("漫画","https://manga.bilibili.com","manga"),new b(2),new g,new v];if(r.isLogin){l.push(new h,new k,new x,new L,new $)}l.push(new p,new b(3));new Vue({el:".custom-navbar",data:{components:l},methods:{requestPopup(i){if(!i.requestedPopup&&!i.disabled&&!i.active){this.$set(i,`requestedPopup`,true);i.onPopup&&i.onPopup()}}}})})();return s}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.js"] = (()=>{return(i,t)=>{if(isIframe()){return}document.body.style.setProperty("--navbar-bounds-padding",`0 ${i.customNavbarBoundsPadding}%`);document.body.style.setProperty("--navbar-blur-opacity",i.customNavbarBlurOpacity||.7);addSettingsListener("customNavbarBlurOpacity",i=>{document.body.style.setProperty("--navbar-blur-opacity",i)});let e=true;const s={widget:{content:`\n
    \n \n 顶栏布局\n
    `,condition:()=>e,success:async()=>{await SpinQuery.select(".custom-navbar-settings");await t.importAsync("slip");const{debounce:e}=await t.importAsync("debounce");const s=document.querySelector("#custom-navbar-settings");s.addEventListener("click",async()=>{const i=await SpinQuery.select(".custom-navbar-settings");if(i){i.classList.toggle("show");document.querySelector(".gui-settings-mask").click()}});s.addEventListener("mouseover",()=>{const t={blank1:"弹性空白1",logo:"Logo",category:"主站",rankingLink:"排行",drawingLink:"相簿",musicLink:"音频",gamesIframe:"游戏中心",livesIframe:"直播",shopLink:"会员购",mangaLink:"漫画",blank2:"弹性空白2",search:"搜索框",userInfo:"用户信息",messages:"消息",activities:"动态",watchlaterList:"稍后再看",favoritesList:"收藏",historyList:"历史",upload:"投稿入口",blank3:"弹性空白3"};Vue.component("order-item",{props:["item"],template:`\n
  • \n \n {{item.displayName}}\n \n
  • \n `,methods:{hidden(){return i.customNavbarHidden.includes(this.item.name)},viewBorder(i){const t=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(t!==null){t.classList[i?"add":"remove"]("view-border")}},toggleHidden(){const t=this.hidden();if(t===false){i.customNavbarHidden.push(this.item.name);i.customNavbarHidden=i.customNavbarHidden}else{const t=i.customNavbarHidden.indexOf(this.item.name);if(t===-1){return}i.customNavbarHidden.splice(t,1);i.customNavbarHidden=i.customNavbarHidden}this.$forceUpdate();const e=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(e!==null){e.style.display=t?"flex":"none"}}}});const s=e(t=>{i.customNavbarBoundsPadding=t;document.body.style.setProperty("--navbar-bounds-padding",`0 ${t}%`)},200);new Vue({el:".custom-navbar-settings",mounted(){const t=document.querySelector(".custom-navbar-settings .order-list");const e=({sourceItem:e,targetItem:s,orderBefore:a,orderAfter:n})=>{if(a===n){return}const l=Object.entries(i.customNavbarOrder);const o=l.sort((i,t)=>i[1]-t[1]).map(i=>i[0]);if(a=n;t--){const e=o[t];i.customNavbarOrder[e]=t+1;document.querySelector(`.custom-navbar li[data-name='${e}']`).style.order=t+1}}i.customNavbarOrder[o[a]]=n;document.querySelector(`.custom-navbar li[data-name='${o[a]}']`).style.order=n;i.customNavbarOrder=i.customNavbarOrder;t.insertBefore(e,s)};new Slip(t);t.addEventListener("slip:beforewait",i=>{if(i.target.classList.contains("mdi-menu")){i.preventDefault()}},false);t.addEventListener("slip:beforeswipe",i=>i.preventDefault(),false);t.addEventListener("slip:reorder",i=>{e({sourceItem:i.target,targetItem:i.detail.insertBefore,orderBefore:i.detail.originalIndex,orderAfter:i.detail.spliceIndex});return false},false)},computed:{orderList(){const e=Object.entries(i.customNavbarOrder);return e.sort((i,t)=>i[1]-t[1]).map(i=>{return{displayName:t[i[0]],name:i[0],order:i[1]}})}},data:{boundsPadding:i.customNavbarBoundsPadding},watch:{boundsPadding(i){s(i)}},methods:{close(){document.querySelector(".custom-navbar-settings").classList.remove("show")},restoreDefault(){if(typeof customNavbarDefaultOrders==="undefined"){Toast.error("未找到默认值设定, 请更新您的脚本.");return}if(confirm("确定要恢复默认顶栏布局吗? 恢复后页面将刷新.")){this.boundsPadding=5;i.customNavbarOrder=customNavbarDefaultOrders;location.reload()}}}})},{once:true})}},unload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="none");t.removeStyle("customNavbarStyle")},reload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="flex");t.applyImportantStyle("customNavbarStyle")}};const a=(i,t,e)=>{e.classList[t?"add":"remove"](i)};const n=i=>{document.querySelector(".custom-navbar").classList[i?"add":"remove"]("dark");document.querySelector(".custom-navbar-settings").classList[i?"add":"remove"]("dark")};addSettingsListener("allNavbarFill",i=>a("all-navbar-fill",i,document.body));a("all-navbar-fill",i.allNavbarFill,document.body);const l=["/www.bilibili.com","/t.bilibili.com","/search.bilibili.com","/space.bilibili.com","/account.bilibili.com","/pay.bilibili.com","/member.bilibili.com","/big.bilibili.com","/message.bilibili.com","/app.bilibili.com","/passport.bilibili.com"];const o=["/t.bilibili.com/lottery/h5/index/#/result","/member.bilibili.com/video/upload"];if(!l.some(i=>document.URL.includes(i))||o.some(i=>document.URL.includes(i))){e=false;return s}let r={};let c={};class m{constructor(){this.html=``;this.popupHtml=``;this.flex=`0 0 auto`;this.disabled=false;this.requestedPopup=false;this.onPopup=null;this.href=null;this.notifyCount=0;this.touch=i.touchNavBar;this.active=false}get name(){return"undefined"}get order(){return i.customNavbarOrder[this.name]}get hidden(){return i.customNavbarHidden.includes(this.name)}}class b extends m{constructor(i){super();this.number=i;this.flex="1 0 auto";this.disabled=true}get name(){return"blank"+this.number}}class u extends m{constructor(){super();this.href=`https://www.bilibili.com/`;this.html=``;this.touch=false}get name(){return"logo"}}class d extends m{constructor(i,t,e){super();this.linkName=e;this.html=i;this.href=t;this.touch=false;this.active=document.URL.startsWith(t)}get name(){return this.linkName+"Link"}}class p extends m{constructor(){super();this.href="https://member.bilibili.com/v2#/upload/video/frame";this.html=`\n \n \n \n
    投稿
    `;this.popupHtml=`\n \n `}get name(){return"upload"}}class h extends m{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n \n `;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.init()}get name(){return"messages"}async init(){const i=await Ajax.getJsonWithCredentials("https://message.bilibili.com/api/notify/query.notify.count.do");const t=await SpinQuery.select("#message-list");const e=[...t.querySelectorAll("a[data-name]")];const s=e.map(i=>i.getAttribute("data-name"));if(i.code!==0){return}const a=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);let n=s.reduce((t,e)=>t+i.data[e],0);if(!n){return}a.innerHTML=n;s.forEach((t,s)=>{const a=i.data[t];if(a>0){e[s].setAttribute("data-count",a)}else{e[s].removeAttribute("data-count")}});e.forEach(i=>{i.addEventListener("click",()=>{const t=i.getAttribute("data-count");i.removeAttribute("data-count");n-=t;a.innerHTML=n||""})})}}class w extends m{constructor(){super();this.html=`主站`;this.requestedPopup=true;this.popupHtml=`\n \n `;this.getOnlineInfo().then(i=>{new Vue({el:"#custom-navbar-home-popup",data:{info:Object.entries(i)}})})}get name(){return"category"}async getOnlineInfo(){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"话题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}}}class v extends m{constructor(){super();this.noPadding=true;this.href="https://space.bilibili.com";this.html=`\n
    \n \n \n
    \n `;this.popupHtml=`\n \n `;this.requestedPopup=true;this.init()}get name(){return"userInfo"}async init(){const i=await SpinQuery.select(".custom-navbar .user-info-panel");new Vue({el:i,data:{...r},computed:{userType(){if(!this.isLogin){return"未登录"}if(this.level_info.current_level===0){return"注册会员"}if(this.vipStatus===1){if(this.vipType===1){return this.vip_theme_type?"小会员":"大会员"}else if(this.vipType===2){return this.vip_theme_type?"年度小会员":"年度大会员"}}return"正式会员"},levelProgressStyle(){const i=(this.level_info.next_exp-this.level_info.current_exp)/(this.level_info.next_exp-this.level_info.current_min);return{transform:`scaleX(${i})`}}}});const t=await SpinQuery.select(".custom-navbar .user-face-container .user-face");if(r.isLogin){const i=r.face.replace("http","https");const e=68;const s=[1,1.25,1.5,1.75,2,2.25,2.5,2.75,3,3.25,3.5,3.75,4];t.setAttribute("srcset",s.map(t=>{return`${i}@${parseInt(e*t)}w_${parseInt(e*t)}h.jpg ${t}x`}).join(","));if(r.pendant.image){const i=await SpinQuery.select(".custom-navbar .user-face-container .user-pendant");const t=r.pendant.image.replace("http","https");const e=116;i.setAttribute("srcset",s.reduce((i,s)=>{return i+`, ${t}@${parseInt(e*s)}w_${parseInt(e*s)}h.png ${s}x`},""))}}else{t.setAttribute("src","https://static.hdslb.com/images/akari.jpg")}}}class g extends m{constructor(){super();this.disabled=true;this.html=`\n \n `;this.init()}async init(){const t=await SpinQuery.select("#custom-navbar-search");const e=t.querySelector("input[name='keyword']");t.addEventListener("submit",s=>{if(e.value===""){if(!i.hideTopSearch){t.querySelector(".recommended-target").click()}s.preventDefault();return false}return true});if(!i.hideTopSearch){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/search/default");if(i.code===0){e.setAttribute("placeholder",i.data.show_name);if(i.data.name.startsWith("av")){t.querySelector(".recommended-target").setAttribute("href",`https://www.bilibili.com/${i.data.name}`)}else{t.querySelector(".recommended-target").setAttribute("href",`https://search.bilibili.com/all?keyword=${i.data.name}`)}}else{console.error("[自定义顶栏] 获取搜索推荐词失败")}}}get name(){return"search"}}class f extends m{constructor(i,t,{src:e,width:s,height:a,lazy:n,iframeName:l}){super();this.iframeName=l;this.html=i;this.href=t;this.popupHtml=`\n \n `;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}class y extends f{constructor(...t){super(...t);this.touch=i.touchNavBar;this.getNotifyCount()}getApiUrl(){return null}getCount(){return 0}async getNotifyCount(){const i=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);const t=await Ajax.getJsonWithCredentials(this.getApiUrl());const e=this.getCount(t);if(t.code===0&&e){i.innerHTML=e;this.onPopup=(()=>{i.innerHTML=""})}}}class k extends y{constructor(){super("动态",i.oldTweets?"https://www.bilibili.com/account/dynamic":"https://t.bilibili.com/",{src:`https://t.bilibili.com/pages/nav/index`,width:`380px`,height:`422px`,lazy:true});this.active=document.URL.replace(/\?.*$/,"")==="https://t.bilibili.com/"}getApiUrl(){const i=document.cookie.replace(new RegExp(`(?:(?:^|.*;\\s*)bp_t_offset_${r.mid}\\s*\\=\\s*([^;]*).*$)|^.*$`),"$1");return`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${r.mid}&update_num_dy_id=${i}&type_list=8,512,64`}getCount(i){return i.data.update_num}get name(){return"activities"}}class _ extends m{constructor({mainUrl:i,name:t,apiUrl:e,listName:s,listMap:a}){super();this.href=i;this.listName=s;this.html=t;this.requestedPopup=false;this.popupHtml=`\n
      \n
    1. 加载中...
    2. \n
    \n `;this.onPopup=(async()=>{if(!a){return}const n=await SpinQuery.select(`.video-list.${s}`);if(n===null){return}const l=await Ajax.getJsonWithCredentials(e);if(l.code!==0){logError(`加载${t}信息失败. 错误码: ${l.code} ${l.message}`);return}const o=a(l).join("");n.insertAdjacentHTML("beforeend",o+`\n
  • 查看更多
  • \n `);n.classList.add("loaded")})}get name(){return this.listName+"List"}}class x extends _{constructor(){super({name:"稍后再看",mainUrl:"https://www.bilibili.com/watchlater/#/list",apiUrl:"https://api.bilibili.com/x/v2/history/toview/web",listName:"watchlater",listMap:t=>{return t.data.list.slice(0,6).map(t=>{const e=t.pages.map(i=>i.cid);const s=t.cid===0?1:e.indexOf(t.cid)+1;const a=i.watchLaterRedirect?`https://www.bilibili.com/video/av${t.aid}?p=${s}`:`https://www.bilibili.com/watchlater/#/av${t.aid}/p${s}`;return`
  • \n ${t.title}\n
  • `})}});this.active=document.URL.startsWith("https://www.bilibili.com/watchlater/")}}class L extends _{constructor(){super({name:"收藏",mainUrl:`https://space.bilibili.com/${r.mid}/favlist`,apiUrl:"https://api.bilibili.com/medialist/gateway/coll/resource/recent",listName:"favorites",listMap:i=>{return i.data.map(i=>{return`
  • \n ${i.title}\n
  • `})}});this.active=document.URL.replace(/\?.*$/,"")===`https://space.bilibili.com/${r.mid}/favlist`}}class $ extends _{constructor(){super({name:"历史",mainUrl:"https://www.bilibili.com/account/history",apiUrl:"https://api.bilibili.com/x/v2/history?pn=1&ps=6",listName:"history",listMap:i=>{return i.data.map(i=>{let t=[];let e="";const s=i.page?i.page.page:1;const a=i.progress>=0?i.progress/i.duration:1;if(s!==1){t.push(`p=${s}`);e+=`看到第${s}话`}if(i.progress>0&&i.progress\n \n ${i.title}\n ${e}\n
    \n
    \n `})}});this.active=document.URL.replace(/\?.*$/,"")==="https://www.bilibili.com/account/history"}}(async()=>{const e=await t.importAsync("customNavbarHtml");const s=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/web-interface/nav");r=s.data;document.body.insertAdjacentHTML("beforeend",e);addSettingsListener("useDarkStyle",n);n(i.useDarkStyle);["Fill","Shadow","Compact","Blur"].forEach(t=>{addSettingsListener("customNavbar"+t,i=>a(t.toLowerCase(),i,document.querySelector(".custom-navbar")));a(t.toLowerCase(),i["customNavbar"+t],document.querySelector(".custom-navbar"))});SpinQuery.condition(()=>document.getElementById("banner_link"),i=>i===null?null:i.style.backgroundImage,i=>{Observer.attributes(i,()=>{const t=document.querySelectorAll(".custom-navbar .blur-layer");t.forEach(t=>{t.style.backgroundImage=i.style.backgroundImage;t.setAttribute("data-image",i.style.backgroundImage)})})});const l=[new b(1),new u,new w,new d("排行","https://www.bilibili.com/ranking","ranking"),new d("相簿","https://h.bilibili.com","drawing"),new d("音频","https://www.bilibili.com/audio/home/","music"),new f("游戏中心","https://game.bilibili.com/",{src:`https://www.bilibili.com/page-proxy/game-nav.html`,width:`680px`,height:`260px`,lazy:true,iframeName:"games"}),new f("直播","https://live.bilibili.com",{src:`https://live.bilibili.com/blackboard/dropdown-menu.html`,width:`528px`,height:`266px`,lazy:true,iframeName:"lives"}),new d("会员购","https://show.bilibili.com","shop"),new d("漫画","https://manga.bilibili.com","manga"),new b(2),new g,new v];if(r.isLogin){l.push(new h,new k,new x,new L,new $)}l.push(new p,new b(3));new Vue({el:".custom-navbar",data:{components:l},methods:{requestPopup(i){if(!i.requestedPopup&&!i.disabled&&!i.active){this.$set(i,`requestedPopup`,true);i.onPopup&&i.onPopup()}}}})})();return s}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/danmaku-converter.min.js"] = (()=>{return(t,e)=>{class i{constructor(t,e,i,s,n){this.content=t;this.time=e;this.type=parseInt(i);this.fontSize=parseFloat(s);this.color=parseInt(n)}}class s extends i{constructor({content:t,time:e,type:i,fontSize:s,color:n,timeStamp:r,pool:a,userHash:o,rowId:c}){super(t,e,i,s,n);this.timeStamp=parseInt(r);this.pool=parseInt(a);this.userHash=o;this.rowId=parseInt(c);this.time=parseFloat(this.time);this.pDataArray=[e,i,s,n,r,a,o,c]}text(){const t=this.pDataArray.join(",");return`${this.content}`}static parse(t){const e=t.getAttribute("p");const[i,n,r,a,o,c,h,l]=e.split(",");const u=t.innerHTML;return new s({content:u,time:i,type:n,fontSize:r,color:a,timeStamp:o,pool:c,userHash:h,rowId:l})}}class n{constructor(t){this.xml=t;const e=(new DOMParser).parseFromString(t,"application/xml").documentElement;this.danmakus=[...e.querySelectorAll("d[p]")].map(t=>s.parse(t))}}class r extends i{constructor({content:t,time:e,type:i,fontSize:s,color:n,typeTag:r,colorTag:a,endTime:o}){super(t,e,i,s,n);this.typeTag=r;this.colorTag=a;this.endTime=o}text(t){const e=t[this.fontSize].match(/Style:(.*?),/)[1].trim();return`Dialogue: 0,${this.time},${this.endTime},${e},,0,0,0,,{${this.typeTag}${this.colorTag}}${this.content}`}}class a{constructor({danmakus:t,title:e,fontStyles:i,blockTypes:s,resolution:n}){this.danmakus=t;this.title=e;this.fontStyles=i;this.blockTypes=s;this.resolution=n}generateAss(){const t=`\n[Script Info]\n; Script generated by Bilibili Evolved Danmaku Converter\n; https://github.com/the1812/Bilibili-Evolved/\nTitle: ${this.title}\nScriptType: v4.00+\nPlayResX: ${this.resolution.x}\nPlayResY: ${this.resolution.y}\nTimer: 10.0000\nWrapStyle: 2\nScaledBorderAndShadow: no\n\n[V4+ Styles]\nFormat: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\n${Object.values(this.fontStyles).join("\n")}\n\n[Events]\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\n `.trim();return t+"\n"+this.danmakus.map(t=>t.text(this.fontStyles,this.blockTypes)).filter(t=>t!=="").join("\n")}}class o{constructor(t,e,i,s){this.horizontalDanmakus=[];this.horizontalTrack=[];this.verticalDanmakus=[];this.verticalTrack=[];this.resolution=e;this.duration=i;this.canvas=document.createElement("canvas");this.context=this.canvas.getContext("2d");this.fontSizes={25:`52px ${t}`,18:`36px ${t}`};this.danmakuType={1:"normal",2:"normal",3:"normal",4:"bottom",5:"top",6:"reversed",7:"special",8:"special"};this.bottomMarginPercent=s;this.margin=4;this.nextDanmakuDelay=.05;this.generateTracks()}generateTracks(){const t=52;this.danmakuHeight=t;this.trackHeight=this.margin*2+t;this.trackCount=parseInt(fixed(this.resolution.y*(1-this.bottomMarginPercent)/this.trackHeight,0))}getTextSize(t){this.context.font=this.fontSizes[t.fontSize];const e=this.context.measureText(t.content);const i=e.width/2;return[i,this.danmakuHeight/2]}getTags(t,{targetTrack:e,initTrack:i,nextTrack:s,isClosestDanmaku:n,getTrackItem:r,getTag:a}){const[o,c]=this.getTextSize(t);const h=o*2;const l=this.duration(t)*h/(this.resolution.x+h)+this.nextDanmakuDelay;let u=i;let m=null;do{m=e.find(t=>n({it:t,track:u,width:h}));u+=s}while(m&&u<=this.trackCount&&u>=0);if(u>this.trackCount||u<0){return`\\pos(0,-999)`}u-=s;e.push(r({track:u,width:h,visibleTime:l}));return a({track:u,x:o,y:c})}getHorizontalTags(t){return this.getTags(t,{targetTrack:this.horizontalTrack,initTrack:0,nextTrack:1,isClosestDanmaku:({it:e,track:i,width:s})=>{if(e.track!==i){return false}if(e.widtht.time}},getTrackItem:({track:e,width:i,visibleTime:s})=>{return{width:i,start:t.time,visible:t.time+s,end:t.time+this.duration(t),track:e}},getTag:({track:e,x:i,y:s})=>{return`\\move(${this.resolution.x+i},${e*this.trackHeight+this.margin+s},${-i},${e*this.trackHeight+this.margin+s},0,${this.duration(t)*1e3})`}})}getVerticalTags(t){const e=this.danmakuType[t.type]==="top";return this.getTags(t,{targetTrack:this.verticalTrack,initTrack:e?0:this.trackCount-1,nextTrack:e?1:-1,isClosestDanmaku:({it:e,track:i})=>{if(e.track!==i){return false}return e.end>t.time},getTrackItem:({track:e})=>{return{start:t.time,end:t.time+this.duration(t),track:e}},getTag:({track:t,y:i})=>{if(e){return`\\pos(${this.resolution.x/2},${t*this.trackHeight+this.margin+i})`}else{return`\\pos(${this.resolution.x/2},${this.resolution.y-this.margin-i-(this.trackCount-1-t)*this.trackHeight})`}}})}push(t){let e=null;let i=null;switch(this.danmakuType[t.type]){case"normal":case"reversed":{e=this.getHorizontalTags(t);i=this.horizontalDanmakus;break}case"top":case"bottom":{e=this.getVerticalTags(t);i=this.verticalDanmakus;break}case"special":default:{return{tags:`\\pos(0,-999)`}}}const s={tags:e};i.push(s);return s}}class c{constructor({title:t,font:e,alpha:i,duration:s,blockTypes:n,resolution:r,bottomMarginPercent:a,bold:c}){this.title=t;this.font=e;this.alpha=Math.round(i*100).toString(16).toUpperCase();this.duration=s;this.blockTypes=n;this.resolution=r;this.bold=c;this.white=16777215;this.danmakuStack=new o(e,r,s,a)}get fontStyles(){return{25:`Style: Medium,${this.font},52,&H${this.alpha}FFFFFF,&H${this.alpha}FFFFFF,&H${this.alpha}000000,&H${this.alpha}000000,${this.bold?"1":"0"},0,0,0,100,100,0,0,1,1.2,0,5,0,0,0,0`,18:`Style: Small,${this.font},36,&H${this.alpha}FFFFFF,&H${this.alpha}FFFFFF,&H${this.alpha}000000,&H${this.alpha}000000,${this.bold?"1":"0"},0,0,0,100,100,0,0,1,1.2,0,5,0,0,0,0`}}convertToAssDocument(t){const e=new n(t);const i=[];for(const t of e.danmakus.sort((t,e)=>t.time-e.time)){if(this.blockTypes.indexOf(t.type)!==-1||this.blockTypes.indexOf("color")!==-1&&t.color!==this.white){continue}const[e,s]=this.convertTime(t.time,this.duration(t));i.push(new r({content:this.convertText(t.content),time:e,endTime:s,type:t.type,fontSize:t.fontSize,color:t.color,typeTag:this.convertType(t),colorTag:this.convertColor(t.color)}))}return new a({danmakus:i,title:this.title,blockTypes:this.blockTypes,fontStyles:this.fontStyles,resolution:this.resolution})}convertText(t){const e={"{":"{","}":"}","&":"&","<":"<",">":">",""":'"',"'":"'"};for(const[i,s]of Object.entries(e)){t=t.replace(new RegExp(i,"g"),s)}return t}convertType(t){return this.danmakuStack.push(t).tags}convertColor(t){if(t===this.white){return""}const e=t.toString(16);const i=e.substring(0,2);const s=e.substring(2,4);const n=e.substring(4,6);return`\\c&H${n}${s}${i}&`}convertTime(t,e){function i(t){const[e,i="00"]=String(t).split(".");return`${e.padStart(2,"0")}.${i.substr(0,2).padEnd(2,"0")}`}function s(t){let e=0;let s=0;while(t>=60){t-=60;s++}while(s>=60){s-=60;e++}return`${e}:${String(s).padStart(2,"0")}:${i(t)}`}return[s(t),s(t+e)]}}return{export:{AssDanmaku:r,AssDanmakuDocument:a,Danmaku:i,DanmakuConverter:c,DanmakuStack:o,XmlDanmaku:s,XmlDanmakuDocument:n}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-important.min.css"] = `#disable-popup-modal .vip-exchange .months button.disabled,#vip-exchange-modal .vip-exchange .months button.disabled,.action-row .publish-btn.disabled,.action-row .publish-btn.publishing,.action-row .sch-pub-btn.disabled,.action-row .sch-pub-btn.publishing,.app-body .section-block,.bl-button--primary:disabled,.link-footer,.live-skin-coloration-area .live-skin-separate-area,.live-skin-coloration-area .live-skin-separate-area-hover:hover,.payment-active,.tab-list .tab-item.active:before{background-color:#222!important}.app-body .section-block.with-bottom-radius,.app-body .section-block.with-radius,.bb-comment .no-login .comment-submit,.common .bb-comment .no-login .comment-submit,.container .pagination,.coupon-content-con .coupon-btn-disable,.customize-wrp .select,.f-list-hover:hover,.fjw-case-detail .ban-detail .content-box .video-model,.game-groom-m .num,.main-container .media-info .media-right .media-tool-bar .btn-follow.active,.main-container .pay-bar .vip .btn-pay.active,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled:hover,.pagination-container li.pagination,.status_box .status_btn.disabled,.wrapper .elec-btn.disabled{background-color:#444!important}.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap .bscroll-indicator{background-color:#555!important}.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap .bscroll-vertical-scrollbar.mousedown,.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap:hover .bscroll-vertical-scrollbar,.m-recommend-item div.box{background-color:transparent!important}.live-skin-coloration-area .live-skin-normal-a-text,.live-skin-coloration-area .live-skin-normal-a-text:link,.live-skin-coloration-area .live-skin-normal-text,.live-skin-normal-a-text:visited,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled:hover,.status_box .status_btn.disabled,blockquote,blockquote *,blockquote .color-blue-01,blockquote .color-blue-02,blockquote .color-blue-03,blockquote .color-blue-04,blockquote .color-gray-01,blockquote .color-gray-02,blockquote .color-gray-03,blockquote .color-green-01,blockquote .color-green-02,blockquote .color-green-03,blockquote .color-green-04,blockquote .color-lblue-01,blockquote .color-lblue-02,blockquote .color-lblue-03,blockquote .color-lblue-04,blockquote .color-pink-01,blockquote .color-pink-02,blockquote .color-pink-03,blockquote .color-pink-04,blockquote .color-purple-01,blockquote .color-purple-02,blockquote .color-purple-03,blockquote .color-purple-04,blockquote .color-yellow-01,blockquote .color-yellow-02,blockquote .color-yellow-03,blockquote .color-yellow-04{color:#aaa!important}#app .sticky-bar .bar-content .message,.bb-comment .no-login .comment-submit,.bp-popup-panel .title-ctnr .popup-title,.commnent-screen-wrap .el-input__inner,.common .bb-comment .no-login .comment-submit,.coupon-content-con .coupon-btn-disable,.cover .disabled-cover,.customize-wrp .select,.el-input__inner,.home-page .sticky-bar .bar-content .message,.invitation-record-warp .invtable .inputdone,.live-skin-coloration-area .live-skin-highlight-text,.live-skin-coloration-area .live-skin-main-text,.popup-content-ctnr .bl-button--ghost:hover,.s-paging>ul>a.current,.s-paging>ul>span.current,.score-info .go-movie,.tag-list li.tag-item.on{color:#eee!important}.bb-comment .no-login .comment-submit,.commnent-screen-wrap .el-input__inner,.common .bb-comment .no-login .comment-submit,.el-input__inner,.enter-failure .password-input .pink-border,.link-footer,.live-skin-coloration-area .live-skin-highlight-border,.live-skin-coloration-area .live-skin-separate-border,.popup-content-ctnr .bl-button--ghost:hover,.score-info .go-movie,.select-box-v2-container .select-box-v2-controller-disabled,.song-info .info-wrap .type-list .item-list .type-item.active,.tabs-bar,.ui-input-textarea.focus,.user-setting-warp .el-radio-button__orig-radio:checked+.el-radio-button__inner{border-color:transparent!important}#app .sticky-bar .bar-content .message:hover,.detail-wrp .detail-content[data-v-00c9b213] p a span,.drop-list-v2-container .drop-list-v2-item-selected .drop-list-v2-item-cont p.item-cont-main,.edit-button:hover>.icon-font,.edit-button:hover>span .left-nav-item-childed:hover,.el-select-dropdown__item.selected,.home-page .sticky-bar .bar-content .message:hover,.im-popup .bp-popup-panel .title-ctnr .popup-title,.left-nav-wrapper .active,.left-nav-wrapper .active .left-nav-item-child,.left-nav-wrapper .advice-btn:hover,.left-nav-wrapper .left-nav-item.active,.left-nav-wrapper .left-nav-item.active i.active,.left-nav-wrapper .left-nav-list.on .left-nav-item,.left-nav-wrapper .left-nav-list.on .left-nav-item .icon,.live-skin-coloration-area .live-skin-highlight-text,.live-skin-coloration-area .live-skin-normal-a-text:hover,.live-skin-normal-a-text:active,.more-data a:hover,.other a a:hover,.r-con .members-info .up-card .info-name.is-vip:hover,.rank-item .content .info .detail a a:hover,.rank-item .content .more-data:hover,.rank-item .content .other a:hover,.room-info-down-row .icon-label.hover-text-blue:hover .label,.room-introduction .edit-button:hover>.icon-font,.room-introduction .edit-button:hover>span,.up-info .u-info .name .username.is-vip:hover,.voucher-ing .voucher-left-money,.voucher-ing .voucher-left-money:before,.voucher-no-used .voucher-left-money,.voucher-no-used .voucher-left-money:before{color:var(--theme-color)!important}.aside-ctnr .author-info .communicate-btn,.live-skin-coloration-area .room-info-ctnr .info-section .live-skin-highlight-border,.page-list-box .page-input:focus,.page-list-box .page-input:hover,.popup-content-ctnr .bl-button--ghost,.season-timeline .season-group.today,.season-timeline .season-group.today .group-time::before,.tag-list li.tag-item.on,.tag-list li.tag-item:hover{border-color:var(--theme-color)!important}.bg-blue,.el-date-table td.current:not(.disabled),.el-date-table td.end-date,.el-date-table td.start-date,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn-white,.face-g-tab li.current,.live-skin-coloration-area .live-skin-highlight-bg,.popup-content-ctnr .bl-button--ghost:hover,.popup-content-ctnr .bl-button--primary,.season-timeline .season-group.today.is-published .group-time::before,.security-list .child-list li a.bg-blue:hover,.song-info .info-wrap .type-list .item-list .type-item.active,.tag-list li.tag-item.on,.user-my-btn .el-button--primary,.user-setting-warp .el-radio-button__orig-radio:checked+.el-radio-button__inner{background-color:var(--theme-color)!important}.current .tab-btn-link,.el-date-table td.current:not(.disabled),.el-date-table td.end-date,.el-date-table td.start-date,.face-g-tab li.current,.popup-content-ctnr .bl-button--ghost{color:var(--foreground-color)!important}#bilibiliPlayer{box-shadow:0 4px 8px 0 #0004}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-navbar.min.css"] = `#link-navbar-vm>.link-navbar .nav-item:hover,.bili-header-m .nav-menu .nav-con .nav-item:hover,.right-part>.shortcuts-ctnr .shortcut-item:hover,.uns_box ul.menu li:not(.b-post):hover,.z_top .z_top_nav ul li:hover{background-color:#222}.link-navbar .nav-item:hover,.shortcuts-ctnr .shortcut-item:hover{background-color:#222!important}#app>.link-navbar,#app>.nav-header-wrapper,#link-navbar-vm>.link-navbar,#navbar-vm>.link-navbar,.b-header-mask-wrp .b-header-mask,.bili-header-m .nav-menu .nav-mask,.bili-header-m .nav-menu.blur-black .nav-mask{background-color:#444}.link-navbar{background-color:#444!important}.z_top .i-link:hover,.z_top .z_top_nav ul li.home:hover{background-color:transparent}#app>.nav-header-wrapper>.nav-header{background:0 0}#app>.link-navbar .main-ctnr .nav-logo,#app>.link-navbar .nav-item.selected .label,#app>.link-navbar .nav-item:hover .icon-font,#app>.nav-header-wrapper>.nav-header .nav-header-mainsite,#app>.nav-header-wrapper>.nav-header .order-center,#link-navbar-vm>.link-navbar .main-ctnr .nav-logo,#link-navbar-vm>.link-navbar .nav-item:hover,.bili-header-m .nav-menu .nav-con .nav-item .t,.link-navbar .main-ctnr .custom-link>a,.my-link-btn .label,.right-part>.shortcuts-ctnr,.right-part>.shortcuts-ctnr .shortcut-item:hover,.search-bar-ctnr .search-bar input,.shortcut-item .list-item span,.shortcuts-ctnr .shortcut-item,.uns_box li.u-i a.i-link,.z_top a,.z_top.b-header-blur .uns_box li.u-i a.i-link,.z_top.b-header-blur .z_top_nav li a.i-link{color:#eee}.link-navbar .main-ctnr .nav-logo{color:#eee!important}.search-bar-ctnr .search-bar .placeholder,.search-bar-ctnr .search-bar .search-btn,.search-bar-ctnr .search-bar input::placeholder{color:#878787!important}.uns_box li.u-i:hover a.i-link,.z_top .i-link:hover{color:var(--theme-color)}.link-navbar,.link-navbar-ctnr{box-shadow:none!important}.link-navbar .main-ctnr .nav-logo::before,.nav-header-wrapper .nav-header .order-icon{filter:brightness(0) invert(1)!important}.search-bar-ctnr .search-bar{border:none;box-shadow:0 2px 10px 1px #0002}`; @@ -1093,6 +1076,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-resolution.min.js"] = (()=>{return(t,e)=>{const r=/@(\d+)[Ww]_(\d+)[Hh]/;const n=t.imageResolutionScale==="auto"?window.devicePixelRatio:parseFloat(t.imageResolutionScale);const o=["#certify-img1","#certify-img2"];const i=(t,e)=>{const r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,null,false);let n=r.nextNode();while(n){e(n);n=r.nextNode()}};async function s(t){const e=(e,i)=>{const s=e(t);if(s===null){return}if(o.some(e=>t.matches(e))){return}const a=s.match(r);if(!a){return}let[,u,c]=a;let l=parseInt(t.getAttribute("data-resolution-width")||"0");if(parseInt(u)>=l&&l!==0){return}if(t.getAttribute("width")===null&&t.getAttribute("height")===null){t.setAttribute("width",u)}u=Math.round(n*parseInt(u)).toString();c=Math.round(n*parseInt(c)).toString();t.setAttribute("data-resolution-width",u);i(t,s.replace(r,`@${u}w_${c}h`))};Observer.attributes(t,()=>{e(t=>t.getAttribute("src"),(t,e)=>t.setAttribute("src",e));e(t=>t.style.backgroundImage,(t,e)=>t.style.backgroundImage=e)})}const a=async()=>{i(document.body,t=>s(t));Observer.childListSubtree(document.body,t=>{for(const e of t){for(const t of e.addedNodes){if(t instanceof HTMLElement){s(t);if(t.nodeName.toUpperCase()!=="IMG"){i(t,t=>s(t))}}}}})};a();return{export:{imageResolution:s}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-viewer.min.css"] = `body.image-viewer-opened,html.image-viewer-opened{overflow:hidden!important}.image-viewer-container{background:rgba(0,0,0,.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:100000;display:none;justify-content:center;align-items:center}.image-viewer-container.opened{display:flex}.image-viewer{width:90%;height:90%;display:grid;grid-template-columns:auto 48px;grid-template-rows:48px auto 48px 12px 48px 18px 48px;grid-template-areas:"image close" "image ." "image copy-link" "image ." "image new-tab" "image ." "image download";grid-column-gap:12px;justify-items:center;justify-content:stretch;align-items:center;align-content:stretch}.image-viewer .image{grid-area:image;width:auto;height:auto;max-width:100%;max-height:100%}.image-viewer .close{grid-area:close}.image-viewer .download{grid-area:download}.image-viewer .copy-link{grid-area:copy-link;transform:scale(.95)}.image-viewer .new-tab{grid-area:new-tab;transform:scale(.85)}.image-viewer-icon{cursor:pointer;width:100%;height:100%}.image-viewer-icon svg{max-width:48px;max-height:48px}.image-viewer-icon path{fill:#eee;transition:.2s;transform-origin:center}.image-viewer-icon:hover path{fill:var(--theme-color);transform:scale(1.1)}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-viewer.min.html"] = `
    `; +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/index.min.html"] = `Document`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/medal-helper.min.css"] = `.medal-popup *{transition:.2s}.medal-popup ul{list-style:none;margin:0;padding:0}.medal-popup ul>li.active{box-shadow:0 0 4px 0 var(--theme-color)}.medal-popup ul>li:hover{background-color:rgba(0,0,0,.16)}.medal-popup label{display:flex;align-items:center;justify-content:center;cursor:pointer;padding:8px}.medal-popup label>*{flex-shrink:0}.medal-popup input[type=radio]{visibility:collapse;width:0;margin:0;padding:0}.medal-popup input[type=radio]~i{opacity:0;transform:scale(.8);margin:0}.medal-popup input[type=radio]~.fans-medal-item{margin:0 8px}.medal-popup input[type=radio]:checked~i{opacity:1}.title-image{display:inline-block;vertical-align:middle;height:20px}.fans-medal-item .label{width:40px;text-align:center;padding:0 2px;color:#fff}.fans-medal-item .level{width:16px;background-color:#fff;text-align:center;color:#61decb}.fans-medal-item .label,.fans-medal-item .level{position:relative;display:block;float:left}.fans-medal-item{display:inline-block;height:14px;line-height:14px;color:#fff;border:1px solid #61decb;border-left:0;white-space:nowrap;border-radius:2px;flex-shrink:0;font-size:12px}.level-1,.level-2,.level-3,.level-4{border-color:#61decb}.level-1 .label,.level-2 .label,.level-3 .label,.level-4 .label{background-color:#61decb}.level-1 .level,.level-2 .level,.level-3 .level,.level-4 .level{color:#61decb}.level-5,.level-6,.level-7,.level-8{border-color:#5896de}.level-5 .label,.level-6 .label,.level-7 .label,.level-8 .label{background-color:#5896de}.level-5 .level,.level-6 .level,.level-7 .level,.level-8 .level{color:#5896de}.level-10,.level-11,.level-12,.level-9{border-color:#a068f1}.level-10 .label,.level-11 .label,.level-12 .label,.level-9 .label{background-color:#a068f1}.level-10 .level,.level-11 .level,.level-12 .level,.level-9 .level{color:#a068f1}.level-13,.level-14,.level-15,.level-16{border-color:#ff86b2}.level-13 .label,.level-14 .label,.level-15 .label,.level-16 .label{background-color:#ff86b2}.level-13 .level,.level-14 .level,.level-15 .level,.level-16 .level{color:#ff86b2}.level-17,.level-18,.level-19,.level-20{border-color:#f6be18}.level-17 .label,.level-18 .label,.level-19 .label,.level-20 .label{background-color:#f6be18}.level-17 .level,.level-18 .level,.level-19 .level,.level-20 .level{color:#f6be18}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/medal-helper.min.html"] = `
    更换勋章
    更换头衔
    `; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/medal-helper.min.js"] = (()=>{return(e,t)=>{class i{constructor(e,t){this.isActive=e;this.id=t}static parseJson(e,{successAction:t,errorMessage:i,errorAction:a}){const s=JSON.parse(e);if(s.code!==0){logError(`${i} 错误码:${s.code} ${s.message||""}`);return a(s)}return t(s)}}class a extends i{constructor({medal_id:e,status:t,level:i,medalName:a,uname:s}){super(t===1,e);this.level=i;this.name=a;this.upName=s}static async getList(){return i.parseJson(await Ajax.getTextWithCredentials("https://api.live.bilibili.com/i/api/medal?page=1&pageSize=256"),{successAction:e=>e.data.fansMedalList.map(e=>new a(e)),errorAction:()=>[],errorMessage:"无法获取勋章列表."})}static getContainer(){return document.querySelector("#medal-helper .medal-popup ul")}static getItemTemplate(e){return`
  • \n \n
  • `}async activate(){return i.parseJson(await Ajax.getTextWithCredentials(`https://api.live.bilibili.com/i/ajaxWearFansMedal?medal_id=${this.id}`),{successAction:()=>{this.isActive=true;return true},errorAction:()=>false,errorMessage:"佩戴勋章失败."})}async deactivate(){return i.parseJson(await Ajax.getTextWithCredentials(`https://api.live.bilibili.com/i/ajaxCancelWear`),{successAction:()=>{this.isActive=false;return true},errorAction:()=>false,errorMessage:"卸下勋章失败."})}}class s extends i{constructor({id:e,cid:t,wear:i,css:a,name:r,source:c}){super(i,a);this.tid=e;this.cid=t;this.name=r;this.source=c;s.getImageMap().then(e=>{this.imageUrl=e[this.id]})}static async getImageMap(){if(s.imageMap===undefined){return i.parseJson(await Ajax.getTextWithCredentials("https://api.live.bilibili.com/rc/v1/Title/webTitles"),{successAction(e){s.imageMap={};e.data.forEach(e=>{s.imageMap[e.identification]=e.web_pic_url});return s.imageMap},errorAction:()=>{return{}},errorMessage:"获取头衔图片失败."})}else{return s.imageMap}}static async getList(){return i.parseJson(await Ajax.getTextWithCredentials("https://api.live.bilibili.com/i/api/ajaxTitleInfo?page=1&pageSize=256&had=1"),{successAction:e=>e.data.list.map(e=>new s(e)),errorAction:()=>[],errorMessage:"无法获取头衔列表."})}static getContainer(){return document.querySelector("#title-helper .medal-popup ul")}static getItemTemplate(e){return`
  • \n \n
  • `}async activate(){return i.parseJson(await Ajax.postTextWithCredentials(`https://api.live.bilibili.com/i/ajaxWearTitle`,`id=${this.tid}&cid=${this.cid}`),{successAction:()=>{this.isActive=true;return true},errorAction:()=>false,errorMessage:"佩戴头衔失败."})}async deactivate(){return i.parseJson(await Ajax.postTextWithCredentials(`https://api.live.bilibili.com/i/ajaxCancelWearTitle`,""),{successAction:()=>{this.isActive=false;return true},errorAction:()=>false,errorMessage:"卸下头衔失败."})}}async function r(e){const t=e.getContainer();const i=await e.getList();const a=async()=>{const i=await e.getList();i.forEach(e=>{const i=t.querySelector(`li[data-id='${e.id}']`);if(e.isActive){i.classList.add("active")}else{i.classList.remove("active")}i.querySelector(`input`).checked=e.isActive})};i.forEach(s=>{const r=e.getItemTemplate(s);t.insertAdjacentHTML("beforeend",r);const c=t.querySelector(`li[data-id='${s.id}']`);const n=c.querySelector(`input`);c.addEventListener("click",e=>{if(e.target===n){return}if(s.isActive){s.deactivate().then(a)}else{const e=i.find(e=>e.isActive);if(e){e.isActive=false}s.activate().then(a)}})})}return{export:{Badge:i,Medal:a,Title:s},widget:{condition:()=>document.domain==="live.bilibili.com",content:t.data.medalHelperHtml.text,success:()=>{document.querySelectorAll(".medal-helper").forEach(e=>{const t=e.querySelector(".medal-popup");e.addEventListener("click",e=>{if(!t.contains(e.target)){t.classList.toggle("opened")}})});r(a);s.getImageMap().then(()=>r(s))}}}}})(); diff --git a/bilibili-evolved.preview-offline.user.js b/bilibili-evolved.preview-offline.user.js index fa33eb927..860cf1ce9 100644 --- a/bilibili-evolved.preview-offline.user.js +++ b/bilibili-evolved.preview-offline.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Bilibili Evolved (Preview Offline) -// @version 332.99 +// @version 333.79 // @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中. // @author Grant Howard, Coulomb-G // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) @@ -140,8 +140,8 @@ const customNavbarDefaultOrders = { favoritesList: 16, historyList: 17, upload: 18, - blank3: 19 -}; + blank3: 19, +} const settings = { useDarkStyle: false, compactLayout: false, @@ -154,8 +154,8 @@ const settings = { touchVideoPlayer: false, customControlBackgroundOpacity: 0.64, customControlBackground: true, - darkScheduleStart: "18:00", - darkScheduleEnd: "6:00", + darkScheduleStart: '18:00', + darkScheduleEnd: '6:00', darkSchedule: false, blurVideoControl: false, toast: true, @@ -168,14 +168,14 @@ const settings = { hideTopSearch: false, touchVideoPlayerDoubleTapControl: false, touchVideoPlayerAnimation: false, - customStyleColor: "#00A0D8", + customStyleColor: '#00A0D8', preserveRank: true, blurBackgroundOpacity: 0.382, useDefaultPlayerMode: false, applyPlayerModeOnPlay: true, - defaultPlayerMode: "常规", + defaultPlayerMode: '常规', useDefaultVideoQuality: false, - defaultVideoQuality: "自动", + defaultVideoQuality: '自动', useDefaultDanmakuSettings: false, enableDanmaku: true, rememberDanmakuSettings: false, @@ -183,8 +183,8 @@ const settings = { subtitlesPreserve: false, smartMask: false, }, - defaultPlayerLayout: "新版", - defaultBangumiLayout: "旧版", + defaultPlayerLayout: '新版', + defaultBangumiLayout: '旧版', useDefaultPlayerLayout: false, skipChargeList: false, comboLike: false, @@ -199,10 +199,10 @@ const settings = { framePlayback: true, useCommentStyle: true, imageResolution: false, - imageResolutionScale: "auto", + imageResolutionScale: 'auto', toastInternalError: false, i18n: false, - i18nLanguage: "日本語", + i18nLanguage: '日本語', playerFocus: false, playerFocusOffset: -10, oldTweets: false, @@ -235,13 +235,15 @@ const settings = { hideOldEntry: true, videoScreenshot: false, hideBangumiReviews: false, - filenameFormat: "[title][ - ep]", + filenameFormat: '[title][ - ep]', sideBarOffset: 0, noLiveAutoplay: false, hideHomeLive: false, noMiniVideoAutoplay: false, + useDefaultVideoSpeed: false, + defaultVideoSpeed: 1, cache: {}, -}; +} const fixedSettings = { guiSettings: true, viewCover: true, @@ -256,16 +258,15 @@ const fixedSettings = { forceWide: false, useNewStyle: false, overrideNavBar: false, - latestVersionLink: "https://github.com/the1812/Bilibili-Evolved/raw/preview/bilibili-evolved.preview-offline.user.js", + latestVersionLink: 'https://github.com/the1812/Bilibili-Evolved/raw/preview/bilibili-evolved.preview-offline.user.js', currentVersion: GM_info.script.version, -}; -const settingsChangeHandlers = {}; +} +const settingsChangeHandlers = {} function addSettingsListener (key, handler, initCall) { if (!settingsChangeHandlers[key]) { - settingsChangeHandlers[key] = [handler]; - } - else { - settingsChangeHandlers[key].push(handler); + settingsChangeHandlers[key] = [handler] + } else { + settingsChangeHandlers[key].push(handler) } if (initCall) { const value = settings[key] @@ -273,81 +274,63 @@ function addSettingsListener (key, handler, initCall) { } } function removeSettingsListener (key, handler) { - const handlers = settingsChangeHandlers[key]; + const handlers = settingsChangeHandlers[key] if (!handlers) { - return; + return } - handlers.splice(handlers.indexOf(handler), 1); + handlers.splice(handlers.indexOf(handler), 1) } function loadSettings () { for (const key in fixedSettings) { - settings[key] = fixedSettings[key]; - GM_setValue(key, fixedSettings[key]); + settings[key] = fixedSettings[key] + GM_setValue(key, fixedSettings[key]) } if (Object.keys(languageCodeToName).includes(navigator.language)) { - settings.i18n = true; - settings.i18nLanguage = languageCodeToName[navigator.language]; + settings.i18n = true + settings.i18nLanguage = languageCodeToName[navigator.language] } for (const key in settings) { - let value = GM_getValue(key); + let value = GM_getValue(key) if (value === undefined) { - value = settings[key]; - GM_setValue(key, settings[key]); - } - else if (settings[key] !== undefined && value.constructor === Object) { - value = Object.assign(settings[key], value); + value = settings[key] + GM_setValue(key, settings[key]) + } else if (settings[key] !== undefined && value.constructor === Object) { + value = Object.assign(settings[key], value) } Object.defineProperty(settings, key, { get () { - return value; + return value }, set (newValue) { - value = newValue; - GM_setValue(key, newValue); + value = newValue + GM_setValue(key, newValue) - const handlers = settingsChangeHandlers[key]; + const handlers = settingsChangeHandlers[key] if (handlers) { - if (key === "useDarkStyle") { - setTimeout(() => handlers.forEach(h => h(newValue, value)), 200); - } - else { - handlers.forEach(h => h(newValue, value)); + if (key === 'useDarkStyle') { + setTimeout(() => handlers.forEach(h => h(newValue, value)), 200) + } else { + handlers.forEach(h => h(newValue, value)) } } - const input = document.querySelector(`input[key=${key}]`); + const input = document.querySelector(`input[key=${key}]`) if (input !== null) { - if (input.type === "checkbox") { - input.checked = newValue; - } - else if (input.type === "text" && !input.parentElement.classList.contains("gui-settings-dropdown")) { - input.value = newValue; + if (input.type === 'checkbox') { + input.checked = newValue + } else if (input.type === 'text' && !input.parentElement.classList.contains('gui-settings-dropdown')) { + input.value = newValue } } - }, - }); - // if (settings[key] !== undefined && value.constructor === Object) - // { - // settings[key] = Object.assign(settings[key], value); - // } - // else - // { - // settings[key] = value; - // } + } + }) } } function saveSettings (newSettings) { - // for (const key in settings) - // { - // GM_setValue(key, newSettings[key]); - // } } function onSettingsChange () { - // for (const key in settings) - // { - // GM_addValueChangeListener(key, change); - // } - console.warn("此功能已弃用."); -}; + console.warn('此功能已弃用.') +} +; class Ajax { static send(xhr, body, text = true) @@ -1042,9 +1025,9 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/compact-layout.min.js"] = (()=>{return(t,c)=>{const o=["https://www.bilibili.com/","https://www.bilibili.com/watchlater/#/list","https://www.bilibili.com/ranking"];if(o.includes(location.href.replace(location.search,""))){document.body.classList.add("compact");c.applyImportantStyle("compactLayoutStyle")}return{reload:()=>{if(o.includes(location.href.replace(location.search,""))){document.body.classList.add("compact");c.applyImportantStyle("compactLayoutStyle")}},unload:()=>{document.body.classList.remove("compact");c.removeStyle("compactLayoutStyle")}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.css"] = `.bilibili-player-video-control-mask{background:0 0!important}.bilibili-player-video-control .bilibili-player-video-control-bottom,.bilibili-player-video-control .bui-slider .bui-track.bui-track-video-progress .bui-bar-wrap{background:rgba(0,0,0,var(--custom-control-background-opacity))!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.js"] = (()=>{return(o,t)=>{document.body.style.setProperty("--custom-control-background-opacity",o.customControlBackgroundOpacity);addSettingsListener("customControlBackgroundOpacity",o=>{document.body.style.setProperty("--custom-control-background-opacity",o)});const n=()=>{t.applyStyle("customControlBackgroundStyle");if(!o.touchVideoPlayer){t.applyImportantStyleFromText(`\n \n `)}};n();return{reload:n,unload:()=>{t.removeStyle("customControlBackgroundStyle");const o=document.getElementById("control-background-non-touch");o&&o.remove()}}}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.css"] = `@font-face{font-family:custom-navbar-font;src:url(//s1.hdslb.com/bfs/seed/jinkela/header/asserts/iconfont.ttf) format('truetype')}.custom-navbar-iconfont{color:inherit;font-family:custom-navbar-font!important;font-size:24px;font-style:normal}.custom-navbar-icon-logo::before{content:"\\E725"}body{--navbar-height:50px;--navbar-foreground:#555;--navbar-background:white;--navbar-bounds-padding:0 5%;--navbar-blur-opacity:0.7}.bili-header-m>#banner_link .search,.i_menu_login,body.no-banner #banner_link,body.no-banner .z-top-container.has-banner>.header,li.nav-item[report-id=playpage_dynamic] .i-frame,li.nav-item[report-id=playpage_dynamic] iframe{display:none!important}.bili-header-m>.nav-menu,.z_top{visibility:hidden!important;height:var(--navbar-height)!important}.link-top-container#tab-container{top:var(--navbar-height)!important}.custom-navbar{position:absolute;top:0;left:0;height:var(--navbar-height);width:100%;background-color:var(--navbar-background);color:var(--navbar-foreground);z-index:10001;display:flex;justify-content:center}.custom-navbar:not(.fill) .custom-navbar-iconfont{color:var(--theme-color)}.custom-navbar path{fill:var(--navbar-foreground)}.custom-navbar.fill path{fill:var(--foreground-color-d)}.custom-navbar.shadow{box-shadow:#0002 0 1px 10px 1px}.custom-navbar.dark.shadow{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings.dark,.custom-navbar.dark:not(.fill){--navbar-background:#222;--navbar-foreground:#eee}.custom-navbar .popup{color:#000;background:#fff;transition:.2s ease-out .2s}.custom-navbar.dark .popup{color:#eee;background:#222}.custom-navbar,.custom-navbar *,.custom-navbar-settings,.custom-navbar-settings *{transition:.2s ease-out;-webkit-tap-highlight-color:transparent;outline:0!important;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0;padding-inline-end:0}.custom-navbar.fill{--navbar-background:var(--theme-color);--navbar-foreground:var(--foreground-color-d)}.custom-navbar.fill.shadow{box-shadow:var(--theme-color-30) 0 2px 10px 1px}.custom-navbar>ul{display:flex;align-items:center;justify-content:space-between;margin:var(--navbar-bounds-padding);height:100%;flex-grow:1}.custom-navbar ul{list-style:none;color:inherit}.custom-navbar li{color:inherit;list-style:none}.custom-navbar>ul>li{position:relative;height:100%;display:flex;align-items:center;color:inherit}.custom-navbar li .active-bar{position:absolute;left:0;bottom:0;background-color:var(--theme-color);width:100%;height:3px;display:none}.custom-navbar.fill li .active-bar{background-color:rgba(0,0,0,.3)}.custom-navbar li.active .active-bar{display:flex}.custom-navbar>ul>li.view-border::before{content:"";width:94%;height:94%;border:2px dashed #888a;position:absolute;top:3%;left:3%;box-sizing:border-box}.custom-navbar>ul>li:not(.disabled){cursor:pointer}.custom-navbar>ul>li.disabled a{cursor:default}.custom-navbar>ul>li:not(.disabled):hover{background:rgba(0,0,0,.1)}.custom-navbar .main-content{font-size:10pt;height:100%;display:flex;align-items:center;padding:0 16px;color:var(--navbar-foreground);user-select:none}.custom-navbar .main-content:hover{color:var(--navbar-foreground)!important}.custom-navbar .popup{position:absolute;top:100%;left:50%;padding:16px;box-shadow:rgba(0,0,0,.1) 0 4px 40px 20px;pointer-events:none;opacity:0;transform:translateX(-50%)}.custom-navbar.compact li:not([data-name=userInfo]) .popup{padding:8px}.custom-navbar.dark .popup{box-shadow:rgba(0,0,0,.3) 0 4px 40px 20px}.custom-navbar .popup.no-padding{padding:0}.custom-navbar .popup.transparent{background-color:transparent!important;box-shadow:none}#custom-navbar-home-popup .category-item:hover .popup,.custom-navbar>ul>li:not(.disabled):hover>.popup{pointer-events:initial;opacity:1}.custom-navbar a,.custom-navbar a:hover{color:inherit!important;text-decoration:none}#custom-navbar-home-popup{max-height:80vh;display:flex;flex-direction:column;flex-wrap:wrap;width:350px}@media screen and (min-height:1000px){#custom-navbar-home-popup{flex-wrap:nowrap;width:250px}}#custom-navbar-home-popup .category-item{font-size:12pt;padding:8px 16px;cursor:pointer;position:relative}.custom-navbar.compact #custom-navbar-home-popup .category-item{padding:6px}#custom-navbar-home-popup .category-item:hover{background-color:#0001}#custom-navbar-home-popup .category-item a{display:flex;justify-content:space-between;align-items:center}#custom-navbar-home-popup .category-item svg{width:25px;height:25px;fill:currentColor;margin-right:10px}#custom-navbar-home-popup .category-item div{flex:1 0 auto}#custom-navbar-home-popup .category-item.main{min-width:150px}.custom-navbar.compact #custom-navbar-home-popup .category-item.main{min-width:110px}#custom-navbar-home-popup .category-item .popup{z-index:10002;width:max-content;transform:scaleX(0);transform-origin:left;padding:8px;left:100%;top:0;transition-delay:.3s;pointer-events:initial}#custom-navbar-home-popup .category-item:hover .popup{transform:scaleX(1)}#custom-navbar-home-popup .category-item .popup a,#message-list a,#upload-actions a{padding:8px;display:flex;justify-content:start;border-bottom:2px solid transparent;font-size:11pt;line-height:16pt}.custom-navbar.compact #custom-navbar-home-popup .category-item .popup a{padding:6px}#custom-navbar-home-popup .category-item .popup a:hover,#message-list a:hover,#upload-actions a:hover{border-bottom:2px solid var(--theme-color)}#custom-navbar-home-popup .category-item span{opacity:.5}.im-list-box{border-radius:0!important}#upload-button{padding-left:4px;font-size:12pt;font-weight:700}#message-list,#upload-actions{width:max-content}.custom-navbar form{height:100%;display:flex;align-items:center;position:relative;--submit-button-size:30px;opacity:.4}.custom-navbar.fill form{opacity:.8}.custom-navbar form:focus-within,.custom-navbar form:hover,.custom-navbar.fill form:focus-within,.custom-navbar.fill form:hover{opacity:1}.custom-navbar form input{border:none;height:60%;background:0 0;border-bottom:1.5px solid!important;color:var(--navbar-foreground);box-sizing:border-box;width:250px;padding-right:var(--submit-button-size);padding-left:4px}.custom-navbar form input:focus{border-bottom-color:var(--navbar-foreground)!important;outline:0!important}.custom-navbar form button[type=submit]{background:0 0;border:none;padding:4px;cursor:pointer;height:var(--submit-button-size);width:var(--submit-button-size);position:absolute;right:0;top:50%;transform:translateY(-50%)}.custom-navbar form input[type=text]::placeholder{color:var(--navbar-foreground)!important;opacity:.9}.custom-navbar .user-face-container{position:relative;height:calc(var(--navbar-height) - 16px);width:calc(var(--navbar-height) - 16px)}.custom-navbar .user-face,.custom-navbar .user-pendant{position:absolute;width:100%;height:100%}.custom-navbar .user-face{background-color:transparent;background-size:contain;border-radius:50%}.custom-navbar .user-pendant{background-color:transparent;background-size:cover;width:170%;height:170%;top:-12px;left:-12px;opacity:0;pointer-events:none}.user-info-panel{width:240px;font-size:12px}.user-info-panel>*{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:300px}.user-info-panel .not-logged-in{height:auto;margin-top:40px;flex-direction:row;justify-content:space-evenly}.user-info-panel .row{display:flex;justify-content:space-between;align-items:center;width:100%;position:relative}.user-info-panel .name{font-size:14pt;margin-top:40px;color:inherit}.user-info-panel .name:hover{color:var(--theme-color)}.user-info-panel .type{padding:4px;background:var(--theme-color)!important;color:var(--foreground-color)!important;margin-bottom:8px}.user-info-panel .b-coins,.user-info-panel .coins,.user-info-panel .coins-container,.user-info-panel .verifications{display:flex;justify-content:center;align-items:center;flex:1 0 50%}.user-info-panel .coins-container,.user-info-panel .verifications{justify-content:space-evenly}.user-info-panel .coins-container>a{margin:4px 0}.user-info-panel .coins-container{flex-direction:column;align-items:start;padding-left:10px}.user-info-panel .verifications a{border:1px solid var(--navbar-foreground);border-radius:50%;width:24px;height:24px;display:flex;justify-content:center;align-items:center}.user-info-panel .verifications a.verified{border-color:var(--theme-color)}.user-info-panel .verifications i{opacity:.6;font-size:16px}.user-info-panel .verifications a.verified i{opacity:1;color:var(--theme-color)}.user-info-panel .b-coins::before,.user-info-panel .coins::before{content:attr(title);color:var(--theme-color);margin-right:4px}.user-info-panel .level,.user-info-panel .level:hover{color:var(--theme-color)}.custom-navbar .level strong{font-size:14pt;font-weight:400;margin-left:2px}.user-info-panel .level,.user-info-panel .level-progress-label{margin-bottom:8px}.user-info-panel .level-progress{width:100%;height:2px;background-color:#8884;position:absolute;bottom:0;left:0}.user-info-panel .level-progress-thumb{width:100%;height:100%;transform-origin:left;background-color:var(--theme-color)}.user-info-panel .row.operations{transform:translateX(5%)}.user-info-panel .operations a{display:flex;justify-content:start;align-items:center;flex:1 0 50%}.user-info-panel .operations a:hover,.user-info-panel .operations a:hover i{color:var(--theme-color)!important}.user-info-panel .operations i{font-size:16px;margin-right:4px}.custom-navbar .not-logged-in .login,.custom-navbar .not-logged-in .sign-up{padding:8px 16px}.custom-navbar .not-logged-in .login,.custom-navbar .not-logged-in .login:hover{background-color:var(--theme-color);color:var(--foreground-color)}.custom-navbar .not-logged-in .sign-up,.custom-navbar .not-logged-in .sign-up:hover{background-color:#8884}.custom-navbar li:hover .user-face,.custom-navbar li:hover .user-pendant{transform:scale(2) translateY(10px);z-index:100;opacity:1}.custom-navbar .video-list{width:280px;font-size:12px}.custom-navbar .video-list li:not(.more){border-left:2px solid var(--theme-color-30)}.custom-navbar .video-list li:not(.more) a{padding:6px 16px;margin:6px 0;box-sizing:border-box;transition:.2s ease-out .1s;display:block;width:100%;height:100%;line-height:1.5}.custom-navbar.compact .video-list li:not(.more) a{padding:6px 8px}.custom-navbar .video-list li:hover{background:rgba(0,0,0,.1);border-color:var(--theme-color)}.custom-navbar .video-list li.more{border-bottom:2px solid transparent}.custom-navbar .video-list li.more a{width:100%;padding:8px 0;display:flex;justify-content:center}.custom-navbar.compact .video-list li.more a{padding:6px 0}.custom-navbar .video-list li.more:hover{border-color:var(--theme-color)}.custom-navbar .video-list .loading{display:flex;justify-content:center;border-color:transparent!important}.custom-navbar .video-list.loaded .loading{display:none}.custom-navbar .video-list.history .history-item{border:none!important}.custom-navbar.compact .video-list li:not(.more) a,.custom-navbar.compact .video-list.history .history-item .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.custom-navbar .video-list.history li:not(.more) a{justify-content:space-between;position:relative;display:flex;padding:6px 8px!important}.custom-navbar.compact .video-list.history li:not(.more) a{padding:6px!important}.custom-navbar .video-list.history a .description{opacity:.6;margin-left:4px;white-space:nowrap}.custom-navbar .video-list.history a .progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background-color:var(--theme-color);transform-origin:left;opacity:.3}.custom-navbar .video-list.history a:hover .progress{opacity:1}.custom-navbar .notify-count{position:absolute;left:50%;top:0;background-color:var(--theme-color);color:var(--foreground-color);padding:0 8px;display:flex;justify-content:center;font-size:11px;transform:translateX(-50%);border-radius:0 0 8px 8px;opacity:0;line-height:14px}.custom-navbar.fill .notify-count{background-color:rgba(0,0,0,.3)}.custom-navbar .notify-count:not(:empty){opacity:1}#message-list a{position:relative}#message-list a[data-count]::after{content:attr(data-count);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:var(--theme-color);padding:0 10px;display:flex;justify-content:center;font-size:11pt;border-radius:6px}.custom-navbar-settings{display:flex;flex-direction:column;pointer-events:none;opacity:0;width:370px;position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);z-index:10001;background:var(--navbar-background);padding-top:16px;box-shadow:#0002 0 1px 10px 1px;font-size:16px;line-height:1.5}.custom-navbar-settings.dark{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings h1{color:var(--navbar-foreground);font-size:16pt;font-weight:700}.custom-navbar-settings.show{pointer-events:initial;opacity:1}.custom-navbar-settings .header,.custom-navbar-settings .orders{display:flex;justify-content:space-between;align-items:center}.custom-navbar-settings .header{padding:0 24px;font-size:9pt}.custom-navbar-settings .header .header-blank,.custom-navbar-settings .orders{flex-grow:1}.custom-navbar-settings .order-list{padding:0 24px;max-height:60vh;overflow:auto;overscroll-behavior:contain;list-style:none;width:100%;margin:16px 0}.custom-navbar-settings button{border:none;background-color:transparent;color:var(--navbar-foreground);padding:8px;cursor:pointer;font-size:14pt}.custom-navbar-settings button:hover{color:var(--theme-color)}.custom-navbar-settings .order-list li .mdi-menu{padding:8px}.custom-navbar-settings .order-list i{font-size:14pt}.custom-navbar-settings .order-list i.mdi-menu{cursor:move}.custom-navbar-settings .order-list li{color:var(--navbar-foreground);font-size:12pt;display:flex!important;justify-content:space-between;align-items:center;user-select:none;transition:opacity .2s ease-out}.custom-navbar-settings .order-list li.hidden{opacity:.5}.custom-navbar-settings .paddings{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;color:var(--navbar-foreground)}.custom-navbar-settings .paddings span{min-width:40px}.custom-navbar-settings .paddings input{flex-grow:1;margin-right:16px;-webkit-appearance:none;background:0 0;width:100%}.custom-navbar-settings .paddings input::-webkit-slider-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none;transform:translateY(-7px)}.custom-navbar-settings .paddings input::-moz-range-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none}.custom-navbar-settings .paddings input::-webkit-slider-runnable-track{width:100%;background:#8884;height:4px}.custom-navbar-settings .paddings input::-moz-range-track{width:100%;background:#8884;height:4px}.custom-navbar .blur-layer-container{overflow:hidden;display:none;width:100%;height:100%;position:absolute;top:0;left:0}.custom-navbar.blur .blur-layer-container{display:flex}.custom-navbar .blur-layer{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;filter:blur(36px);opacity:var(--navbar-blur-opacity)}.custom-navbar .blur-layer.left-pad{position:absolute;left:0;top:0;transform:translateX(-100%) scaleX(-1);width:100%;height:100%}.custom-navbar .blur-layer.right-pad{position:absolute;left:0;top:0;transform:translateX(100%) scaleX(-1);width:100%;height:100%}.custom-navbar.dark .blur-layer{filter:blur(54px)}body.all-navbar-fill .link-navbar,body.all-navbar-fill .link-navbar .main-ctnr .nav-items-ctnr,body.all-navbar-fill .nav-header-wrapper{background-color:var(--theme-color)!important}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo:before,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher.open-btn,body.all-navbar-fill .link-navbar .nav-item:first-child:before,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-logo,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-tv-icon,body.all-navbar-fill .nav-header-wrapper .nav-header .search-icon{filter:brightness(0) invert(1)!important;opacity:.8666666}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i:hover,body.all-navbar-fill .link-navbar .nav-item .label,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover,body.all-navbar-fill .link-navbar.black .my-link-btn .label,body.all-navbar-fill .my-link-btn,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-mainsite,body.all-navbar-fill .nav-header-wrapper .nav-header .order-center,body.all-navbar-fill .search-bar-ctnr .search-bar .placeholder,body.all-navbar-fill .search-bar-ctnr .search-bar .search-btn,body.all-navbar-fill .shortcuts-ctnr .shortcut-item,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover{color:var(--foreground-color-d)!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{color:#fff!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{opacity:.7!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{box-shadow:0 1px 4px 0 #0004}body.all-navbar-fill .link-navbar .nav-item:hover,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover:after,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{background-color:transparent!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar{border-color:transparent!important}body.all-navbar-fill .link-navbar .publish-btn{background-image:none!important;box-shadow:none!important}body.all-navbar-fill .link-navbar .my-link-btn .label:hover,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill :not(.app-ctnr) .link-navbar .nav-item:hover{background-color:transparent!important}body.all-navbar-fill .link-navbar .nav-item,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item{transition:.2s ease-out}@media screen and (max-width:1400px){.custom-navbar .main-content{padding:0 10px}}@media screen and (max-width:1300px){.custom-navbar .main-content{padding:0 8px}.custom-navbar form input{width:200px}}`; +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.css"] = `@font-face{font-family:custom-navbar-font;src:url(//s1.hdslb.com/bfs/seed/jinkela/header/asserts/iconfont.ttf) format('truetype')}.custom-navbar-iconfont{color:inherit;font-family:custom-navbar-font!important;font-size:24px;font-style:normal}.custom-navbar-icon-logo::before{content:"\\E725"}body{--navbar-height:50px;--navbar-foreground:#555;--navbar-background:white;--navbar-bounds-padding:0 5%;--navbar-blur-opacity:0.7}.bili-header-m>#banner_link .search,.i_menu_login,body.no-banner #banner_link,body.no-banner .z-top-container.has-banner>.header,li.nav-item[report-id=playpage_dynamic] .i-frame,li.nav-item[report-id=playpage_dynamic] iframe{display:none!important}.bili-header-m>.nav-menu,.z_top{visibility:hidden!important;height:var(--navbar-height)!important}.link-top-container#tab-container{top:var(--navbar-height)!important}.custom-navbar{position:absolute;top:0;left:0;height:var(--navbar-height);width:100%;background-color:var(--navbar-background);color:var(--navbar-foreground);z-index:10001;display:flex;justify-content:center}.custom-navbar:not(.fill) .custom-navbar-iconfont{color:var(--theme-color)}.custom-navbar path{fill:var(--navbar-foreground)}.custom-navbar.fill path{fill:var(--foreground-color-d)}.custom-navbar.shadow{box-shadow:#0002 0 1px 10px 1px}.custom-navbar.dark.shadow{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings.dark,.custom-navbar.dark:not(.fill){--navbar-background:#222;--navbar-foreground:#eee}.custom-navbar .popup{color:#000;background:#fff;transition:.2s ease-out .2s}.custom-navbar.dark .popup{color:#eee;background:#222}.custom-navbar,.custom-navbar *,.custom-navbar-settings,.custom-navbar-settings *{transition:.2s ease-out;-webkit-tap-highlight-color:transparent;outline:0!important;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0;padding-inline-end:0}.custom-navbar.fill{--navbar-background:var(--theme-color);--navbar-foreground:var(--foreground-color-d)}.custom-navbar.fill.shadow{box-shadow:var(--theme-color-30) 0 2px 10px 1px}.custom-navbar>ul{display:flex;align-items:center;justify-content:space-between;margin:var(--navbar-bounds-padding);height:100%;flex-grow:1}.custom-navbar ul{list-style:none;color:inherit}.custom-navbar li{color:inherit;list-style:none}.custom-navbar>ul>li{position:relative;height:100%;display:flex;align-items:center;color:inherit}.custom-navbar li .active-bar{position:absolute;left:0;bottom:0;background-color:var(--theme-color);width:100%;height:3px;display:none}.custom-navbar.fill li .active-bar{background-color:rgba(0,0,0,.3)}.custom-navbar li.active .active-bar{display:flex}.custom-navbar>ul>li.view-border::before{content:"";width:94%;height:94%;border:2px dashed #888a;position:absolute;top:3%;left:3%;box-sizing:border-box}.custom-navbar>ul>li:not(.disabled){cursor:pointer}.custom-navbar>ul>li.disabled a{cursor:default}.custom-navbar>ul>li:not(.disabled):hover{background:rgba(0,0,0,.1)}.custom-navbar .main-content{font-size:10pt;height:100%;display:flex;align-items:center;padding:0 16px;color:var(--navbar-foreground);user-select:none}.custom-navbar .main-content:hover{color:var(--navbar-foreground)!important}.custom-navbar .popup{position:absolute;top:100%;left:50%;padding:16px;box-shadow:rgba(0,0,0,.1) 0 4px 40px 20px;pointer-events:none;opacity:0;transform:translateX(-50%)}.custom-navbar.compact li:not([data-name=userInfo]) .popup{padding:8px}.custom-navbar.dark .popup{box-shadow:rgba(0,0,0,.3) 0 4px 40px 20px}.custom-navbar .popup.no-padding{padding:0}.custom-navbar .popup.transparent{background-color:transparent!important;box-shadow:none}#custom-navbar-home-popup .category-item:hover .popup,.custom-navbar>ul>li:not(.disabled):hover>.popup{pointer-events:initial;opacity:1}.custom-navbar a,.custom-navbar a:hover{color:inherit!important;text-decoration:none}#custom-navbar-home-popup{max-height:80vh;display:flex;flex-direction:column;flex-wrap:wrap;width:350px}@media screen and (min-height:1000px){#custom-navbar-home-popup{flex-wrap:nowrap;width:250px}}#custom-navbar-home-popup .category-item{font-size:12pt;padding:8px 16px;cursor:pointer;position:relative}.custom-navbar.compact #custom-navbar-home-popup .category-item{padding:6px}#custom-navbar-home-popup .category-item:hover{background-color:#0001}#custom-navbar-home-popup .category-item a{display:flex;justify-content:space-between;align-items:center}#custom-navbar-home-popup .category-item svg{width:25px;height:25px;fill:currentColor;margin-right:10px}#custom-navbar-home-popup .category-item div{flex:1 0 auto}#custom-navbar-home-popup .category-item.main{min-width:150px}.custom-navbar.compact #custom-navbar-home-popup .category-item.main{min-width:110px}#custom-navbar-home-popup .category-item .popup{z-index:10002;width:max-content;transform:scaleX(0);transform-origin:left;padding:8px;left:100%;top:0;transition-delay:.3s;pointer-events:initial}#custom-navbar-home-popup .category-item:hover .popup{transform:scaleX(1)}#custom-navbar-home-popup .category-item .popup a,#message-list a,#upload-actions a{padding:8px;display:flex;justify-content:start;border-bottom:2px solid transparent;font-size:11pt;line-height:16pt}.custom-navbar.compact #custom-navbar-home-popup .category-item .popup a{padding:6px}#custom-navbar-home-popup .category-item .popup a:hover,#message-list a:hover,#upload-actions a:hover{border-bottom:2px solid var(--theme-color)}#custom-navbar-home-popup .category-item span{opacity:.5}.im-list-box{border-radius:0!important}#upload-button{padding-left:4px;font-size:12pt;font-weight:700}#message-list,#upload-actions{width:max-content}.custom-navbar form{height:100%;display:flex;align-items:center;position:relative;--submit-button-size:30px;opacity:.4}.custom-navbar.fill form{opacity:.8}.custom-navbar form:focus-within,.custom-navbar form:hover,.custom-navbar.fill form:focus-within,.custom-navbar.fill form:hover{opacity:1}.custom-navbar form input{border:none;height:60%;background:0 0;border-bottom:1.5px solid!important;color:var(--navbar-foreground);box-sizing:border-box;width:250px;padding-right:var(--submit-button-size);padding-left:4px}.custom-navbar form input:focus{border-bottom-color:var(--navbar-foreground)!important;outline:0!important}.custom-navbar form button[type=submit]{background:0 0;border:none;padding:4px;cursor:pointer;height:var(--submit-button-size);width:var(--submit-button-size);position:absolute;right:0;top:50%;transform:translateY(-50%)}.custom-navbar form input[type=text]::placeholder{color:var(--navbar-foreground)!important;opacity:.9}.custom-navbar .user-face-container{position:relative;height:calc(var(--navbar-height) - 16px);width:calc(var(--navbar-height) - 16px)}.custom-navbar .user-face,.custom-navbar .user-pendant{position:absolute;width:100%;height:100%}.custom-navbar .user-face{background-color:transparent;background-size:contain;border-radius:50%}.custom-navbar .user-pendant{background-color:transparent;background-size:cover;width:170%;height:170%;top:-12px;left:-12px;opacity:0;pointer-events:none}.user-info-panel{width:240px;font-size:12px}.user-info-panel .welcome{font-size:16px;font-weight:700;margin:46px 0 16px;text-align:center}.user-info-panel .grey-button,.user-info-panel .theme-button{align-self:stretch;height:36px;display:flex;align-items:center;justify-content:center}.user-info-panel .grey-button{background:#ededed}.custom-navbar.dark .user-info-panel .grey-button{background:#444}.user-info-panel .theme-button{background:var(--theme-color);color:var(--foreground-color)}.custom-navbar li:hover .user-face,.custom-navbar li:hover .user-pendant{transform:scale(2) translateY(10px);z-index:100;opacity:1}.custom-navbar .video-list{width:280px;font-size:12px}.custom-navbar .video-list li:not(.more){border-left:2px solid var(--theme-color-30)}.custom-navbar .video-list li:not(.more) a{padding:6px 16px;margin:6px 0;box-sizing:border-box;transition:.2s ease-out .1s;display:block;width:100%;height:100%;line-height:1.5}.custom-navbar.compact .video-list li:not(.more) a{padding:6px 8px}.custom-navbar .video-list li:hover{background:rgba(0,0,0,.1);border-color:var(--theme-color)}.custom-navbar .video-list li.more{border-bottom:2px solid transparent}.custom-navbar .video-list li.more a{width:100%;padding:8px 0;display:flex;justify-content:center}.custom-navbar.compact .video-list li.more a{padding:6px 0}.custom-navbar .video-list li.more:hover{border-color:var(--theme-color)}.custom-navbar .video-list .loading{display:flex;justify-content:center;border-color:transparent!important}.custom-navbar .video-list.loaded .loading{display:none}.custom-navbar .video-list.history .history-item{border:none!important}.custom-navbar.compact .video-list li:not(.more) a,.custom-navbar.compact .video-list.history .history-item .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.custom-navbar .video-list.history li:not(.more) a{justify-content:space-between;position:relative;display:flex;padding:6px 8px!important}.custom-navbar.compact .video-list.history li:not(.more) a{padding:6px!important}.custom-navbar .video-list.history a .description{opacity:.6;margin-left:4px;white-space:nowrap}.custom-navbar .video-list.history a .progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background-color:var(--theme-color);transform-origin:left;opacity:.3}.custom-navbar .video-list.history a:hover .progress{opacity:1}.custom-navbar .notify-count{position:absolute;left:50%;top:0;background-color:var(--theme-color);color:var(--foreground-color);padding:0 8px;display:flex;justify-content:center;font-size:11px;transform:translateX(-50%);border-radius:0 0 8px 8px;opacity:0;line-height:14px}.custom-navbar.fill .notify-count{background-color:rgba(0,0,0,.3)}.custom-navbar .notify-count:not(:empty){opacity:1}#message-list a{position:relative}#message-list a[data-count]::after{content:attr(data-count);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:var(--theme-color);padding:0 10px;display:flex;justify-content:center;font-size:11pt;border-radius:6px}.custom-navbar-settings{display:flex;flex-direction:column;pointer-events:none;opacity:0;width:370px;position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);z-index:10001;background:var(--navbar-background);padding-top:16px;box-shadow:#0002 0 1px 10px 1px;font-size:16px;line-height:1.5}.custom-navbar-settings.dark{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings h1{color:var(--navbar-foreground);font-size:16pt;font-weight:700}.custom-navbar-settings.show{pointer-events:initial;opacity:1}.custom-navbar-settings .header,.custom-navbar-settings .orders{display:flex;justify-content:space-between;align-items:center}.custom-navbar-settings .header{padding:0 24px;font-size:9pt}.custom-navbar-settings .header .header-blank,.custom-navbar-settings .orders{flex-grow:1}.custom-navbar-settings .order-list{padding:0 24px;max-height:60vh;overflow:auto;overscroll-behavior:contain;list-style:none;width:100%;margin:16px 0}.custom-navbar-settings button{border:none;background-color:transparent;color:var(--navbar-foreground);padding:8px;cursor:pointer;font-size:14pt}.custom-navbar-settings button:hover{color:var(--theme-color)}.custom-navbar-settings .order-list li .mdi-menu{padding:8px}.custom-navbar-settings .order-list i{font-size:14pt}.custom-navbar-settings .order-list i.mdi-menu{cursor:move}.custom-navbar-settings .order-list li{color:var(--navbar-foreground);font-size:12pt;display:flex!important;justify-content:space-between;align-items:center;user-select:none;transition:opacity .2s ease-out}.custom-navbar-settings .order-list li.hidden{opacity:.5}.custom-navbar-settings .paddings{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;color:var(--navbar-foreground)}.custom-navbar-settings .paddings span{min-width:40px}.custom-navbar-settings .paddings input{flex-grow:1;margin-right:16px;-webkit-appearance:none;background:0 0;width:100%}.custom-navbar-settings .paddings input::-webkit-slider-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none;transform:translateY(-7px)}.custom-navbar-settings .paddings input::-moz-range-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none}.custom-navbar-settings .paddings input::-webkit-slider-runnable-track{width:100%;background:#8884;height:4px}.custom-navbar-settings .paddings input::-moz-range-track{width:100%;background:#8884;height:4px}.custom-navbar .blur-layer-container{overflow:hidden;display:none;width:100%;height:100%;position:absolute;top:0;left:0}.custom-navbar.blur .blur-layer-container{display:flex}.custom-navbar .blur-layer{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;filter:blur(36px);opacity:var(--navbar-blur-opacity)}.custom-navbar .blur-layer.left-pad{position:absolute;left:0;top:0;transform:translateX(-100%) scaleX(-1);width:100%;height:100%}.custom-navbar .blur-layer.right-pad{position:absolute;left:0;top:0;transform:translateX(100%) scaleX(-1);width:100%;height:100%}.custom-navbar.dark .blur-layer{filter:blur(54px)}body.all-navbar-fill .link-navbar,body.all-navbar-fill .link-navbar .main-ctnr .nav-items-ctnr,body.all-navbar-fill .nav-header-wrapper{background-color:var(--theme-color)!important}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo:before,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher.open-btn,body.all-navbar-fill .link-navbar .nav-item:first-child:before,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-logo,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-tv-icon,body.all-navbar-fill .nav-header-wrapper .nav-header .search-icon{filter:brightness(0) invert(1)!important;opacity:.8666666}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i:hover,body.all-navbar-fill .link-navbar .nav-item .label,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover,body.all-navbar-fill .link-navbar.black .my-link-btn .label,body.all-navbar-fill .my-link-btn,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-mainsite,body.all-navbar-fill .nav-header-wrapper .nav-header .order-center,body.all-navbar-fill .search-bar-ctnr .search-bar .placeholder,body.all-navbar-fill .search-bar-ctnr .search-bar .search-btn,body.all-navbar-fill .shortcuts-ctnr .shortcut-item,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover{color:var(--foreground-color-d)!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{color:#fff!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{opacity:.7!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{box-shadow:0 1px 4px 0 #0004}body.all-navbar-fill .link-navbar .nav-item:hover,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover:after,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{background-color:transparent!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar{border-color:transparent!important}body.all-navbar-fill .link-navbar .publish-btn{background-image:none!important;box-shadow:none!important}body.all-navbar-fill .link-navbar .my-link-btn .label:hover,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill :not(.app-ctnr) .link-navbar .nav-item:hover{background-color:transparent!important}body.all-navbar-fill .link-navbar .nav-item,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item{transition:.2s ease-out}@media screen and (max-width:1400px){.custom-navbar .main-content{padding:0 10px}}@media screen and (max-width:1300px){.custom-navbar .main-content{padding:0 8px}.custom-navbar form input{width:200px}}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.html"] = `

    顶栏布局

    边缘间距: 设定两侧边缘处的间距, 单位为百分比, 100%为整个顶栏的宽度. 允许设置的范围为 0% ~ 40%
    {{boundsPadding}}%
    顺序与显示: 在左侧的条状图标上拖动可以改变它们的顺序, 或者按住名字一会再拖动也可以调顺序. 点击右侧的眼睛图标可以显示/隐藏它们.
    `; -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.js"] = (()=>{return(i,t)=>{if(isIframe()){return}document.body.style.setProperty("--navbar-bounds-padding",`0 ${i.customNavbarBoundsPadding}%`);document.body.style.setProperty("--navbar-blur-opacity",i.customNavbarBlurOpacity||.7);addSettingsListener("customNavbarBlurOpacity",i=>{document.body.style.setProperty("--navbar-blur-opacity",i)});let e=true;const s={widget:{content:`\n
    \n \n 顶栏布局\n
    `,condition:()=>e,success:async()=>{await SpinQuery.select(".custom-navbar-settings");await t.importAsync("slip");const{debounce:e}=await t.importAsync("debounce");const s=document.querySelector("#custom-navbar-settings");s.addEventListener("click",async()=>{const i=await SpinQuery.select(".custom-navbar-settings");if(i){i.classList.toggle("show");document.querySelector(".gui-settings-mask").click()}});s.addEventListener("mouseover",()=>{const t={blank1:"弹性空白1",logo:"Logo",category:"主站",rankingLink:"排行",drawingLink:"相簿",musicLink:"音频",gamesIframe:"游戏中心",livesIframe:"直播",shopLink:"会员购",mangaLink:"漫画",blank2:"弹性空白2",search:"搜索框",userInfo:"用户信息",messages:"消息",activities:"动态",watchlaterList:"稍后再看",favoritesList:"收藏",historyList:"历史",upload:"投稿入口",blank3:"弹性空白3"};Vue.component("order-item",{props:["item"],template:`\n
  • \n \n {{item.displayName}}\n \n
  • \n `,methods:{hidden(){return i.customNavbarHidden.includes(this.item.name)},viewBorder(i){const t=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(t!==null){t.classList[i?"add":"remove"]("view-border")}},toggleHidden(){const t=this.hidden();if(t===false){i.customNavbarHidden.push(this.item.name);i.customNavbarHidden=i.customNavbarHidden}else{const t=i.customNavbarHidden.indexOf(this.item.name);if(t===-1){return}i.customNavbarHidden.splice(t,1);i.customNavbarHidden=i.customNavbarHidden}this.$forceUpdate();const e=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(e!==null){e.style.display=t?"flex":"none"}}}});const s=e(t=>{i.customNavbarBoundsPadding=t;document.body.style.setProperty("--navbar-bounds-padding",`0 ${t}%`)},200);new Vue({el:".custom-navbar-settings",mounted(){const t=document.querySelector(".custom-navbar-settings .order-list");const e=({sourceItem:e,targetItem:s,orderBefore:a,orderAfter:n})=>{if(a===n){return}const l=Object.entries(i.customNavbarOrder);const o=l.sort((i,t)=>i[1]-t[1]).map(i=>i[0]);if(a=n;t--){const e=o[t];i.customNavbarOrder[e]=t+1;document.querySelector(`.custom-navbar li[data-name='${e}']`).style.order=t+1}}i.customNavbarOrder[o[a]]=n;document.querySelector(`.custom-navbar li[data-name='${o[a]}']`).style.order=n;i.customNavbarOrder=i.customNavbarOrder;t.insertBefore(e,s)};new Slip(t);t.addEventListener("slip:beforewait",i=>{if(i.target.classList.contains("mdi-menu")){i.preventDefault()}},false);t.addEventListener("slip:beforeswipe",i=>i.preventDefault(),false);t.addEventListener("slip:reorder",i=>{e({sourceItem:i.target,targetItem:i.detail.insertBefore,orderBefore:i.detail.originalIndex,orderAfter:i.detail.spliceIndex});return false},false)},computed:{orderList(){const e=Object.entries(i.customNavbarOrder);return e.sort((i,t)=>i[1]-t[1]).map(i=>{return{displayName:t[i[0]],name:i[0],order:i[1]}})}},data:{boundsPadding:i.customNavbarBoundsPadding},watch:{boundsPadding(i){s(i)}},methods:{close(){document.querySelector(".custom-navbar-settings").classList.remove("show")},restoreDefault(){if(typeof customNavbarDefaultOrders==="undefined"){Toast.error("未找到默认值设定, 请更新您的脚本.");return}if(confirm("确定要恢复默认顶栏布局吗? 恢复后页面将刷新.")){this.boundsPadding=5;i.customNavbarOrder=customNavbarDefaultOrders;location.reload()}}}})},{once:true})}},unload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="none");t.removeStyle("customNavbarStyle")},reload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="flex");t.applyImportantStyle("customNavbarStyle")}};const a=(i,t,e)=>{e.classList[t?"add":"remove"](i)};const n=i=>{document.querySelector(".custom-navbar").classList[i?"add":"remove"]("dark");document.querySelector(".custom-navbar-settings").classList[i?"add":"remove"]("dark")};addSettingsListener("allNavbarFill",i=>a("all-navbar-fill",i,document.body));a("all-navbar-fill",i.allNavbarFill,document.body);const l=["/www.bilibili.com","/t.bilibili.com","/search.bilibili.com","/space.bilibili.com","/account.bilibili.com","/pay.bilibili.com","/member.bilibili.com","/big.bilibili.com","/message.bilibili.com","/app.bilibili.com","/passport.bilibili.com"];const o=["/t.bilibili.com/lottery/h5/index/#/result","/member.bilibili.com/video/upload"];if(!l.some(i=>document.URL.includes(i))||o.some(i=>document.URL.includes(i))){e=false;return s}let r={};let c={};class m{constructor(){this.html=``;this.popupHtml=``;this.flex=`0 0 auto`;this.disabled=false;this.requestedPopup=false;this.onPopup=null;this.href=null;this.notifyCount=0;this.touch=i.touchNavBar;this.active=false}get name(){return"undefined"}get order(){return i.customNavbarOrder[this.name]}get hidden(){return i.customNavbarHidden.includes(this.name)}}class b extends m{constructor(i){super();this.number=i;this.flex="1 0 auto";this.disabled=true}get name(){return"blank"+this.number}}class u extends m{constructor(){super();this.href=`https://www.bilibili.com/`;this.html=``;this.touch=false}get name(){return"logo"}}class d extends m{constructor(i,t,e){super();this.linkName=e;this.html=i;this.href=t;this.touch=false;this.active=document.URL.startsWith(t)}get name(){return this.linkName+"Link"}}class p extends m{constructor(){super();this.href="https://member.bilibili.com/v2#/upload/video/frame";this.html=`\n \n \n \n
    投稿
    `;this.popupHtml=`\n \n `}get name(){return"upload"}}class h extends m{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n \n `;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.init()}get name(){return"messages"}async init(){const i=await Ajax.getJsonWithCredentials("https://message.bilibili.com/api/notify/query.notify.count.do");const t=await SpinQuery.select("#message-list");const e=[...t.querySelectorAll("a[data-name]")];const s=e.map(i=>i.getAttribute("data-name"));if(i.code!==0){return}const a=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);let n=s.reduce((t,e)=>t+i.data[e],0);if(!n){return}a.innerHTML=n;s.forEach((t,s)=>{const a=i.data[t];if(a>0){e[s].setAttribute("data-count",a)}else{e[s].removeAttribute("data-count")}});e.forEach(i=>{i.addEventListener("click",()=>{const t=i.getAttribute("data-count");i.removeAttribute("data-count");n-=t;a.innerHTML=n||""})})}}class w extends m{constructor(){super();this.html=`主站`;this.requestedPopup=true;this.popupHtml=`\n \n `;this.getOnlineInfo().then(i=>{new Vue({el:"#custom-navbar-home-popup",data:{info:Object.entries(i)}})})}get name(){return"category"}async getOnlineInfo(){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"话题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}}}class v extends m{constructor(){super();this.href="https://space.bilibili.com";this.html=`\n
    \n \n \n
    \n `;this.popupHtml=`\n \n `;this.requestedPopup=true;this.init()}get name(){return"userInfo"}async init(){const i=await SpinQuery.select(".custom-navbar .user-info-panel");new Vue({el:i,data:{...r},computed:{userType(){if(!this.isLogin){return"未登录"}if(this.level_info.current_level===0){return"注册会员"}if(this.vipStatus===1){if(this.vipType===1){return this.vip_theme_type?"小会员":"大会员"}else if(this.vipType===2){return this.vip_theme_type?"年度小会员":"年度大会员"}}return"正式会员"},levelProgressStyle(){const i=(this.level_info.next_exp-this.level_info.current_exp)/(this.level_info.next_exp-this.level_info.current_min);return{transform:`scaleX(${i})`}}}});const t=await SpinQuery.select(".custom-navbar .user-face-container .user-face");if(r.isLogin){const i=r.face.replace("http","https");const e=68;const s=[1,1.25,1.5,1.75,2,2.25,2.5,2.75,3,3.25,3.5,3.75,4];t.setAttribute("srcset",s.map(t=>{return`${i}@${parseInt(e*t)}w_${parseInt(e*t)}h.jpg ${t}x`}).join(","));if(r.pendant.image){const i=await SpinQuery.select(".custom-navbar .user-face-container .user-pendant");const t=r.pendant.image.replace("http","https");const e=116;i.setAttribute("srcset",s.reduce((i,s)=>{return i+`, ${t}@${parseInt(e*s)}w_${parseInt(e*s)}h.png ${s}x`},""))}}else{t.setAttribute("src","https://static.hdslb.com/images/akari.jpg")}}}class g extends m{constructor(){super();this.disabled=true;this.html=`\n \n `;this.init()}async init(){const t=await SpinQuery.select("#custom-navbar-search");const e=t.querySelector("input[name='keyword']");t.addEventListener("submit",s=>{if(e.value===""){if(!i.hideTopSearch){t.querySelector(".recommended-target").click()}s.preventDefault();return false}return true});if(!i.hideTopSearch){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/search/default");if(i.code===0){e.setAttribute("placeholder",i.data.show_name);if(i.data.name.startsWith("av")){t.querySelector(".recommended-target").setAttribute("href",`https://www.bilibili.com/${i.data.name}`)}else{t.querySelector(".recommended-target").setAttribute("href",`https://search.bilibili.com/all?keyword=${i.data.name}`)}}else{console.error("[自定义顶栏] 获取搜索推荐词失败")}}}get name(){return"search"}}class f extends m{constructor(i,t,{src:e,width:s,height:a,lazy:n,iframeName:l}){super();this.iframeName=l;this.html=i;this.href=t;this.popupHtml=`\n \n `;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}class y extends f{constructor(...t){super(...t);this.touch=i.touchNavBar;this.getNotifyCount()}getApiUrl(){return null}getCount(){return 0}async getNotifyCount(){const i=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);const t=await Ajax.getJsonWithCredentials(this.getApiUrl());const e=this.getCount(t);if(t.code===0&&e){i.innerHTML=e;this.onPopup=(()=>{i.innerHTML=""})}}}class k extends y{constructor(){super("动态",i.oldTweets?"https://www.bilibili.com/account/dynamic":"https://t.bilibili.com/",{src:`https://t.bilibili.com/pages/nav/index`,width:`380px`,height:`422px`,lazy:true});this.active=document.URL.replace(/\?.*$/,"")==="https://t.bilibili.com/"}getApiUrl(){const i=document.cookie.replace(new RegExp(`(?:(?:^|.*;\\s*)bp_t_offset_${r.mid}\\s*\\=\\s*([^;]*).*$)|^.*$`),"$1");return`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${r.mid}&update_num_dy_id=${i}&type_list=8,512,64`}getCount(i){return i.data.update_num}get name(){return"activities"}}class _ extends m{constructor({mainUrl:i,name:t,apiUrl:e,listName:s,listMap:a}){super();this.href=i;this.listName=s;this.html=t;this.requestedPopup=false;this.popupHtml=`\n
      \n
    1. 加载中...
    2. \n
    \n `;this.onPopup=(async()=>{if(!a){return}const n=await SpinQuery.select(`.video-list.${s}`);if(n===null){return}const l=await Ajax.getJsonWithCredentials(e);if(l.code!==0){logError(`加载${t}信息失败. 错误码: ${l.code} ${l.message}`);return}const o=a(l).join("");n.insertAdjacentHTML("beforeend",o+`\n
  • 查看更多
  • \n `);n.classList.add("loaded")})}get name(){return this.listName+"List"}}class x extends _{constructor(){super({name:"稍后再看",mainUrl:"https://www.bilibili.com/watchlater/#/list",apiUrl:"https://api.bilibili.com/x/v2/history/toview/web",listName:"watchlater",listMap:t=>{return t.data.list.slice(0,6).map(t=>{const e=t.pages.map(i=>i.cid);const s=t.cid===0?1:e.indexOf(t.cid)+1;const a=i.watchLaterRedirect?`https://www.bilibili.com/video/av${t.aid}?p=${s}`:`https://www.bilibili.com/watchlater/#/av${t.aid}/p${s}`;return`
  • \n ${t.title}\n
  • `})}});this.active=document.URL.startsWith("https://www.bilibili.com/watchlater/")}}class L extends _{constructor(){super({name:"收藏",mainUrl:`https://space.bilibili.com/${r.mid}/favlist`,apiUrl:"https://api.bilibili.com/medialist/gateway/coll/resource/recent",listName:"favorites",listMap:i=>{return i.data.map(i=>{return`
  • \n ${i.title}\n
  • `})}});this.active=document.URL.replace(/\?.*$/,"")===`https://space.bilibili.com/${r.mid}/favlist`}}class $ extends _{constructor(){super({name:"历史",mainUrl:"https://www.bilibili.com/account/history",apiUrl:"https://api.bilibili.com/x/v2/history?pn=1&ps=6",listName:"history",listMap:i=>{return i.data.map(i=>{let t=[];let e="";const s=i.page?i.page.page:1;const a=i.progress>=0?i.progress/i.duration:1;if(s!==1){t.push(`p=${s}`);e+=`看到第${s}话`}if(i.progress>0&&i.progress\n \n ${i.title}\n ${e}\n
    \n
    \n `})}});this.active=document.URL.replace(/\?.*$/,"")==="https://www.bilibili.com/account/history"}}(async()=>{const e=await t.importAsync("customNavbarHtml");const s=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/web-interface/nav");r=s.data;document.body.insertAdjacentHTML("beforeend",e);addSettingsListener("useDarkStyle",n);n(i.useDarkStyle);["Fill","Shadow","Compact","Blur"].forEach(t=>{addSettingsListener("customNavbar"+t,i=>a(t.toLowerCase(),i,document.querySelector(".custom-navbar")));a(t.toLowerCase(),i["customNavbar"+t],document.querySelector(".custom-navbar"))});SpinQuery.condition(()=>document.getElementById("banner_link"),i=>i===null?null:i.style.backgroundImage,i=>{Observer.attributes(i,()=>{const t=document.querySelectorAll(".custom-navbar .blur-layer");t.forEach(t=>{t.style.backgroundImage=i.style.backgroundImage;t.setAttribute("data-image",i.style.backgroundImage)})})});const l=[new b(1),new u,new w,new d("排行","https://www.bilibili.com/ranking","ranking"),new d("相簿","https://h.bilibili.com","drawing"),new d("音频","https://www.bilibili.com/audio/home/","music"),new f("游戏中心","https://game.bilibili.com/",{src:`https://www.bilibili.com/page-proxy/game-nav.html`,width:`680px`,height:`260px`,lazy:true,iframeName:"games"}),new f("直播","https://live.bilibili.com",{src:`https://live.bilibili.com/blackboard/dropdown-menu.html`,width:`528px`,height:`266px`,lazy:true,iframeName:"lives"}),new d("会员购","https://show.bilibili.com","shop"),new d("漫画","https://manga.bilibili.com","manga"),new b(2),new g,new v];if(r.isLogin){l.push(new h,new k,new x,new L,new $)}l.push(new p,new b(3));new Vue({el:".custom-navbar",data:{components:l},methods:{requestPopup(i){if(!i.requestedPopup&&!i.disabled&&!i.active){this.$set(i,`requestedPopup`,true);i.onPopup&&i.onPopup()}}}})})();return s}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar.min.js"] = (()=>{return(i,t)=>{if(isIframe()){return}document.body.style.setProperty("--navbar-bounds-padding",`0 ${i.customNavbarBoundsPadding}%`);document.body.style.setProperty("--navbar-blur-opacity",i.customNavbarBlurOpacity||.7);addSettingsListener("customNavbarBlurOpacity",i=>{document.body.style.setProperty("--navbar-blur-opacity",i)});let e=true;const s={widget:{content:`\n
    \n \n 顶栏布局\n
    `,condition:()=>e,success:async()=>{await SpinQuery.select(".custom-navbar-settings");await t.importAsync("slip");const{debounce:e}=await t.importAsync("debounce");const s=document.querySelector("#custom-navbar-settings");s.addEventListener("click",async()=>{const i=await SpinQuery.select(".custom-navbar-settings");if(i){i.classList.toggle("show");document.querySelector(".gui-settings-mask").click()}});s.addEventListener("mouseover",()=>{const t={blank1:"弹性空白1",logo:"Logo",category:"主站",rankingLink:"排行",drawingLink:"相簿",musicLink:"音频",gamesIframe:"游戏中心",livesIframe:"直播",shopLink:"会员购",mangaLink:"漫画",blank2:"弹性空白2",search:"搜索框",userInfo:"用户信息",messages:"消息",activities:"动态",watchlaterList:"稍后再看",favoritesList:"收藏",historyList:"历史",upload:"投稿入口",blank3:"弹性空白3"};Vue.component("order-item",{props:["item"],template:`\n
  • \n \n {{item.displayName}}\n \n
  • \n `,methods:{hidden(){return i.customNavbarHidden.includes(this.item.name)},viewBorder(i){const t=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(t!==null){t.classList[i?"add":"remove"]("view-border")}},toggleHidden(){const t=this.hidden();if(t===false){i.customNavbarHidden.push(this.item.name);i.customNavbarHidden=i.customNavbarHidden}else{const t=i.customNavbarHidden.indexOf(this.item.name);if(t===-1){return}i.customNavbarHidden.splice(t,1);i.customNavbarHidden=i.customNavbarHidden}this.$forceUpdate();const e=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(e!==null){e.style.display=t?"flex":"none"}}}});const s=e(t=>{i.customNavbarBoundsPadding=t;document.body.style.setProperty("--navbar-bounds-padding",`0 ${t}%`)},200);new Vue({el:".custom-navbar-settings",mounted(){const t=document.querySelector(".custom-navbar-settings .order-list");const e=({sourceItem:e,targetItem:s,orderBefore:a,orderAfter:n})=>{if(a===n){return}const l=Object.entries(i.customNavbarOrder);const o=l.sort((i,t)=>i[1]-t[1]).map(i=>i[0]);if(a=n;t--){const e=o[t];i.customNavbarOrder[e]=t+1;document.querySelector(`.custom-navbar li[data-name='${e}']`).style.order=t+1}}i.customNavbarOrder[o[a]]=n;document.querySelector(`.custom-navbar li[data-name='${o[a]}']`).style.order=n;i.customNavbarOrder=i.customNavbarOrder;t.insertBefore(e,s)};new Slip(t);t.addEventListener("slip:beforewait",i=>{if(i.target.classList.contains("mdi-menu")){i.preventDefault()}},false);t.addEventListener("slip:beforeswipe",i=>i.preventDefault(),false);t.addEventListener("slip:reorder",i=>{e({sourceItem:i.target,targetItem:i.detail.insertBefore,orderBefore:i.detail.originalIndex,orderAfter:i.detail.spliceIndex});return false},false)},computed:{orderList(){const e=Object.entries(i.customNavbarOrder);return e.sort((i,t)=>i[1]-t[1]).map(i=>{return{displayName:t[i[0]],name:i[0],order:i[1]}})}},data:{boundsPadding:i.customNavbarBoundsPadding},watch:{boundsPadding(i){s(i)}},methods:{close(){document.querySelector(".custom-navbar-settings").classList.remove("show")},restoreDefault(){if(typeof customNavbarDefaultOrders==="undefined"){Toast.error("未找到默认值设定, 请更新您的脚本.");return}if(confirm("确定要恢复默认顶栏布局吗? 恢复后页面将刷新.")){this.boundsPadding=5;i.customNavbarOrder=customNavbarDefaultOrders;location.reload()}}}})},{once:true})}},unload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="none");t.removeStyle("customNavbarStyle")},reload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="flex");t.applyImportantStyle("customNavbarStyle")}};const a=(i,t,e)=>{e.classList[t?"add":"remove"](i)};const n=i=>{document.querySelector(".custom-navbar").classList[i?"add":"remove"]("dark");document.querySelector(".custom-navbar-settings").classList[i?"add":"remove"]("dark")};addSettingsListener("allNavbarFill",i=>a("all-navbar-fill",i,document.body));a("all-navbar-fill",i.allNavbarFill,document.body);const l=["/www.bilibili.com","/t.bilibili.com","/search.bilibili.com","/space.bilibili.com","/account.bilibili.com","/pay.bilibili.com","/member.bilibili.com","/big.bilibili.com","/message.bilibili.com","/app.bilibili.com","/passport.bilibili.com"];const o=["/t.bilibili.com/lottery/h5/index/#/result","/member.bilibili.com/video/upload"];if(!l.some(i=>document.URL.includes(i))||o.some(i=>document.URL.includes(i))){e=false;return s}let r={};let c={};class m{constructor(){this.html=``;this.popupHtml=``;this.flex=`0 0 auto`;this.disabled=false;this.requestedPopup=false;this.onPopup=null;this.href=null;this.notifyCount=0;this.touch=i.touchNavBar;this.active=false}get name(){return"undefined"}get order(){return i.customNavbarOrder[this.name]}get hidden(){return i.customNavbarHidden.includes(this.name)}}class b extends m{constructor(i){super();this.number=i;this.flex="1 0 auto";this.disabled=true}get name(){return"blank"+this.number}}class u extends m{constructor(){super();this.href=`https://www.bilibili.com/`;this.html=``;this.touch=false}get name(){return"logo"}}class d extends m{constructor(i,t,e){super();this.linkName=e;this.html=i;this.href=t;this.touch=false;this.active=document.URL.startsWith(t)}get name(){return this.linkName+"Link"}}class p extends m{constructor(){super();this.href="https://member.bilibili.com/v2#/upload/video/frame";this.html=`\n \n \n \n
    投稿
    `;this.popupHtml=`\n \n `}get name(){return"upload"}}class h extends m{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n \n `;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.init()}get name(){return"messages"}async init(){const i=await Ajax.getJsonWithCredentials("https://message.bilibili.com/api/notify/query.notify.count.do");const t=await SpinQuery.select("#message-list");const e=[...t.querySelectorAll("a[data-name]")];const s=e.map(i=>i.getAttribute("data-name"));if(i.code!==0){return}const a=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);let n=s.reduce((t,e)=>t+i.data[e],0);if(!n){return}a.innerHTML=n;s.forEach((t,s)=>{const a=i.data[t];if(a>0){e[s].setAttribute("data-count",a)}else{e[s].removeAttribute("data-count")}});e.forEach(i=>{i.addEventListener("click",()=>{const t=i.getAttribute("data-count");i.removeAttribute("data-count");n-=t;a.innerHTML=n||""})})}}class w extends m{constructor(){super();this.html=`主站`;this.requestedPopup=true;this.popupHtml=`\n \n `;this.getOnlineInfo().then(i=>{new Vue({el:"#custom-navbar-home-popup",data:{info:Object.entries(i)}})})}get name(){return"category"}async getOnlineInfo(){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"话题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}}}class v extends m{constructor(){super();this.noPadding=true;this.href="https://space.bilibili.com";this.html=`\n
    \n \n \n
    \n `;this.popupHtml=`\n \n `;this.requestedPopup=true;this.init()}get name(){return"userInfo"}async init(){const i=await SpinQuery.select(".custom-navbar .user-info-panel");new Vue({el:i,data:{...r},computed:{userType(){if(!this.isLogin){return"未登录"}if(this.level_info.current_level===0){return"注册会员"}if(this.vipStatus===1){if(this.vipType===1){return this.vip_theme_type?"小会员":"大会员"}else if(this.vipType===2){return this.vip_theme_type?"年度小会员":"年度大会员"}}return"正式会员"},levelProgressStyle(){const i=(this.level_info.next_exp-this.level_info.current_exp)/(this.level_info.next_exp-this.level_info.current_min);return{transform:`scaleX(${i})`}}}});const t=await SpinQuery.select(".custom-navbar .user-face-container .user-face");if(r.isLogin){const i=r.face.replace("http","https");const e=68;const s=[1,1.25,1.5,1.75,2,2.25,2.5,2.75,3,3.25,3.5,3.75,4];t.setAttribute("srcset",s.map(t=>{return`${i}@${parseInt(e*t)}w_${parseInt(e*t)}h.jpg ${t}x`}).join(","));if(r.pendant.image){const i=await SpinQuery.select(".custom-navbar .user-face-container .user-pendant");const t=r.pendant.image.replace("http","https");const e=116;i.setAttribute("srcset",s.reduce((i,s)=>{return i+`, ${t}@${parseInt(e*s)}w_${parseInt(e*s)}h.png ${s}x`},""))}}else{t.setAttribute("src","https://static.hdslb.com/images/akari.jpg")}}}class g extends m{constructor(){super();this.disabled=true;this.html=`\n \n `;this.init()}async init(){const t=await SpinQuery.select("#custom-navbar-search");const e=t.querySelector("input[name='keyword']");t.addEventListener("submit",s=>{if(e.value===""){if(!i.hideTopSearch){t.querySelector(".recommended-target").click()}s.preventDefault();return false}return true});if(!i.hideTopSearch){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/search/default");if(i.code===0){e.setAttribute("placeholder",i.data.show_name);if(i.data.name.startsWith("av")){t.querySelector(".recommended-target").setAttribute("href",`https://www.bilibili.com/${i.data.name}`)}else{t.querySelector(".recommended-target").setAttribute("href",`https://search.bilibili.com/all?keyword=${i.data.name}`)}}else{console.error("[自定义顶栏] 获取搜索推荐词失败")}}}get name(){return"search"}}class f extends m{constructor(i,t,{src:e,width:s,height:a,lazy:n,iframeName:l}){super();this.iframeName=l;this.html=i;this.href=t;this.popupHtml=`\n \n `;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}class y extends f{constructor(...t){super(...t);this.touch=i.touchNavBar;this.getNotifyCount()}getApiUrl(){return null}getCount(){return 0}async getNotifyCount(){const i=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);const t=await Ajax.getJsonWithCredentials(this.getApiUrl());const e=this.getCount(t);if(t.code===0&&e){i.innerHTML=e;this.onPopup=(()=>{i.innerHTML=""})}}}class k extends y{constructor(){super("动态",i.oldTweets?"https://www.bilibili.com/account/dynamic":"https://t.bilibili.com/",{src:`https://t.bilibili.com/pages/nav/index`,width:`380px`,height:`422px`,lazy:true});this.active=document.URL.replace(/\?.*$/,"")==="https://t.bilibili.com/"}getApiUrl(){const i=document.cookie.replace(new RegExp(`(?:(?:^|.*;\\s*)bp_t_offset_${r.mid}\\s*\\=\\s*([^;]*).*$)|^.*$`),"$1");return`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${r.mid}&update_num_dy_id=${i}&type_list=8,512,64`}getCount(i){return i.data.update_num}get name(){return"activities"}}class _ extends m{constructor({mainUrl:i,name:t,apiUrl:e,listName:s,listMap:a}){super();this.href=i;this.listName=s;this.html=t;this.requestedPopup=false;this.popupHtml=`\n
      \n
    1. 加载中...
    2. \n
    \n `;this.onPopup=(async()=>{if(!a){return}const n=await SpinQuery.select(`.video-list.${s}`);if(n===null){return}const l=await Ajax.getJsonWithCredentials(e);if(l.code!==0){logError(`加载${t}信息失败. 错误码: ${l.code} ${l.message}`);return}const o=a(l).join("");n.insertAdjacentHTML("beforeend",o+`\n
  • 查看更多
  • \n `);n.classList.add("loaded")})}get name(){return this.listName+"List"}}class x extends _{constructor(){super({name:"稍后再看",mainUrl:"https://www.bilibili.com/watchlater/#/list",apiUrl:"https://api.bilibili.com/x/v2/history/toview/web",listName:"watchlater",listMap:t=>{return t.data.list.slice(0,6).map(t=>{const e=t.pages.map(i=>i.cid);const s=t.cid===0?1:e.indexOf(t.cid)+1;const a=i.watchLaterRedirect?`https://www.bilibili.com/video/av${t.aid}?p=${s}`:`https://www.bilibili.com/watchlater/#/av${t.aid}/p${s}`;return`
  • \n ${t.title}\n
  • `})}});this.active=document.URL.startsWith("https://www.bilibili.com/watchlater/")}}class L extends _{constructor(){super({name:"收藏",mainUrl:`https://space.bilibili.com/${r.mid}/favlist`,apiUrl:"https://api.bilibili.com/medialist/gateway/coll/resource/recent",listName:"favorites",listMap:i=>{return i.data.map(i=>{return`
  • \n ${i.title}\n
  • `})}});this.active=document.URL.replace(/\?.*$/,"")===`https://space.bilibili.com/${r.mid}/favlist`}}class $ extends _{constructor(){super({name:"历史",mainUrl:"https://www.bilibili.com/account/history",apiUrl:"https://api.bilibili.com/x/v2/history?pn=1&ps=6",listName:"history",listMap:i=>{return i.data.map(i=>{let t=[];let e="";const s=i.page?i.page.page:1;const a=i.progress>=0?i.progress/i.duration:1;if(s!==1){t.push(`p=${s}`);e+=`看到第${s}话`}if(i.progress>0&&i.progress\n \n ${i.title}\n ${e}\n
    \n
    \n `})}});this.active=document.URL.replace(/\?.*$/,"")==="https://www.bilibili.com/account/history"}}(async()=>{const e=await t.importAsync("customNavbarHtml");const s=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/web-interface/nav");r=s.data;document.body.insertAdjacentHTML("beforeend",e);addSettingsListener("useDarkStyle",n);n(i.useDarkStyle);["Fill","Shadow","Compact","Blur"].forEach(t=>{addSettingsListener("customNavbar"+t,i=>a(t.toLowerCase(),i,document.querySelector(".custom-navbar")));a(t.toLowerCase(),i["customNavbar"+t],document.querySelector(".custom-navbar"))});SpinQuery.condition(()=>document.getElementById("banner_link"),i=>i===null?null:i.style.backgroundImage,i=>{Observer.attributes(i,()=>{const t=document.querySelectorAll(".custom-navbar .blur-layer");t.forEach(t=>{t.style.backgroundImage=i.style.backgroundImage;t.setAttribute("data-image",i.style.backgroundImage)})})});const l=[new b(1),new u,new w,new d("排行","https://www.bilibili.com/ranking","ranking"),new d("相簿","https://h.bilibili.com","drawing"),new d("音频","https://www.bilibili.com/audio/home/","music"),new f("游戏中心","https://game.bilibili.com/",{src:`https://www.bilibili.com/page-proxy/game-nav.html`,width:`680px`,height:`260px`,lazy:true,iframeName:"games"}),new f("直播","https://live.bilibili.com",{src:`https://live.bilibili.com/blackboard/dropdown-menu.html`,width:`528px`,height:`266px`,lazy:true,iframeName:"lives"}),new d("会员购","https://show.bilibili.com","shop"),new d("漫画","https://manga.bilibili.com","manga"),new b(2),new g,new v];if(r.isLogin){l.push(new h,new k,new x,new L,new $)}l.push(new p,new b(3));new Vue({el:".custom-navbar",data:{components:l},methods:{requestPopup(i){if(!i.requestedPopup&&!i.disabled&&!i.active){this.$set(i,`requestedPopup`,true);i.onPopup&&i.onPopup()}}}})})();return s}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/danmaku-converter.min.js"] = (()=>{return(t,e)=>{class i{constructor(t,e,i,s,n){this.content=t;this.time=e;this.type=parseInt(i);this.fontSize=parseFloat(s);this.color=parseInt(n)}}class s extends i{constructor({content:t,time:e,type:i,fontSize:s,color:n,timeStamp:r,pool:a,userHash:o,rowId:c}){super(t,e,i,s,n);this.timeStamp=parseInt(r);this.pool=parseInt(a);this.userHash=o;this.rowId=parseInt(c);this.time=parseFloat(this.time);this.pDataArray=[e,i,s,n,r,a,o,c]}text(){const t=this.pDataArray.join(",");return`${this.content}`}static parse(t){const e=t.getAttribute("p");const[i,n,r,a,o,c,h,l]=e.split(",");const u=t.innerHTML;return new s({content:u,time:i,type:n,fontSize:r,color:a,timeStamp:o,pool:c,userHash:h,rowId:l})}}class n{constructor(t){this.xml=t;const e=(new DOMParser).parseFromString(t,"application/xml").documentElement;this.danmakus=[...e.querySelectorAll("d[p]")].map(t=>s.parse(t))}}class r extends i{constructor({content:t,time:e,type:i,fontSize:s,color:n,typeTag:r,colorTag:a,endTime:o}){super(t,e,i,s,n);this.typeTag=r;this.colorTag=a;this.endTime=o}text(t){const e=t[this.fontSize].match(/Style:(.*?),/)[1].trim();return`Dialogue: 0,${this.time},${this.endTime},${e},,0,0,0,,{${this.typeTag}${this.colorTag}}${this.content}`}}class a{constructor({danmakus:t,title:e,fontStyles:i,blockTypes:s,resolution:n}){this.danmakus=t;this.title=e;this.fontStyles=i;this.blockTypes=s;this.resolution=n}generateAss(){const t=`\n[Script Info]\n; Script generated by Bilibili Evolved Danmaku Converter\n; https://github.com/the1812/Bilibili-Evolved/\nTitle: ${this.title}\nScriptType: v4.00+\nPlayResX: ${this.resolution.x}\nPlayResY: ${this.resolution.y}\nTimer: 10.0000\nWrapStyle: 2\nScaledBorderAndShadow: no\n\n[V4+ Styles]\nFormat: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\n${Object.values(this.fontStyles).join("\n")}\n\n[Events]\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\n `.trim();return t+"\n"+this.danmakus.map(t=>t.text(this.fontStyles,this.blockTypes)).filter(t=>t!=="").join("\n")}}class o{constructor(t,e,i,s){this.horizontalDanmakus=[];this.horizontalTrack=[];this.verticalDanmakus=[];this.verticalTrack=[];this.resolution=e;this.duration=i;this.canvas=document.createElement("canvas");this.context=this.canvas.getContext("2d");this.fontSizes={25:`52px ${t}`,18:`36px ${t}`};this.danmakuType={1:"normal",2:"normal",3:"normal",4:"bottom",5:"top",6:"reversed",7:"special",8:"special"};this.bottomMarginPercent=s;this.margin=4;this.nextDanmakuDelay=.05;this.generateTracks()}generateTracks(){const t=52;this.danmakuHeight=t;this.trackHeight=this.margin*2+t;this.trackCount=parseInt(fixed(this.resolution.y*(1-this.bottomMarginPercent)/this.trackHeight,0))}getTextSize(t){this.context.font=this.fontSizes[t.fontSize];const e=this.context.measureText(t.content);const i=e.width/2;return[i,this.danmakuHeight/2]}getTags(t,{targetTrack:e,initTrack:i,nextTrack:s,isClosestDanmaku:n,getTrackItem:r,getTag:a}){const[o,c]=this.getTextSize(t);const h=o*2;const l=this.duration(t)*h/(this.resolution.x+h)+this.nextDanmakuDelay;let u=i;let m=null;do{m=e.find(t=>n({it:t,track:u,width:h}));u+=s}while(m&&u<=this.trackCount&&u>=0);if(u>this.trackCount||u<0){return`\\pos(0,-999)`}u-=s;e.push(r({track:u,width:h,visibleTime:l}));return a({track:u,x:o,y:c})}getHorizontalTags(t){return this.getTags(t,{targetTrack:this.horizontalTrack,initTrack:0,nextTrack:1,isClosestDanmaku:({it:e,track:i,width:s})=>{if(e.track!==i){return false}if(e.widtht.time}},getTrackItem:({track:e,width:i,visibleTime:s})=>{return{width:i,start:t.time,visible:t.time+s,end:t.time+this.duration(t),track:e}},getTag:({track:e,x:i,y:s})=>{return`\\move(${this.resolution.x+i},${e*this.trackHeight+this.margin+s},${-i},${e*this.trackHeight+this.margin+s},0,${this.duration(t)*1e3})`}})}getVerticalTags(t){const e=this.danmakuType[t.type]==="top";return this.getTags(t,{targetTrack:this.verticalTrack,initTrack:e?0:this.trackCount-1,nextTrack:e?1:-1,isClosestDanmaku:({it:e,track:i})=>{if(e.track!==i){return false}return e.end>t.time},getTrackItem:({track:e})=>{return{start:t.time,end:t.time+this.duration(t),track:e}},getTag:({track:t,y:i})=>{if(e){return`\\pos(${this.resolution.x/2},${t*this.trackHeight+this.margin+i})`}else{return`\\pos(${this.resolution.x/2},${this.resolution.y-this.margin-i-(this.trackCount-1-t)*this.trackHeight})`}}})}push(t){let e=null;let i=null;switch(this.danmakuType[t.type]){case"normal":case"reversed":{e=this.getHorizontalTags(t);i=this.horizontalDanmakus;break}case"top":case"bottom":{e=this.getVerticalTags(t);i=this.verticalDanmakus;break}case"special":default:{return{tags:`\\pos(0,-999)`}}}const s={tags:e};i.push(s);return s}}class c{constructor({title:t,font:e,alpha:i,duration:s,blockTypes:n,resolution:r,bottomMarginPercent:a,bold:c}){this.title=t;this.font=e;this.alpha=Math.round(i*100).toString(16).toUpperCase();this.duration=s;this.blockTypes=n;this.resolution=r;this.bold=c;this.white=16777215;this.danmakuStack=new o(e,r,s,a)}get fontStyles(){return{25:`Style: Medium,${this.font},52,&H${this.alpha}FFFFFF,&H${this.alpha}FFFFFF,&H${this.alpha}000000,&H${this.alpha}000000,${this.bold?"1":"0"},0,0,0,100,100,0,0,1,1.2,0,5,0,0,0,0`,18:`Style: Small,${this.font},36,&H${this.alpha}FFFFFF,&H${this.alpha}FFFFFF,&H${this.alpha}000000,&H${this.alpha}000000,${this.bold?"1":"0"},0,0,0,100,100,0,0,1,1.2,0,5,0,0,0,0`}}convertToAssDocument(t){const e=new n(t);const i=[];for(const t of e.danmakus.sort((t,e)=>t.time-e.time)){if(this.blockTypes.indexOf(t.type)!==-1||this.blockTypes.indexOf("color")!==-1&&t.color!==this.white){continue}const[e,s]=this.convertTime(t.time,this.duration(t));i.push(new r({content:this.convertText(t.content),time:e,endTime:s,type:t.type,fontSize:t.fontSize,color:t.color,typeTag:this.convertType(t),colorTag:this.convertColor(t.color)}))}return new a({danmakus:i,title:this.title,blockTypes:this.blockTypes,fontStyles:this.fontStyles,resolution:this.resolution})}convertText(t){const e={"{":"{","}":"}","&":"&","<":"<",">":">",""":'"',"'":"'"};for(const[i,s]of Object.entries(e)){t=t.replace(new RegExp(i,"g"),s)}return t}convertType(t){return this.danmakuStack.push(t).tags}convertColor(t){if(t===this.white){return""}const e=t.toString(16);const i=e.substring(0,2);const s=e.substring(2,4);const n=e.substring(4,6);return`\\c&H${n}${s}${i}&`}convertTime(t,e){function i(t){const[e,i="00"]=String(t).split(".");return`${e.padStart(2,"0")}.${i.substr(0,2).padEnd(2,"0")}`}function s(t){let e=0;let s=0;while(t>=60){t-=60;s++}while(s>=60){s-=60;e++}return`${e}:${String(s).padStart(2,"0")}:${i(t)}`}return[s(t),s(t+e)]}}return{export:{AssDanmaku:r,AssDanmakuDocument:a,Danmaku:i,DanmakuConverter:c,DanmakuStack:o,XmlDanmaku:s,XmlDanmakuDocument:n}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-important.min.css"] = `#disable-popup-modal .vip-exchange .months button.disabled,#vip-exchange-modal .vip-exchange .months button.disabled,.action-row .publish-btn.disabled,.action-row .publish-btn.publishing,.action-row .sch-pub-btn.disabled,.action-row .sch-pub-btn.publishing,.app-body .section-block,.bl-button--primary:disabled,.link-footer,.live-skin-coloration-area .live-skin-separate-area,.live-skin-coloration-area .live-skin-separate-area-hover:hover,.payment-active,.tab-list .tab-item.active:before{background-color:#222!important}.app-body .section-block.with-bottom-radius,.app-body .section-block.with-radius,.bb-comment .no-login .comment-submit,.common .bb-comment .no-login .comment-submit,.container .pagination,.coupon-content-con .coupon-btn-disable,.customize-wrp .select,.f-list-hover:hover,.fjw-case-detail .ban-detail .content-box .video-model,.game-groom-m .num,.main-container .media-info .media-right .media-tool-bar .btn-follow.active,.main-container .pay-bar .vip .btn-pay.active,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled:hover,.pagination-container li.pagination,.status_box .status_btn.disabled,.wrapper .elec-btn.disabled{background-color:#444!important}.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap .bscroll-indicator{background-color:#555!important}.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap .bscroll-vertical-scrollbar.mousedown,.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap:hover .bscroll-vertical-scrollbar,.m-recommend-item div.box{background-color:transparent!important}.live-skin-coloration-area .live-skin-normal-a-text,.live-skin-coloration-area .live-skin-normal-a-text:link,.live-skin-coloration-area .live-skin-normal-text,.live-skin-normal-a-text:visited,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled:hover,.status_box .status_btn.disabled,blockquote,blockquote *,blockquote .color-blue-01,blockquote .color-blue-02,blockquote .color-blue-03,blockquote .color-blue-04,blockquote .color-gray-01,blockquote .color-gray-02,blockquote .color-gray-03,blockquote .color-green-01,blockquote .color-green-02,blockquote .color-green-03,blockquote .color-green-04,blockquote .color-lblue-01,blockquote .color-lblue-02,blockquote .color-lblue-03,blockquote .color-lblue-04,blockquote .color-pink-01,blockquote .color-pink-02,blockquote .color-pink-03,blockquote .color-pink-04,blockquote .color-purple-01,blockquote .color-purple-02,blockquote .color-purple-03,blockquote .color-purple-04,blockquote .color-yellow-01,blockquote .color-yellow-02,blockquote .color-yellow-03,blockquote .color-yellow-04{color:#aaa!important}#app .sticky-bar .bar-content .message,.bb-comment .no-login .comment-submit,.bp-popup-panel .title-ctnr .popup-title,.commnent-screen-wrap .el-input__inner,.common .bb-comment .no-login .comment-submit,.coupon-content-con .coupon-btn-disable,.cover .disabled-cover,.customize-wrp .select,.el-input__inner,.home-page .sticky-bar .bar-content .message,.invitation-record-warp .invtable .inputdone,.live-skin-coloration-area .live-skin-highlight-text,.live-skin-coloration-area .live-skin-main-text,.popup-content-ctnr .bl-button--ghost:hover,.s-paging>ul>a.current,.s-paging>ul>span.current,.score-info .go-movie,.tag-list li.tag-item.on{color:#eee!important}.bb-comment .no-login .comment-submit,.commnent-screen-wrap .el-input__inner,.common .bb-comment .no-login .comment-submit,.el-input__inner,.enter-failure .password-input .pink-border,.link-footer,.live-skin-coloration-area .live-skin-highlight-border,.live-skin-coloration-area .live-skin-separate-border,.popup-content-ctnr .bl-button--ghost:hover,.score-info .go-movie,.select-box-v2-container .select-box-v2-controller-disabled,.song-info .info-wrap .type-list .item-list .type-item.active,.tabs-bar,.ui-input-textarea.focus,.user-setting-warp .el-radio-button__orig-radio:checked+.el-radio-button__inner{border-color:transparent!important}#app .sticky-bar .bar-content .message:hover,.detail-wrp .detail-content[data-v-00c9b213] p a span,.drop-list-v2-container .drop-list-v2-item-selected .drop-list-v2-item-cont p.item-cont-main,.edit-button:hover>.icon-font,.edit-button:hover>span .left-nav-item-childed:hover,.el-select-dropdown__item.selected,.home-page .sticky-bar .bar-content .message:hover,.im-popup .bp-popup-panel .title-ctnr .popup-title,.left-nav-wrapper .active,.left-nav-wrapper .active .left-nav-item-child,.left-nav-wrapper .advice-btn:hover,.left-nav-wrapper .left-nav-item.active,.left-nav-wrapper .left-nav-item.active i.active,.left-nav-wrapper .left-nav-list.on .left-nav-item,.left-nav-wrapper .left-nav-list.on .left-nav-item .icon,.live-skin-coloration-area .live-skin-highlight-text,.live-skin-coloration-area .live-skin-normal-a-text:hover,.live-skin-normal-a-text:active,.more-data a:hover,.other a a:hover,.r-con .members-info .up-card .info-name.is-vip:hover,.rank-item .content .info .detail a a:hover,.rank-item .content .more-data:hover,.rank-item .content .other a:hover,.room-info-down-row .icon-label.hover-text-blue:hover .label,.room-introduction .edit-button:hover>.icon-font,.room-introduction .edit-button:hover>span,.up-info .u-info .name .username.is-vip:hover,.voucher-ing .voucher-left-money,.voucher-ing .voucher-left-money:before,.voucher-no-used .voucher-left-money,.voucher-no-used .voucher-left-money:before{color:var(--theme-color)!important}.aside-ctnr .author-info .communicate-btn,.live-skin-coloration-area .room-info-ctnr .info-section .live-skin-highlight-border,.page-list-box .page-input:focus,.page-list-box .page-input:hover,.popup-content-ctnr .bl-button--ghost,.season-timeline .season-group.today,.season-timeline .season-group.today .group-time::before,.tag-list li.tag-item.on,.tag-list li.tag-item:hover{border-color:var(--theme-color)!important}.bg-blue,.el-date-table td.current:not(.disabled),.el-date-table td.end-date,.el-date-table td.start-date,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn-white,.face-g-tab li.current,.live-skin-coloration-area .live-skin-highlight-bg,.popup-content-ctnr .bl-button--ghost:hover,.popup-content-ctnr .bl-button--primary,.season-timeline .season-group.today.is-published .group-time::before,.security-list .child-list li a.bg-blue:hover,.song-info .info-wrap .type-list .item-list .type-item.active,.tag-list li.tag-item.on,.user-my-btn .el-button--primary,.user-setting-warp .el-radio-button__orig-radio:checked+.el-radio-button__inner{background-color:var(--theme-color)!important}.current .tab-btn-link,.el-date-table td.current:not(.disabled),.el-date-table td.end-date,.el-date-table td.start-date,.face-g-tab li.current,.popup-content-ctnr .bl-button--ghost{color:var(--foreground-color)!important}#bilibiliPlayer{box-shadow:0 4px 8px 0 #0004}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-navbar.min.css"] = `#link-navbar-vm>.link-navbar .nav-item:hover,.bili-header-m .nav-menu .nav-con .nav-item:hover,.right-part>.shortcuts-ctnr .shortcut-item:hover,.uns_box ul.menu li:not(.b-post):hover,.z_top .z_top_nav ul li:hover{background-color:#222}.link-navbar .nav-item:hover,.shortcuts-ctnr .shortcut-item:hover{background-color:#222!important}#app>.link-navbar,#app>.nav-header-wrapper,#link-navbar-vm>.link-navbar,#navbar-vm>.link-navbar,.b-header-mask-wrp .b-header-mask,.bili-header-m .nav-menu .nav-mask,.bili-header-m .nav-menu.blur-black .nav-mask{background-color:#444}.link-navbar{background-color:#444!important}.z_top .i-link:hover,.z_top .z_top_nav ul li.home:hover{background-color:transparent}#app>.nav-header-wrapper>.nav-header{background:0 0}#app>.link-navbar .main-ctnr .nav-logo,#app>.link-navbar .nav-item.selected .label,#app>.link-navbar .nav-item:hover .icon-font,#app>.nav-header-wrapper>.nav-header .nav-header-mainsite,#app>.nav-header-wrapper>.nav-header .order-center,#link-navbar-vm>.link-navbar .main-ctnr .nav-logo,#link-navbar-vm>.link-navbar .nav-item:hover,.bili-header-m .nav-menu .nav-con .nav-item .t,.link-navbar .main-ctnr .custom-link>a,.my-link-btn .label,.right-part>.shortcuts-ctnr,.right-part>.shortcuts-ctnr .shortcut-item:hover,.search-bar-ctnr .search-bar input,.shortcut-item .list-item span,.shortcuts-ctnr .shortcut-item,.uns_box li.u-i a.i-link,.z_top a,.z_top.b-header-blur .uns_box li.u-i a.i-link,.z_top.b-header-blur .z_top_nav li a.i-link{color:#eee}.link-navbar .main-ctnr .nav-logo{color:#eee!important}.search-bar-ctnr .search-bar .placeholder,.search-bar-ctnr .search-bar .search-btn,.search-bar-ctnr .search-bar input::placeholder{color:#878787!important}.uns_box li.u-i:hover a.i-link,.z_top .i-link:hover{color:var(--theme-color)}.link-navbar,.link-navbar-ctnr{box-shadow:none!important}.link-navbar .main-ctnr .nav-logo::before,.nav-header-wrapper .nav-header .order-icon{filter:brightness(0) invert(1)!important}.search-bar-ctnr .search-bar{border:none;box-shadow:0 2px 10px 1px #0002}`; @@ -1093,6 +1076,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-resolution.min.js"] = (()=>{return(t,e)=>{const r=/@(\d+)[Ww]_(\d+)[Hh]/;const n=t.imageResolutionScale==="auto"?window.devicePixelRatio:parseFloat(t.imageResolutionScale);const o=["#certify-img1","#certify-img2"];const i=(t,e)=>{const r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,null,false);let n=r.nextNode();while(n){e(n);n=r.nextNode()}};async function s(t){const e=(e,i)=>{const s=e(t);if(s===null){return}if(o.some(e=>t.matches(e))){return}const a=s.match(r);if(!a){return}let[,u,c]=a;let l=parseInt(t.getAttribute("data-resolution-width")||"0");if(parseInt(u)>=l&&l!==0){return}if(t.getAttribute("width")===null&&t.getAttribute("height")===null){t.setAttribute("width",u)}u=Math.round(n*parseInt(u)).toString();c=Math.round(n*parseInt(c)).toString();t.setAttribute("data-resolution-width",u);i(t,s.replace(r,`@${u}w_${c}h`))};Observer.attributes(t,()=>{e(t=>t.getAttribute("src"),(t,e)=>t.setAttribute("src",e));e(t=>t.style.backgroundImage,(t,e)=>t.style.backgroundImage=e)})}const a=async()=>{i(document.body,t=>s(t));Observer.childListSubtree(document.body,t=>{for(const e of t){for(const t of e.addedNodes){if(t instanceof HTMLElement){s(t);if(t.nodeName.toUpperCase()!=="IMG"){i(t,t=>s(t))}}}}})};a();return{export:{imageResolution:s}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-viewer.min.css"] = `body.image-viewer-opened,html.image-viewer-opened{overflow:hidden!important}.image-viewer-container{background:rgba(0,0,0,.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:100000;display:none;justify-content:center;align-items:center}.image-viewer-container.opened{display:flex}.image-viewer{width:90%;height:90%;display:grid;grid-template-columns:auto 48px;grid-template-rows:48px auto 48px 12px 48px 18px 48px;grid-template-areas:"image close" "image ." "image copy-link" "image ." "image new-tab" "image ." "image download";grid-column-gap:12px;justify-items:center;justify-content:stretch;align-items:center;align-content:stretch}.image-viewer .image{grid-area:image;width:auto;height:auto;max-width:100%;max-height:100%}.image-viewer .close{grid-area:close}.image-viewer .download{grid-area:download}.image-viewer .copy-link{grid-area:copy-link;transform:scale(.95)}.image-viewer .new-tab{grid-area:new-tab;transform:scale(.85)}.image-viewer-icon{cursor:pointer;width:100%;height:100%}.image-viewer-icon svg{max-width:48px;max-height:48px}.image-viewer-icon path{fill:#eee;transition:.2s;transform-origin:center}.image-viewer-icon:hover path{fill:var(--theme-color);transform:scale(1.1)}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-viewer.min.html"] = `
    `; +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/index.min.html"] = `Document`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/medal-helper.min.css"] = `.medal-popup *{transition:.2s}.medal-popup ul{list-style:none;margin:0;padding:0}.medal-popup ul>li.active{box-shadow:0 0 4px 0 var(--theme-color)}.medal-popup ul>li:hover{background-color:rgba(0,0,0,.16)}.medal-popup label{display:flex;align-items:center;justify-content:center;cursor:pointer;padding:8px}.medal-popup label>*{flex-shrink:0}.medal-popup input[type=radio]{visibility:collapse;width:0;margin:0;padding:0}.medal-popup input[type=radio]~i{opacity:0;transform:scale(.8);margin:0}.medal-popup input[type=radio]~.fans-medal-item{margin:0 8px}.medal-popup input[type=radio]:checked~i{opacity:1}.title-image{display:inline-block;vertical-align:middle;height:20px}.fans-medal-item .label{width:40px;text-align:center;padding:0 2px;color:#fff}.fans-medal-item .level{width:16px;background-color:#fff;text-align:center;color:#61decb}.fans-medal-item .label,.fans-medal-item .level{position:relative;display:block;float:left}.fans-medal-item{display:inline-block;height:14px;line-height:14px;color:#fff;border:1px solid #61decb;border-left:0;white-space:nowrap;border-radius:2px;flex-shrink:0;font-size:12px}.level-1,.level-2,.level-3,.level-4{border-color:#61decb}.level-1 .label,.level-2 .label,.level-3 .label,.level-4 .label{background-color:#61decb}.level-1 .level,.level-2 .level,.level-3 .level,.level-4 .level{color:#61decb}.level-5,.level-6,.level-7,.level-8{border-color:#5896de}.level-5 .label,.level-6 .label,.level-7 .label,.level-8 .label{background-color:#5896de}.level-5 .level,.level-6 .level,.level-7 .level,.level-8 .level{color:#5896de}.level-10,.level-11,.level-12,.level-9{border-color:#a068f1}.level-10 .label,.level-11 .label,.level-12 .label,.level-9 .label{background-color:#a068f1}.level-10 .level,.level-11 .level,.level-12 .level,.level-9 .level{color:#a068f1}.level-13,.level-14,.level-15,.level-16{border-color:#ff86b2}.level-13 .label,.level-14 .label,.level-15 .label,.level-16 .label{background-color:#ff86b2}.level-13 .level,.level-14 .level,.level-15 .level,.level-16 .level{color:#ff86b2}.level-17,.level-18,.level-19,.level-20{border-color:#f6be18}.level-17 .label,.level-18 .label,.level-19 .label,.level-20 .label{background-color:#f6be18}.level-17 .level,.level-18 .level,.level-19 .level,.level-20 .level{color:#f6be18}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/medal-helper.min.html"] = `
    更换勋章
    更换头衔
    `; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/medal-helper.min.js"] = (()=>{return(e,t)=>{class i{constructor(e,t){this.isActive=e;this.id=t}static parseJson(e,{successAction:t,errorMessage:i,errorAction:a}){const s=JSON.parse(e);if(s.code!==0){logError(`${i} 错误码:${s.code} ${s.message||""}`);return a(s)}return t(s)}}class a extends i{constructor({medal_id:e,status:t,level:i,medalName:a,uname:s}){super(t===1,e);this.level=i;this.name=a;this.upName=s}static async getList(){return i.parseJson(await Ajax.getTextWithCredentials("https://api.live.bilibili.com/i/api/medal?page=1&pageSize=256"),{successAction:e=>e.data.fansMedalList.map(e=>new a(e)),errorAction:()=>[],errorMessage:"无法获取勋章列表."})}static getContainer(){return document.querySelector("#medal-helper .medal-popup ul")}static getItemTemplate(e){return`
  • \n \n
  • `}async activate(){return i.parseJson(await Ajax.getTextWithCredentials(`https://api.live.bilibili.com/i/ajaxWearFansMedal?medal_id=${this.id}`),{successAction:()=>{this.isActive=true;return true},errorAction:()=>false,errorMessage:"佩戴勋章失败."})}async deactivate(){return i.parseJson(await Ajax.getTextWithCredentials(`https://api.live.bilibili.com/i/ajaxCancelWear`),{successAction:()=>{this.isActive=false;return true},errorAction:()=>false,errorMessage:"卸下勋章失败."})}}class s extends i{constructor({id:e,cid:t,wear:i,css:a,name:r,source:c}){super(i,a);this.tid=e;this.cid=t;this.name=r;this.source=c;s.getImageMap().then(e=>{this.imageUrl=e[this.id]})}static async getImageMap(){if(s.imageMap===undefined){return i.parseJson(await Ajax.getTextWithCredentials("https://api.live.bilibili.com/rc/v1/Title/webTitles"),{successAction(e){s.imageMap={};e.data.forEach(e=>{s.imageMap[e.identification]=e.web_pic_url});return s.imageMap},errorAction:()=>{return{}},errorMessage:"获取头衔图片失败."})}else{return s.imageMap}}static async getList(){return i.parseJson(await Ajax.getTextWithCredentials("https://api.live.bilibili.com/i/api/ajaxTitleInfo?page=1&pageSize=256&had=1"),{successAction:e=>e.data.list.map(e=>new s(e)),errorAction:()=>[],errorMessage:"无法获取头衔列表."})}static getContainer(){return document.querySelector("#title-helper .medal-popup ul")}static getItemTemplate(e){return`
  • \n \n
  • `}async activate(){return i.parseJson(await Ajax.postTextWithCredentials(`https://api.live.bilibili.com/i/ajaxWearTitle`,`id=${this.tid}&cid=${this.cid}`),{successAction:()=>{this.isActive=true;return true},errorAction:()=>false,errorMessage:"佩戴头衔失败."})}async deactivate(){return i.parseJson(await Ajax.postTextWithCredentials(`https://api.live.bilibili.com/i/ajaxCancelWearTitle`,""),{successAction:()=>{this.isActive=false;return true},errorAction:()=>false,errorMessage:"卸下头衔失败."})}}async function r(e){const t=e.getContainer();const i=await e.getList();const a=async()=>{const i=await e.getList();i.forEach(e=>{const i=t.querySelector(`li[data-id='${e.id}']`);if(e.isActive){i.classList.add("active")}else{i.classList.remove("active")}i.querySelector(`input`).checked=e.isActive})};i.forEach(s=>{const r=e.getItemTemplate(s);t.insertAdjacentHTML("beforeend",r);const c=t.querySelector(`li[data-id='${s.id}']`);const n=c.querySelector(`input`);c.addEventListener("click",e=>{if(e.target===n){return}if(s.isActive){s.deactivate().then(a)}else{const e=i.find(e=>e.isActive);if(e){e.isActive=false}s.activate().then(a)}})})}return{export:{Badge:i,Medal:a,Title:s},widget:{condition:()=>document.domain==="live.bilibili.com",content:t.data.medalHelperHtml.text,success:()=>{document.querySelectorAll(".medal-helper").forEach(e=>{const t=e.querySelector(".medal-popup");e.addEventListener("click",e=>{if(!t.contains(e.target)){t.classList.toggle("opened")}})});r(a);s.getImageMap().then(()=>r(s))}}}}})(); diff --git a/bilibili-evolved.preview.user.js b/bilibili-evolved.preview.user.js index 1416435fa..e446a28d5 100644 --- a/bilibili-evolved.preview.user.js +++ b/bilibili-evolved.preview.user.js @@ -139,8 +139,8 @@ const customNavbarDefaultOrders = { favoritesList: 16, historyList: 17, upload: 18, - blank3: 19 -}; + blank3: 19, +} const settings = { useDarkStyle: false, compactLayout: false, @@ -153,8 +153,8 @@ const settings = { touchVideoPlayer: false, customControlBackgroundOpacity: 0.64, customControlBackground: true, - darkScheduleStart: "18:00", - darkScheduleEnd: "6:00", + darkScheduleStart: '18:00', + darkScheduleEnd: '6:00', darkSchedule: false, blurVideoControl: false, toast: true, @@ -167,14 +167,14 @@ const settings = { hideTopSearch: false, touchVideoPlayerDoubleTapControl: false, touchVideoPlayerAnimation: false, - customStyleColor: "#00A0D8", + customStyleColor: '#00A0D8', preserveRank: true, blurBackgroundOpacity: 0.382, useDefaultPlayerMode: false, applyPlayerModeOnPlay: true, - defaultPlayerMode: "常规", + defaultPlayerMode: '常规', useDefaultVideoQuality: false, - defaultVideoQuality: "自动", + defaultVideoQuality: '自动', useDefaultDanmakuSettings: false, enableDanmaku: true, rememberDanmakuSettings: false, @@ -182,8 +182,8 @@ const settings = { subtitlesPreserve: false, smartMask: false, }, - defaultPlayerLayout: "新版", - defaultBangumiLayout: "旧版", + defaultPlayerLayout: '新版', + defaultBangumiLayout: '旧版', useDefaultPlayerLayout: false, skipChargeList: false, comboLike: false, @@ -198,10 +198,10 @@ const settings = { framePlayback: true, useCommentStyle: true, imageResolution: false, - imageResolutionScale: "auto", + imageResolutionScale: 'auto', toastInternalError: false, i18n: false, - i18nLanguage: "日本語", + i18nLanguage: '日本語', playerFocus: false, playerFocusOffset: -10, oldTweets: false, @@ -234,13 +234,15 @@ const settings = { hideOldEntry: true, videoScreenshot: false, hideBangumiReviews: false, - filenameFormat: "[title][ - ep]", + filenameFormat: '[title][ - ep]', sideBarOffset: 0, noLiveAutoplay: false, hideHomeLive: false, noMiniVideoAutoplay: false, + useDefaultVideoSpeed: false, + defaultVideoSpeed: 1, cache: {}, -}; +} const fixedSettings = { guiSettings: true, viewCover: true, @@ -255,16 +257,15 @@ const fixedSettings = { forceWide: false, useNewStyle: false, overrideNavBar: false, - latestVersionLink: "https://github.com/the1812/Bilibili-Evolved/raw/preview/bilibili-evolved.preview.user.js", + latestVersionLink: 'https://github.com/the1812/Bilibili-Evolved/raw/preview/bilibili-evolved.preview.user.js', currentVersion: GM_info.script.version, -}; -const settingsChangeHandlers = {}; +} +const settingsChangeHandlers = {} function addSettingsListener (key, handler, initCall) { if (!settingsChangeHandlers[key]) { - settingsChangeHandlers[key] = [handler]; - } - else { - settingsChangeHandlers[key].push(handler); + settingsChangeHandlers[key] = [handler] + } else { + settingsChangeHandlers[key].push(handler) } if (initCall) { const value = settings[key] @@ -272,81 +273,63 @@ function addSettingsListener (key, handler, initCall) { } } function removeSettingsListener (key, handler) { - const handlers = settingsChangeHandlers[key]; + const handlers = settingsChangeHandlers[key] if (!handlers) { - return; + return } - handlers.splice(handlers.indexOf(handler), 1); + handlers.splice(handlers.indexOf(handler), 1) } function loadSettings () { for (const key in fixedSettings) { - settings[key] = fixedSettings[key]; - GM_setValue(key, fixedSettings[key]); + settings[key] = fixedSettings[key] + GM_setValue(key, fixedSettings[key]) } if (Object.keys(languageCodeToName).includes(navigator.language)) { - settings.i18n = true; - settings.i18nLanguage = languageCodeToName[navigator.language]; + settings.i18n = true + settings.i18nLanguage = languageCodeToName[navigator.language] } for (const key in settings) { - let value = GM_getValue(key); + let value = GM_getValue(key) if (value === undefined) { - value = settings[key]; - GM_setValue(key, settings[key]); - } - else if (settings[key] !== undefined && value.constructor === Object) { - value = Object.assign(settings[key], value); + value = settings[key] + GM_setValue(key, settings[key]) + } else if (settings[key] !== undefined && value.constructor === Object) { + value = Object.assign(settings[key], value) } Object.defineProperty(settings, key, { get () { - return value; + return value }, set (newValue) { - value = newValue; - GM_setValue(key, newValue); + value = newValue + GM_setValue(key, newValue) - const handlers = settingsChangeHandlers[key]; + const handlers = settingsChangeHandlers[key] if (handlers) { - if (key === "useDarkStyle") { - setTimeout(() => handlers.forEach(h => h(newValue, value)), 200); - } - else { - handlers.forEach(h => h(newValue, value)); + if (key === 'useDarkStyle') { + setTimeout(() => handlers.forEach(h => h(newValue, value)), 200) + } else { + handlers.forEach(h => h(newValue, value)) } } - const input = document.querySelector(`input[key=${key}]`); + const input = document.querySelector(`input[key=${key}]`) if (input !== null) { - if (input.type === "checkbox") { - input.checked = newValue; - } - else if (input.type === "text" && !input.parentElement.classList.contains("gui-settings-dropdown")) { - input.value = newValue; + if (input.type === 'checkbox') { + input.checked = newValue + } else if (input.type === 'text' && !input.parentElement.classList.contains('gui-settings-dropdown')) { + input.value = newValue } } - }, - }); - // if (settings[key] !== undefined && value.constructor === Object) - // { - // settings[key] = Object.assign(settings[key], value); - // } - // else - // { - // settings[key] = value; - // } + } + }) } } function saveSettings (newSettings) { - // for (const key in settings) - // { - // GM_setValue(key, newSettings[key]); - // } } function onSettingsChange () { - // for (const key in settings) - // { - // GM_addValueChangeListener(key, change); - // } - console.warn("此功能已弃用."); -}; + console.warn('此功能已弃用.') +} +; class Ajax { static send(xhr, body, text = true) diff --git a/bilibili-evolved.user.js b/bilibili-evolved.user.js index 94bdd28a6..8c2208aaa 100644 --- a/bilibili-evolved.user.js +++ b/bilibili-evolved.user.js @@ -139,8 +139,8 @@ const customNavbarDefaultOrders = { favoritesList: 16, historyList: 17, upload: 18, - blank3: 19 -}; + blank3: 19, +} const settings = { useDarkStyle: false, compactLayout: false, @@ -153,8 +153,8 @@ const settings = { touchVideoPlayer: false, customControlBackgroundOpacity: 0.64, customControlBackground: true, - darkScheduleStart: "18:00", - darkScheduleEnd: "6:00", + darkScheduleStart: '18:00', + darkScheduleEnd: '6:00', darkSchedule: false, blurVideoControl: false, toast: true, @@ -167,14 +167,14 @@ const settings = { hideTopSearch: false, touchVideoPlayerDoubleTapControl: false, touchVideoPlayerAnimation: false, - customStyleColor: "#00A0D8", + customStyleColor: '#00A0D8', preserveRank: true, blurBackgroundOpacity: 0.382, useDefaultPlayerMode: false, applyPlayerModeOnPlay: true, - defaultPlayerMode: "常规", + defaultPlayerMode: '常规', useDefaultVideoQuality: false, - defaultVideoQuality: "自动", + defaultVideoQuality: '自动', useDefaultDanmakuSettings: false, enableDanmaku: true, rememberDanmakuSettings: false, @@ -182,8 +182,8 @@ const settings = { subtitlesPreserve: false, smartMask: false, }, - defaultPlayerLayout: "新版", - defaultBangumiLayout: "旧版", + defaultPlayerLayout: '新版', + defaultBangumiLayout: '旧版', useDefaultPlayerLayout: false, skipChargeList: false, comboLike: false, @@ -198,10 +198,10 @@ const settings = { framePlayback: true, useCommentStyle: true, imageResolution: false, - imageResolutionScale: "auto", + imageResolutionScale: 'auto', toastInternalError: false, i18n: false, - i18nLanguage: "日本語", + i18nLanguage: '日本語', playerFocus: false, playerFocusOffset: -10, oldTweets: false, @@ -234,13 +234,15 @@ const settings = { hideOldEntry: true, videoScreenshot: false, hideBangumiReviews: false, - filenameFormat: "[title][ - ep]", + filenameFormat: '[title][ - ep]', sideBarOffset: 0, noLiveAutoplay: false, hideHomeLive: false, noMiniVideoAutoplay: false, + useDefaultVideoSpeed: false, + defaultVideoSpeed: 1, cache: {}, -}; +} const fixedSettings = { guiSettings: true, viewCover: true, @@ -255,16 +257,15 @@ const fixedSettings = { forceWide: false, useNewStyle: false, overrideNavBar: false, - latestVersionLink: "https://github.com/the1812/Bilibili-Evolved/raw/master/bilibili-evolved.user.js", + latestVersionLink: 'https://github.com/the1812/Bilibili-Evolved/raw/master/bilibili-evolved.user.js', currentVersion: GM_info.script.version, -}; -const settingsChangeHandlers = {}; +} +const settingsChangeHandlers = {} function addSettingsListener (key, handler, initCall) { if (!settingsChangeHandlers[key]) { - settingsChangeHandlers[key] = [handler]; - } - else { - settingsChangeHandlers[key].push(handler); + settingsChangeHandlers[key] = [handler] + } else { + settingsChangeHandlers[key].push(handler) } if (initCall) { const value = settings[key] @@ -272,81 +273,63 @@ function addSettingsListener (key, handler, initCall) { } } function removeSettingsListener (key, handler) { - const handlers = settingsChangeHandlers[key]; + const handlers = settingsChangeHandlers[key] if (!handlers) { - return; + return } - handlers.splice(handlers.indexOf(handler), 1); + handlers.splice(handlers.indexOf(handler), 1) } function loadSettings () { for (const key in fixedSettings) { - settings[key] = fixedSettings[key]; - GM_setValue(key, fixedSettings[key]); + settings[key] = fixedSettings[key] + GM_setValue(key, fixedSettings[key]) } if (Object.keys(languageCodeToName).includes(navigator.language)) { - settings.i18n = true; - settings.i18nLanguage = languageCodeToName[navigator.language]; + settings.i18n = true + settings.i18nLanguage = languageCodeToName[navigator.language] } for (const key in settings) { - let value = GM_getValue(key); + let value = GM_getValue(key) if (value === undefined) { - value = settings[key]; - GM_setValue(key, settings[key]); - } - else if (settings[key] !== undefined && value.constructor === Object) { - value = Object.assign(settings[key], value); + value = settings[key] + GM_setValue(key, settings[key]) + } else if (settings[key] !== undefined && value.constructor === Object) { + value = Object.assign(settings[key], value) } Object.defineProperty(settings, key, { get () { - return value; + return value }, set (newValue) { - value = newValue; - GM_setValue(key, newValue); + value = newValue + GM_setValue(key, newValue) - const handlers = settingsChangeHandlers[key]; + const handlers = settingsChangeHandlers[key] if (handlers) { - if (key === "useDarkStyle") { - setTimeout(() => handlers.forEach(h => h(newValue, value)), 200); - } - else { - handlers.forEach(h => h(newValue, value)); + if (key === 'useDarkStyle') { + setTimeout(() => handlers.forEach(h => h(newValue, value)), 200) + } else { + handlers.forEach(h => h(newValue, value)) } } - const input = document.querySelector(`input[key=${key}]`); + const input = document.querySelector(`input[key=${key}]`) if (input !== null) { - if (input.type === "checkbox") { - input.checked = newValue; - } - else if (input.type === "text" && !input.parentElement.classList.contains("gui-settings-dropdown")) { - input.value = newValue; + if (input.type === 'checkbox') { + input.checked = newValue + } else if (input.type === 'text' && !input.parentElement.classList.contains('gui-settings-dropdown')) { + input.value = newValue } } - }, - }); - // if (settings[key] !== undefined && value.constructor === Object) - // { - // settings[key] = Object.assign(settings[key], value); - // } - // else - // { - // settings[key] = value; - // } + } + }) } } function saveSettings (newSettings) { - // for (const key in settings) - // { - // GM_setValue(key, newSettings[key]); - // } } function onSettingsChange () { - // for (const key in settings) - // { - // GM_addValueChangeListener(key, change); - // } - console.warn("此功能已弃用."); -}; + console.warn('此功能已弃用.') +} +; class Ajax { static send(xhr, body, text = true) diff --git a/min/custom-navbar.min.css b/min/custom-navbar.min.css index ae8624269..7cc63483c 100644 --- a/min/custom-navbar.min.css +++ b/min/custom-navbar.min.css @@ -1 +1 @@ -@font-face{font-family:custom-navbar-font;src:url(//s1.hdslb.com/bfs/seed/jinkela/header/asserts/iconfont.ttf) format('truetype')}.custom-navbar-iconfont{color:inherit;font-family:custom-navbar-font!important;font-size:24px;font-style:normal}.custom-navbar-icon-logo::before{content:"\E725"}body{--navbar-height:50px;--navbar-foreground:#555;--navbar-background:white;--navbar-bounds-padding:0 5%;--navbar-blur-opacity:0.7}.bili-header-m>#banner_link .search,.i_menu_login,body.no-banner #banner_link,body.no-banner .z-top-container.has-banner>.header,li.nav-item[report-id=playpage_dynamic] .i-frame,li.nav-item[report-id=playpage_dynamic] iframe{display:none!important}.bili-header-m>.nav-menu,.z_top{visibility:hidden!important;height:var(--navbar-height)!important}.link-top-container#tab-container{top:var(--navbar-height)!important}.custom-navbar{position:absolute;top:0;left:0;height:var(--navbar-height);width:100%;background-color:var(--navbar-background);color:var(--navbar-foreground);z-index:10001;display:flex;justify-content:center}.custom-navbar:not(.fill) .custom-navbar-iconfont{color:var(--theme-color)}.custom-navbar path{fill:var(--navbar-foreground)}.custom-navbar.fill path{fill:var(--foreground-color-d)}.custom-navbar.shadow{box-shadow:#0002 0 1px 10px 1px}.custom-navbar.dark.shadow{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings.dark,.custom-navbar.dark:not(.fill){--navbar-background:#222;--navbar-foreground:#eee}.custom-navbar .popup{color:#000;background:#fff;transition:.2s ease-out .2s}.custom-navbar.dark .popup{color:#eee;background:#222}.custom-navbar,.custom-navbar *,.custom-navbar-settings,.custom-navbar-settings *{transition:.2s ease-out;-webkit-tap-highlight-color:transparent;outline:0!important;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0;padding-inline-end:0}.custom-navbar.fill{--navbar-background:var(--theme-color);--navbar-foreground:var(--foreground-color-d)}.custom-navbar.fill.shadow{box-shadow:var(--theme-color-30) 0 2px 10px 1px}.custom-navbar>ul{display:flex;align-items:center;justify-content:space-between;margin:var(--navbar-bounds-padding);height:100%;flex-grow:1}.custom-navbar ul{list-style:none;color:inherit}.custom-navbar li{color:inherit;list-style:none}.custom-navbar>ul>li{position:relative;height:100%;display:flex;align-items:center;color:inherit}.custom-navbar li .active-bar{position:absolute;left:0;bottom:0;background-color:var(--theme-color);width:100%;height:3px;display:none}.custom-navbar.fill li .active-bar{background-color:rgba(0,0,0,.3)}.custom-navbar li.active .active-bar{display:flex}.custom-navbar>ul>li.view-border::before{content:"";width:94%;height:94%;border:2px dashed #888a;position:absolute;top:3%;left:3%;box-sizing:border-box}.custom-navbar>ul>li:not(.disabled){cursor:pointer}.custom-navbar>ul>li.disabled a{cursor:default}.custom-navbar>ul>li:not(.disabled):hover{background:rgba(0,0,0,.1)}.custom-navbar .main-content{font-size:10pt;height:100%;display:flex;align-items:center;padding:0 16px;color:var(--navbar-foreground);user-select:none}.custom-navbar .main-content:hover{color:var(--navbar-foreground)!important}.custom-navbar .popup{position:absolute;top:100%;left:50%;padding:16px;box-shadow:rgba(0,0,0,.1) 0 4px 40px 20px;pointer-events:none;opacity:0;transform:translateX(-50%)}.custom-navbar.compact li:not([data-name=userInfo]) .popup{padding:8px}.custom-navbar.dark .popup{box-shadow:rgba(0,0,0,.3) 0 4px 40px 20px}.custom-navbar .popup.no-padding{padding:0}.custom-navbar .popup.transparent{background-color:transparent!important;box-shadow:none}#custom-navbar-home-popup .category-item:hover .popup,.custom-navbar>ul>li:not(.disabled):hover>.popup{pointer-events:initial;opacity:1}.custom-navbar a,.custom-navbar a:hover{color:inherit!important;text-decoration:none}#custom-navbar-home-popup{max-height:80vh;display:flex;flex-direction:column;flex-wrap:wrap;width:350px}@media screen and (min-height:1000px){#custom-navbar-home-popup{flex-wrap:nowrap;width:250px}}#custom-navbar-home-popup .category-item{font-size:12pt;padding:8px 16px;cursor:pointer;position:relative}.custom-navbar.compact #custom-navbar-home-popup .category-item{padding:6px}#custom-navbar-home-popup .category-item:hover{background-color:#0001}#custom-navbar-home-popup .category-item a{display:flex;justify-content:space-between;align-items:center}#custom-navbar-home-popup .category-item svg{width:25px;height:25px;fill:currentColor;margin-right:10px}#custom-navbar-home-popup .category-item div{flex:1 0 auto}#custom-navbar-home-popup .category-item.main{min-width:150px}.custom-navbar.compact #custom-navbar-home-popup .category-item.main{min-width:110px}#custom-navbar-home-popup .category-item .popup{z-index:10002;width:max-content;transform:scaleX(0);transform-origin:left;padding:8px;left:100%;top:0;transition-delay:.3s;pointer-events:initial}#custom-navbar-home-popup .category-item:hover .popup{transform:scaleX(1)}#custom-navbar-home-popup .category-item .popup a,#message-list a,#upload-actions a{padding:8px;display:flex;justify-content:start;border-bottom:2px solid transparent;font-size:11pt;line-height:16pt}.custom-navbar.compact #custom-navbar-home-popup .category-item .popup a{padding:6px}#custom-navbar-home-popup .category-item .popup a:hover,#message-list a:hover,#upload-actions a:hover{border-bottom:2px solid var(--theme-color)}#custom-navbar-home-popup .category-item span{opacity:.5}.im-list-box{border-radius:0!important}#upload-button{padding-left:4px;font-size:12pt;font-weight:700}#message-list,#upload-actions{width:max-content}.custom-navbar form{height:100%;display:flex;align-items:center;position:relative;--submit-button-size:30px;opacity:.4}.custom-navbar.fill form{opacity:.8}.custom-navbar form:focus-within,.custom-navbar form:hover,.custom-navbar.fill form:focus-within,.custom-navbar.fill form:hover{opacity:1}.custom-navbar form input{border:none;height:60%;background:0 0;border-bottom:1.5px solid!important;color:var(--navbar-foreground);box-sizing:border-box;width:250px;padding-right:var(--submit-button-size);padding-left:4px}.custom-navbar form input:focus{border-bottom-color:var(--navbar-foreground)!important;outline:0!important}.custom-navbar form button[type=submit]{background:0 0;border:none;padding:4px;cursor:pointer;height:var(--submit-button-size);width:var(--submit-button-size);position:absolute;right:0;top:50%;transform:translateY(-50%)}.custom-navbar form input[type=text]::placeholder{color:var(--navbar-foreground)!important;opacity:.9}.custom-navbar .user-face-container{position:relative;height:calc(var(--navbar-height) - 16px);width:calc(var(--navbar-height) - 16px)}.custom-navbar .user-face,.custom-navbar .user-pendant{position:absolute;width:100%;height:100%}.custom-navbar .user-face{background-color:transparent;background-size:contain;border-radius:50%}.custom-navbar .user-pendant{background-color:transparent;background-size:cover;width:170%;height:170%;top:-12px;left:-12px;opacity:0;pointer-events:none}.user-info-panel{width:240px;font-size:12px}.user-info-panel>*{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:300px}.user-info-panel .not-logged-in{height:auto;margin-top:40px;flex-direction:row;justify-content:space-evenly}.user-info-panel .row{display:flex;justify-content:space-between;align-items:center;width:100%;position:relative}.user-info-panel .name{font-size:14pt;margin-top:40px;color:inherit}.user-info-panel .name:hover{color:var(--theme-color)}.user-info-panel .type{padding:4px;background:var(--theme-color)!important;color:var(--foreground-color)!important;margin-bottom:8px}.user-info-panel .b-coins,.user-info-panel .coins,.user-info-panel .coins-container,.user-info-panel .verifications{display:flex;justify-content:center;align-items:center;flex:1 0 50%}.user-info-panel .coins-container,.user-info-panel .verifications{justify-content:space-evenly}.user-info-panel .coins-container>a{margin:4px 0}.user-info-panel .coins-container{flex-direction:column;align-items:start;padding-left:10px}.user-info-panel .verifications a{border:1px solid var(--navbar-foreground);border-radius:50%;width:24px;height:24px;display:flex;justify-content:center;align-items:center}.user-info-panel .verifications a.verified{border-color:var(--theme-color)}.user-info-panel .verifications i{opacity:.6;font-size:16px}.user-info-panel .verifications a.verified i{opacity:1;color:var(--theme-color)}.user-info-panel .b-coins::before,.user-info-panel .coins::before{content:attr(title);color:var(--theme-color);margin-right:4px}.user-info-panel .level,.user-info-panel .level:hover{color:var(--theme-color)}.custom-navbar .level strong{font-size:14pt;font-weight:400;margin-left:2px}.user-info-panel .level,.user-info-panel .level-progress-label{margin-bottom:8px}.user-info-panel .level-progress{width:100%;height:2px;background-color:#8884;position:absolute;bottom:0;left:0}.user-info-panel .level-progress-thumb{width:100%;height:100%;transform-origin:left;background-color:var(--theme-color)}.user-info-panel .row.operations{transform:translateX(5%)}.user-info-panel .operations a{display:flex;justify-content:start;align-items:center;flex:1 0 50%}.user-info-panel .operations a:hover,.user-info-panel .operations a:hover i{color:var(--theme-color)!important}.user-info-panel .operations i{font-size:16px;margin-right:4px}.custom-navbar .not-logged-in .login,.custom-navbar .not-logged-in .sign-up{padding:8px 16px}.custom-navbar .not-logged-in .login,.custom-navbar .not-logged-in .login:hover{background-color:var(--theme-color);color:var(--foreground-color)}.custom-navbar .not-logged-in .sign-up,.custom-navbar .not-logged-in .sign-up:hover{background-color:#8884}.custom-navbar li:hover .user-face,.custom-navbar li:hover .user-pendant{transform:scale(2) translateY(10px);z-index:100;opacity:1}.custom-navbar .video-list{width:280px;font-size:12px}.custom-navbar .video-list li:not(.more){border-left:2px solid var(--theme-color-30)}.custom-navbar .video-list li:not(.more) a{padding:6px 16px;margin:6px 0;box-sizing:border-box;transition:.2s ease-out .1s;display:block;width:100%;height:100%;line-height:1.5}.custom-navbar.compact .video-list li:not(.more) a{padding:6px 8px}.custom-navbar .video-list li:hover{background:rgba(0,0,0,.1);border-color:var(--theme-color)}.custom-navbar .video-list li.more{border-bottom:2px solid transparent}.custom-navbar .video-list li.more a{width:100%;padding:8px 0;display:flex;justify-content:center}.custom-navbar.compact .video-list li.more a{padding:6px 0}.custom-navbar .video-list li.more:hover{border-color:var(--theme-color)}.custom-navbar .video-list .loading{display:flex;justify-content:center;border-color:transparent!important}.custom-navbar .video-list.loaded .loading{display:none}.custom-navbar .video-list.history .history-item{border:none!important}.custom-navbar.compact .video-list li:not(.more) a,.custom-navbar.compact .video-list.history .history-item .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.custom-navbar .video-list.history li:not(.more) a{justify-content:space-between;position:relative;display:flex;padding:6px 8px!important}.custom-navbar.compact .video-list.history li:not(.more) a{padding:6px!important}.custom-navbar .video-list.history a .description{opacity:.6;margin-left:4px;white-space:nowrap}.custom-navbar .video-list.history a .progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background-color:var(--theme-color);transform-origin:left;opacity:.3}.custom-navbar .video-list.history a:hover .progress{opacity:1}.custom-navbar .notify-count{position:absolute;left:50%;top:0;background-color:var(--theme-color);color:var(--foreground-color);padding:0 8px;display:flex;justify-content:center;font-size:11px;transform:translateX(-50%);border-radius:0 0 8px 8px;opacity:0;line-height:14px}.custom-navbar.fill .notify-count{background-color:rgba(0,0,0,.3)}.custom-navbar .notify-count:not(:empty){opacity:1}#message-list a{position:relative}#message-list a[data-count]::after{content:attr(data-count);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:var(--theme-color);padding:0 10px;display:flex;justify-content:center;font-size:11pt;border-radius:6px}.custom-navbar-settings{display:flex;flex-direction:column;pointer-events:none;opacity:0;width:370px;position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);z-index:10001;background:var(--navbar-background);padding-top:16px;box-shadow:#0002 0 1px 10px 1px;font-size:16px;line-height:1.5}.custom-navbar-settings.dark{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings h1{color:var(--navbar-foreground);font-size:16pt;font-weight:700}.custom-navbar-settings.show{pointer-events:initial;opacity:1}.custom-navbar-settings .header,.custom-navbar-settings .orders{display:flex;justify-content:space-between;align-items:center}.custom-navbar-settings .header{padding:0 24px;font-size:9pt}.custom-navbar-settings .header .header-blank,.custom-navbar-settings .orders{flex-grow:1}.custom-navbar-settings .order-list{padding:0 24px;max-height:60vh;overflow:auto;overscroll-behavior:contain;list-style:none;width:100%;margin:16px 0}.custom-navbar-settings button{border:none;background-color:transparent;color:var(--navbar-foreground);padding:8px;cursor:pointer;font-size:14pt}.custom-navbar-settings button:hover{color:var(--theme-color)}.custom-navbar-settings .order-list li .mdi-menu{padding:8px}.custom-navbar-settings .order-list i{font-size:14pt}.custom-navbar-settings .order-list i.mdi-menu{cursor:move}.custom-navbar-settings .order-list li{color:var(--navbar-foreground);font-size:12pt;display:flex!important;justify-content:space-between;align-items:center;user-select:none;transition:opacity .2s ease-out}.custom-navbar-settings .order-list li.hidden{opacity:.5}.custom-navbar-settings .paddings{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;color:var(--navbar-foreground)}.custom-navbar-settings .paddings span{min-width:40px}.custom-navbar-settings .paddings input{flex-grow:1;margin-right:16px;-webkit-appearance:none;background:0 0;width:100%}.custom-navbar-settings .paddings input::-webkit-slider-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none;transform:translateY(-7px)}.custom-navbar-settings .paddings input::-moz-range-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none}.custom-navbar-settings .paddings input::-webkit-slider-runnable-track{width:100%;background:#8884;height:4px}.custom-navbar-settings .paddings input::-moz-range-track{width:100%;background:#8884;height:4px}.custom-navbar .blur-layer-container{overflow:hidden;display:none;width:100%;height:100%;position:absolute;top:0;left:0}.custom-navbar.blur .blur-layer-container{display:flex}.custom-navbar .blur-layer{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;filter:blur(36px);opacity:var(--navbar-blur-opacity)}.custom-navbar .blur-layer.left-pad{position:absolute;left:0;top:0;transform:translateX(-100%) scaleX(-1);width:100%;height:100%}.custom-navbar .blur-layer.right-pad{position:absolute;left:0;top:0;transform:translateX(100%) scaleX(-1);width:100%;height:100%}.custom-navbar.dark .blur-layer{filter:blur(54px)}body.all-navbar-fill .link-navbar,body.all-navbar-fill .link-navbar .main-ctnr .nav-items-ctnr,body.all-navbar-fill .nav-header-wrapper{background-color:var(--theme-color)!important}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo:before,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher.open-btn,body.all-navbar-fill .link-navbar .nav-item:first-child:before,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-logo,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-tv-icon,body.all-navbar-fill .nav-header-wrapper .nav-header .search-icon{filter:brightness(0) invert(1)!important;opacity:.8666666}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i:hover,body.all-navbar-fill .link-navbar .nav-item .label,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover,body.all-navbar-fill .link-navbar.black .my-link-btn .label,body.all-navbar-fill .my-link-btn,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-mainsite,body.all-navbar-fill .nav-header-wrapper .nav-header .order-center,body.all-navbar-fill .search-bar-ctnr .search-bar .placeholder,body.all-navbar-fill .search-bar-ctnr .search-bar .search-btn,body.all-navbar-fill .shortcuts-ctnr .shortcut-item,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover{color:var(--foreground-color-d)!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{color:#fff!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{opacity:.7!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{box-shadow:0 1px 4px 0 #0004}body.all-navbar-fill .link-navbar .nav-item:hover,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover:after,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{background-color:transparent!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar{border-color:transparent!important}body.all-navbar-fill .link-navbar .publish-btn{background-image:none!important;box-shadow:none!important}body.all-navbar-fill .link-navbar .my-link-btn .label:hover,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill :not(.app-ctnr) .link-navbar .nav-item:hover{background-color:transparent!important}body.all-navbar-fill .link-navbar .nav-item,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item{transition:.2s ease-out}@media screen and (max-width:1400px){.custom-navbar .main-content{padding:0 10px}}@media screen and (max-width:1300px){.custom-navbar .main-content{padding:0 8px}.custom-navbar form input{width:200px}} \ No newline at end of file +@font-face{font-family:custom-navbar-font;src:url(//s1.hdslb.com/bfs/seed/jinkela/header/asserts/iconfont.ttf) format('truetype')}.custom-navbar-iconfont{color:inherit;font-family:custom-navbar-font!important;font-size:24px;font-style:normal}.custom-navbar-icon-logo::before{content:"\E725"}body{--navbar-height:50px;--navbar-foreground:#555;--navbar-background:white;--navbar-bounds-padding:0 5%;--navbar-blur-opacity:0.7}.bili-header-m>#banner_link .search,.i_menu_login,body.no-banner #banner_link,body.no-banner .z-top-container.has-banner>.header,li.nav-item[report-id=playpage_dynamic] .i-frame,li.nav-item[report-id=playpage_dynamic] iframe{display:none!important}.bili-header-m>.nav-menu,.z_top{visibility:hidden!important;height:var(--navbar-height)!important}.link-top-container#tab-container{top:var(--navbar-height)!important}.custom-navbar{position:absolute;top:0;left:0;height:var(--navbar-height);width:100%;background-color:var(--navbar-background);color:var(--navbar-foreground);z-index:10001;display:flex;justify-content:center}.custom-navbar:not(.fill) .custom-navbar-iconfont{color:var(--theme-color)}.custom-navbar path{fill:var(--navbar-foreground)}.custom-navbar.fill path{fill:var(--foreground-color-d)}.custom-navbar.shadow{box-shadow:#0002 0 1px 10px 1px}.custom-navbar.dark.shadow{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings.dark,.custom-navbar.dark:not(.fill){--navbar-background:#222;--navbar-foreground:#eee}.custom-navbar .popup{color:#000;background:#fff;transition:.2s ease-out .2s}.custom-navbar.dark .popup{color:#eee;background:#222}.custom-navbar,.custom-navbar *,.custom-navbar-settings,.custom-navbar-settings *{transition:.2s ease-out;-webkit-tap-highlight-color:transparent;outline:0!important;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0;padding-inline-end:0}.custom-navbar.fill{--navbar-background:var(--theme-color);--navbar-foreground:var(--foreground-color-d)}.custom-navbar.fill.shadow{box-shadow:var(--theme-color-30) 0 2px 10px 1px}.custom-navbar>ul{display:flex;align-items:center;justify-content:space-between;margin:var(--navbar-bounds-padding);height:100%;flex-grow:1}.custom-navbar ul{list-style:none;color:inherit}.custom-navbar li{color:inherit;list-style:none}.custom-navbar>ul>li{position:relative;height:100%;display:flex;align-items:center;color:inherit}.custom-navbar li .active-bar{position:absolute;left:0;bottom:0;background-color:var(--theme-color);width:100%;height:3px;display:none}.custom-navbar.fill li .active-bar{background-color:rgba(0,0,0,.3)}.custom-navbar li.active .active-bar{display:flex}.custom-navbar>ul>li.view-border::before{content:"";width:94%;height:94%;border:2px dashed #888a;position:absolute;top:3%;left:3%;box-sizing:border-box}.custom-navbar>ul>li:not(.disabled){cursor:pointer}.custom-navbar>ul>li.disabled a{cursor:default}.custom-navbar>ul>li:not(.disabled):hover{background:rgba(0,0,0,.1)}.custom-navbar .main-content{font-size:10pt;height:100%;display:flex;align-items:center;padding:0 16px;color:var(--navbar-foreground);user-select:none}.custom-navbar .main-content:hover{color:var(--navbar-foreground)!important}.custom-navbar .popup{position:absolute;top:100%;left:50%;padding:16px;box-shadow:rgba(0,0,0,.1) 0 4px 40px 20px;pointer-events:none;opacity:0;transform:translateX(-50%)}.custom-navbar.compact li:not([data-name=userInfo]) .popup{padding:8px}.custom-navbar.dark .popup{box-shadow:rgba(0,0,0,.3) 0 4px 40px 20px}.custom-navbar .popup.no-padding{padding:0}.custom-navbar .popup.transparent{background-color:transparent!important;box-shadow:none}#custom-navbar-home-popup .category-item:hover .popup,.custom-navbar>ul>li:not(.disabled):hover>.popup{pointer-events:initial;opacity:1}.custom-navbar a,.custom-navbar a:hover{color:inherit!important;text-decoration:none}#custom-navbar-home-popup{max-height:80vh;display:flex;flex-direction:column;flex-wrap:wrap;width:350px}@media screen and (min-height:1000px){#custom-navbar-home-popup{flex-wrap:nowrap;width:250px}}#custom-navbar-home-popup .category-item{font-size:12pt;padding:8px 16px;cursor:pointer;position:relative}.custom-navbar.compact #custom-navbar-home-popup .category-item{padding:6px}#custom-navbar-home-popup .category-item:hover{background-color:#0001}#custom-navbar-home-popup .category-item a{display:flex;justify-content:space-between;align-items:center}#custom-navbar-home-popup .category-item svg{width:25px;height:25px;fill:currentColor;margin-right:10px}#custom-navbar-home-popup .category-item div{flex:1 0 auto}#custom-navbar-home-popup .category-item.main{min-width:150px}.custom-navbar.compact #custom-navbar-home-popup .category-item.main{min-width:110px}#custom-navbar-home-popup .category-item .popup{z-index:10002;width:max-content;transform:scaleX(0);transform-origin:left;padding:8px;left:100%;top:0;transition-delay:.3s;pointer-events:initial}#custom-navbar-home-popup .category-item:hover .popup{transform:scaleX(1)}#custom-navbar-home-popup .category-item .popup a,#message-list a,#upload-actions a{padding:8px;display:flex;justify-content:start;border-bottom:2px solid transparent;font-size:11pt;line-height:16pt}.custom-navbar.compact #custom-navbar-home-popup .category-item .popup a{padding:6px}#custom-navbar-home-popup .category-item .popup a:hover,#message-list a:hover,#upload-actions a:hover{border-bottom:2px solid var(--theme-color)}#custom-navbar-home-popup .category-item span{opacity:.5}.im-list-box{border-radius:0!important}#upload-button{padding-left:4px;font-size:12pt;font-weight:700}#message-list,#upload-actions{width:max-content}.custom-navbar form{height:100%;display:flex;align-items:center;position:relative;--submit-button-size:30px;opacity:.4}.custom-navbar.fill form{opacity:.8}.custom-navbar form:focus-within,.custom-navbar form:hover,.custom-navbar.fill form:focus-within,.custom-navbar.fill form:hover{opacity:1}.custom-navbar form input{border:none;height:60%;background:0 0;border-bottom:1.5px solid!important;color:var(--navbar-foreground);box-sizing:border-box;width:250px;padding-right:var(--submit-button-size);padding-left:4px}.custom-navbar form input:focus{border-bottom-color:var(--navbar-foreground)!important;outline:0!important}.custom-navbar form button[type=submit]{background:0 0;border:none;padding:4px;cursor:pointer;height:var(--submit-button-size);width:var(--submit-button-size);position:absolute;right:0;top:50%;transform:translateY(-50%)}.custom-navbar form input[type=text]::placeholder{color:var(--navbar-foreground)!important;opacity:.9}.custom-navbar .user-face-container{position:relative;height:calc(var(--navbar-height) - 16px);width:calc(var(--navbar-height) - 16px)}.custom-navbar .user-face,.custom-navbar .user-pendant{position:absolute;width:100%;height:100%}.custom-navbar .user-face{background-color:transparent;background-size:contain;border-radius:50%}.custom-navbar .user-pendant{background-color:transparent;background-size:cover;width:170%;height:170%;top:-12px;left:-12px;opacity:0;pointer-events:none}.user-info-panel{width:240px;font-size:12px}.user-info-panel .welcome{font-size:16px;font-weight:700;margin:46px 0 16px;text-align:center}.user-info-panel .grey-button,.user-info-panel .theme-button{align-self:stretch;height:36px;display:flex;align-items:center;justify-content:center}.user-info-panel .grey-button{background:#ededed}.custom-navbar.dark .user-info-panel .grey-button{background:#444}.user-info-panel .theme-button{background:var(--theme-color);color:var(--foreground-color)}.custom-navbar li:hover .user-face,.custom-navbar li:hover .user-pendant{transform:scale(2) translateY(10px);z-index:100;opacity:1}.custom-navbar .video-list{width:280px;font-size:12px}.custom-navbar .video-list li:not(.more){border-left:2px solid var(--theme-color-30)}.custom-navbar .video-list li:not(.more) a{padding:6px 16px;margin:6px 0;box-sizing:border-box;transition:.2s ease-out .1s;display:block;width:100%;height:100%;line-height:1.5}.custom-navbar.compact .video-list li:not(.more) a{padding:6px 8px}.custom-navbar .video-list li:hover{background:rgba(0,0,0,.1);border-color:var(--theme-color)}.custom-navbar .video-list li.more{border-bottom:2px solid transparent}.custom-navbar .video-list li.more a{width:100%;padding:8px 0;display:flex;justify-content:center}.custom-navbar.compact .video-list li.more a{padding:6px 0}.custom-navbar .video-list li.more:hover{border-color:var(--theme-color)}.custom-navbar .video-list .loading{display:flex;justify-content:center;border-color:transparent!important}.custom-navbar .video-list.loaded .loading{display:none}.custom-navbar .video-list.history .history-item{border:none!important}.custom-navbar.compact .video-list li:not(.more) a,.custom-navbar.compact .video-list.history .history-item .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.custom-navbar .video-list.history li:not(.more) a{justify-content:space-between;position:relative;display:flex;padding:6px 8px!important}.custom-navbar.compact .video-list.history li:not(.more) a{padding:6px!important}.custom-navbar .video-list.history a .description{opacity:.6;margin-left:4px;white-space:nowrap}.custom-navbar .video-list.history a .progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background-color:var(--theme-color);transform-origin:left;opacity:.3}.custom-navbar .video-list.history a:hover .progress{opacity:1}.custom-navbar .notify-count{position:absolute;left:50%;top:0;background-color:var(--theme-color);color:var(--foreground-color);padding:0 8px;display:flex;justify-content:center;font-size:11px;transform:translateX(-50%);border-radius:0 0 8px 8px;opacity:0;line-height:14px}.custom-navbar.fill .notify-count{background-color:rgba(0,0,0,.3)}.custom-navbar .notify-count:not(:empty){opacity:1}#message-list a{position:relative}#message-list a[data-count]::after{content:attr(data-count);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:var(--theme-color);padding:0 10px;display:flex;justify-content:center;font-size:11pt;border-radius:6px}.custom-navbar-settings{display:flex;flex-direction:column;pointer-events:none;opacity:0;width:370px;position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);z-index:10001;background:var(--navbar-background);padding-top:16px;box-shadow:#0002 0 1px 10px 1px;font-size:16px;line-height:1.5}.custom-navbar-settings.dark{box-shadow:#0004 0 2px 10px 1px}.custom-navbar-settings h1{color:var(--navbar-foreground);font-size:16pt;font-weight:700}.custom-navbar-settings.show{pointer-events:initial;opacity:1}.custom-navbar-settings .header,.custom-navbar-settings .orders{display:flex;justify-content:space-between;align-items:center}.custom-navbar-settings .header{padding:0 24px;font-size:9pt}.custom-navbar-settings .header .header-blank,.custom-navbar-settings .orders{flex-grow:1}.custom-navbar-settings .order-list{padding:0 24px;max-height:60vh;overflow:auto;overscroll-behavior:contain;list-style:none;width:100%;margin:16px 0}.custom-navbar-settings button{border:none;background-color:transparent;color:var(--navbar-foreground);padding:8px;cursor:pointer;font-size:14pt}.custom-navbar-settings button:hover{color:var(--theme-color)}.custom-navbar-settings .order-list li .mdi-menu{padding:8px}.custom-navbar-settings .order-list i{font-size:14pt}.custom-navbar-settings .order-list i.mdi-menu{cursor:move}.custom-navbar-settings .order-list li{color:var(--navbar-foreground);font-size:12pt;display:flex!important;justify-content:space-between;align-items:center;user-select:none;transition:opacity .2s ease-out}.custom-navbar-settings .order-list li.hidden{opacity:.5}.custom-navbar-settings .paddings{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;color:var(--navbar-foreground)}.custom-navbar-settings .paddings span{min-width:40px}.custom-navbar-settings .paddings input{flex-grow:1;margin-right:16px;-webkit-appearance:none;background:0 0;width:100%}.custom-navbar-settings .paddings input::-webkit-slider-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none;transform:translateY(-7px)}.custom-navbar-settings .paddings input::-moz-range-thumb{-webkit-appearance:none;height:18px;width:18px;background:var(--theme-color);border-radius:50%;box-shadow:0 2px 8px 0 var(--theme-color-50);cursor:pointer;border:none}.custom-navbar-settings .paddings input::-webkit-slider-runnable-track{width:100%;background:#8884;height:4px}.custom-navbar-settings .paddings input::-moz-range-track{width:100%;background:#8884;height:4px}.custom-navbar .blur-layer-container{overflow:hidden;display:none;width:100%;height:100%;position:absolute;top:0;left:0}.custom-navbar.blur .blur-layer-container{display:flex}.custom-navbar .blur-layer{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;filter:blur(36px);opacity:var(--navbar-blur-opacity)}.custom-navbar .blur-layer.left-pad{position:absolute;left:0;top:0;transform:translateX(-100%) scaleX(-1);width:100%;height:100%}.custom-navbar .blur-layer.right-pad{position:absolute;left:0;top:0;transform:translateX(100%) scaleX(-1);width:100%;height:100%}.custom-navbar.dark .blur-layer{filter:blur(54px)}body.all-navbar-fill .link-navbar,body.all-navbar-fill .link-navbar .main-ctnr .nav-items-ctnr,body.all-navbar-fill .nav-header-wrapper{background-color:var(--theme-color)!important}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo:before,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher.open-btn,body.all-navbar-fill .link-navbar .nav-item:first-child:before,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-logo,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-tv-icon,body.all-navbar-fill .nav-header-wrapper .nav-header .search-icon{filter:brightness(0) invert(1)!important;opacity:.8666666}body.all-navbar-fill .link-navbar .main-ctnr .nav-logo,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i,body.all-navbar-fill .link-navbar .main-ctnr .nav-switcher i:hover,body.all-navbar-fill .link-navbar .nav-item .label,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover,body.all-navbar-fill .link-navbar.black .my-link-btn .label,body.all-navbar-fill .my-link-btn,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-mainsite,body.all-navbar-fill .nav-header-wrapper .nav-header .order-center,body.all-navbar-fill .search-bar-ctnr .search-bar .placeholder,body.all-navbar-fill .search-bar-ctnr .search-bar .search-btn,body.all-navbar-fill .shortcuts-ctnr .shortcut-item,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text,body.all-navbar-fill .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover{color:var(--foreground-color-d)!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{color:#fff!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar input::placeholder,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{opacity:.7!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{box-shadow:0 1px 4px 0 #0004}body.all-navbar-fill .link-navbar .nav-item:hover,body.all-navbar-fill .link-navbar .publish-btn,body.all-navbar-fill .link-navbar .publish-btn:hover:after,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar,body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill .nav-header-wrapper .nav-header .nav-header-search-bar{background-color:transparent!important}body.all-navbar-fill .link-navbar .search-bar-ctnr .search-bar{border-color:transparent!important}body.all-navbar-fill .link-navbar .publish-btn{background-image:none!important;box-shadow:none!important}body.all-navbar-fill .link-navbar .my-link-btn .label:hover,body.all-navbar-fill .link-navbar .nav-item:hover .nav-link .label,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item:hover,body.all-navbar-fill :not(.app-ctnr) .link-navbar .nav-item:hover{background-color:transparent!important}body.all-navbar-fill .link-navbar .nav-item,body.all-navbar-fill .link-navbar .shortcuts-ctnr .shortcut-item{transition:.2s ease-out}@media screen and (max-width:1400px){.custom-navbar .main-content{padding:0 10px}}@media screen and (max-width:1300px){.custom-navbar .main-content{padding:0 8px}.custom-navbar form input{width:200px}} \ No newline at end of file diff --git a/min/custom-navbar.min.js b/min/custom-navbar.min.js index fa69886d6..4b0ec0089 100644 --- a/min/custom-navbar.min.js +++ b/min/custom-navbar.min.js @@ -1 +1 @@ -(()=>{return(i,t)=>{if(isIframe()){return}document.body.style.setProperty("--navbar-bounds-padding",`0 ${i.customNavbarBoundsPadding}%`);document.body.style.setProperty("--navbar-blur-opacity",i.customNavbarBlurOpacity||.7);addSettingsListener("customNavbarBlurOpacity",i=>{document.body.style.setProperty("--navbar-blur-opacity",i)});let e=true;const s={widget:{content:`\n
    \n \n 顶栏布局\n
    `,condition:()=>e,success:async()=>{await SpinQuery.select(".custom-navbar-settings");await t.importAsync("slip");const{debounce:e}=await t.importAsync("debounce");const s=document.querySelector("#custom-navbar-settings");s.addEventListener("click",async()=>{const i=await SpinQuery.select(".custom-navbar-settings");if(i){i.classList.toggle("show");document.querySelector(".gui-settings-mask").click()}});s.addEventListener("mouseover",()=>{const t={blank1:"弹性空白1",logo:"Logo",category:"主站",rankingLink:"排行",drawingLink:"相簿",musicLink:"音频",gamesIframe:"游戏中心",livesIframe:"直播",shopLink:"会员购",mangaLink:"漫画",blank2:"弹性空白2",search:"搜索框",userInfo:"用户信息",messages:"消息",activities:"动态",watchlaterList:"稍后再看",favoritesList:"收藏",historyList:"历史",upload:"投稿入口",blank3:"弹性空白3"};Vue.component("order-item",{props:["item"],template:`\n
  • \n \n {{item.displayName}}\n \n
  • \n `,methods:{hidden(){return i.customNavbarHidden.includes(this.item.name)},viewBorder(i){const t=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(t!==null){t.classList[i?"add":"remove"]("view-border")}},toggleHidden(){const t=this.hidden();if(t===false){i.customNavbarHidden.push(this.item.name);i.customNavbarHidden=i.customNavbarHidden}else{const t=i.customNavbarHidden.indexOf(this.item.name);if(t===-1){return}i.customNavbarHidden.splice(t,1);i.customNavbarHidden=i.customNavbarHidden}this.$forceUpdate();const e=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(e!==null){e.style.display=t?"flex":"none"}}}});const s=e(t=>{i.customNavbarBoundsPadding=t;document.body.style.setProperty("--navbar-bounds-padding",`0 ${t}%`)},200);new Vue({el:".custom-navbar-settings",mounted(){const t=document.querySelector(".custom-navbar-settings .order-list");const e=({sourceItem:e,targetItem:s,orderBefore:a,orderAfter:n})=>{if(a===n){return}const l=Object.entries(i.customNavbarOrder);const o=l.sort((i,t)=>i[1]-t[1]).map(i=>i[0]);if(a=n;t--){const e=o[t];i.customNavbarOrder[e]=t+1;document.querySelector(`.custom-navbar li[data-name='${e}']`).style.order=t+1}}i.customNavbarOrder[o[a]]=n;document.querySelector(`.custom-navbar li[data-name='${o[a]}']`).style.order=n;i.customNavbarOrder=i.customNavbarOrder;t.insertBefore(e,s)};new Slip(t);t.addEventListener("slip:beforewait",i=>{if(i.target.classList.contains("mdi-menu")){i.preventDefault()}},false);t.addEventListener("slip:beforeswipe",i=>i.preventDefault(),false);t.addEventListener("slip:reorder",i=>{e({sourceItem:i.target,targetItem:i.detail.insertBefore,orderBefore:i.detail.originalIndex,orderAfter:i.detail.spliceIndex});return false},false)},computed:{orderList(){const e=Object.entries(i.customNavbarOrder);return e.sort((i,t)=>i[1]-t[1]).map(i=>{return{displayName:t[i[0]],name:i[0],order:i[1]}})}},data:{boundsPadding:i.customNavbarBoundsPadding},watch:{boundsPadding(i){s(i)}},methods:{close(){document.querySelector(".custom-navbar-settings").classList.remove("show")},restoreDefault(){if(typeof customNavbarDefaultOrders==="undefined"){Toast.error("未找到默认值设定, 请更新您的脚本.");return}if(confirm("确定要恢复默认顶栏布局吗? 恢复后页面将刷新.")){this.boundsPadding=5;i.customNavbarOrder=customNavbarDefaultOrders;location.reload()}}}})},{once:true})}},unload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="none");t.removeStyle("customNavbarStyle")},reload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="flex");t.applyImportantStyle("customNavbarStyle")}};const a=(i,t,e)=>{e.classList[t?"add":"remove"](i)};const n=i=>{document.querySelector(".custom-navbar").classList[i?"add":"remove"]("dark");document.querySelector(".custom-navbar-settings").classList[i?"add":"remove"]("dark")};addSettingsListener("allNavbarFill",i=>a("all-navbar-fill",i,document.body));a("all-navbar-fill",i.allNavbarFill,document.body);const l=["/www.bilibili.com","/t.bilibili.com","/search.bilibili.com","/space.bilibili.com","/account.bilibili.com","/pay.bilibili.com","/member.bilibili.com","/big.bilibili.com","/message.bilibili.com","/app.bilibili.com","/passport.bilibili.com"];const o=["/t.bilibili.com/lottery/h5/index/#/result","/member.bilibili.com/video/upload"];if(!l.some(i=>document.URL.includes(i))||o.some(i=>document.URL.includes(i))){e=false;return s}let r={};let c={};class m{constructor(){this.html=``;this.popupHtml=``;this.flex=`0 0 auto`;this.disabled=false;this.requestedPopup=false;this.onPopup=null;this.href=null;this.notifyCount=0;this.touch=i.touchNavBar;this.active=false}get name(){return"undefined"}get order(){return i.customNavbarOrder[this.name]}get hidden(){return i.customNavbarHidden.includes(this.name)}}class b extends m{constructor(i){super();this.number=i;this.flex="1 0 auto";this.disabled=true}get name(){return"blank"+this.number}}class u extends m{constructor(){super();this.href=`https://www.bilibili.com/`;this.html=``;this.touch=false}get name(){return"logo"}}class d extends m{constructor(i,t,e){super();this.linkName=e;this.html=i;this.href=t;this.touch=false;this.active=document.URL.startsWith(t)}get name(){return this.linkName+"Link"}}class p extends m{constructor(){super();this.href="https://member.bilibili.com/v2#/upload/video/frame";this.html=`\n \n \n \n
    投稿
    `;this.popupHtml=`\n \n `}get name(){return"upload"}}class h extends m{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n \n `;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.init()}get name(){return"messages"}async init(){const i=await Ajax.getJsonWithCredentials("https://message.bilibili.com/api/notify/query.notify.count.do");const t=await SpinQuery.select("#message-list");const e=[...t.querySelectorAll("a[data-name]")];const s=e.map(i=>i.getAttribute("data-name"));if(i.code!==0){return}const a=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);let n=s.reduce((t,e)=>t+i.data[e],0);if(!n){return}a.innerHTML=n;s.forEach((t,s)=>{const a=i.data[t];if(a>0){e[s].setAttribute("data-count",a)}else{e[s].removeAttribute("data-count")}});e.forEach(i=>{i.addEventListener("click",()=>{const t=i.getAttribute("data-count");i.removeAttribute("data-count");n-=t;a.innerHTML=n||""})})}}class w extends m{constructor(){super();this.html=`主站`;this.requestedPopup=true;this.popupHtml=`\n \n `;this.getOnlineInfo().then(i=>{new Vue({el:"#custom-navbar-home-popup",data:{info:Object.entries(i)}})})}get name(){return"category"}async getOnlineInfo(){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"话题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}}}class v extends m{constructor(){super();this.href="https://space.bilibili.com";this.html=`\n
    \n \n \n
    \n `;this.popupHtml=`\n \n `;this.requestedPopup=true;this.init()}get name(){return"userInfo"}async init(){const i=await SpinQuery.select(".custom-navbar .user-info-panel");new Vue({el:i,data:{...r},computed:{userType(){if(!this.isLogin){return"未登录"}if(this.level_info.current_level===0){return"注册会员"}if(this.vipStatus===1){if(this.vipType===1){return this.vip_theme_type?"小会员":"大会员"}else if(this.vipType===2){return this.vip_theme_type?"年度小会员":"年度大会员"}}return"正式会员"},levelProgressStyle(){const i=(this.level_info.next_exp-this.level_info.current_exp)/(this.level_info.next_exp-this.level_info.current_min);return{transform:`scaleX(${i})`}}}});const t=await SpinQuery.select(".custom-navbar .user-face-container .user-face");if(r.isLogin){const i=r.face.replace("http","https");const e=68;const s=[1,1.25,1.5,1.75,2,2.25,2.5,2.75,3,3.25,3.5,3.75,4];t.setAttribute("srcset",s.map(t=>{return`${i}@${parseInt(e*t)}w_${parseInt(e*t)}h.jpg ${t}x`}).join(","));if(r.pendant.image){const i=await SpinQuery.select(".custom-navbar .user-face-container .user-pendant");const t=r.pendant.image.replace("http","https");const e=116;i.setAttribute("srcset",s.reduce((i,s)=>{return i+`, ${t}@${parseInt(e*s)}w_${parseInt(e*s)}h.png ${s}x`},""))}}else{t.setAttribute("src","https://static.hdslb.com/images/akari.jpg")}}}class g extends m{constructor(){super();this.disabled=true;this.html=`\n \n `;this.init()}async init(){const t=await SpinQuery.select("#custom-navbar-search");const e=t.querySelector("input[name='keyword']");t.addEventListener("submit",s=>{if(e.value===""){if(!i.hideTopSearch){t.querySelector(".recommended-target").click()}s.preventDefault();return false}return true});if(!i.hideTopSearch){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/search/default");if(i.code===0){e.setAttribute("placeholder",i.data.show_name);if(i.data.name.startsWith("av")){t.querySelector(".recommended-target").setAttribute("href",`https://www.bilibili.com/${i.data.name}`)}else{t.querySelector(".recommended-target").setAttribute("href",`https://search.bilibili.com/all?keyword=${i.data.name}`)}}else{console.error("[自定义顶栏] 获取搜索推荐词失败")}}}get name(){return"search"}}class f extends m{constructor(i,t,{src:e,width:s,height:a,lazy:n,iframeName:l}){super();this.iframeName=l;this.html=i;this.href=t;this.popupHtml=`\n \n `;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}class y extends f{constructor(...t){super(...t);this.touch=i.touchNavBar;this.getNotifyCount()}getApiUrl(){return null}getCount(){return 0}async getNotifyCount(){const i=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);const t=await Ajax.getJsonWithCredentials(this.getApiUrl());const e=this.getCount(t);if(t.code===0&&e){i.innerHTML=e;this.onPopup=(()=>{i.innerHTML=""})}}}class k extends y{constructor(){super("动态",i.oldTweets?"https://www.bilibili.com/account/dynamic":"https://t.bilibili.com/",{src:`https://t.bilibili.com/pages/nav/index`,width:`380px`,height:`422px`,lazy:true});this.active=document.URL.replace(/\?.*$/,"")==="https://t.bilibili.com/"}getApiUrl(){const i=document.cookie.replace(new RegExp(`(?:(?:^|.*;\\s*)bp_t_offset_${r.mid}\\s*\\=\\s*([^;]*).*$)|^.*$`),"$1");return`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${r.mid}&update_num_dy_id=${i}&type_list=8,512,64`}getCount(i){return i.data.update_num}get name(){return"activities"}}class _ extends m{constructor({mainUrl:i,name:t,apiUrl:e,listName:s,listMap:a}){super();this.href=i;this.listName=s;this.html=t;this.requestedPopup=false;this.popupHtml=`\n
      \n
    1. 加载中...
    2. \n
    \n `;this.onPopup=(async()=>{if(!a){return}const n=await SpinQuery.select(`.video-list.${s}`);if(n===null){return}const l=await Ajax.getJsonWithCredentials(e);if(l.code!==0){logError(`加载${t}信息失败. 错误码: ${l.code} ${l.message}`);return}const o=a(l).join("");n.insertAdjacentHTML("beforeend",o+`\n
  • 查看更多
  • \n `);n.classList.add("loaded")})}get name(){return this.listName+"List"}}class x extends _{constructor(){super({name:"稍后再看",mainUrl:"https://www.bilibili.com/watchlater/#/list",apiUrl:"https://api.bilibili.com/x/v2/history/toview/web",listName:"watchlater",listMap:t=>{return t.data.list.slice(0,6).map(t=>{const e=t.pages.map(i=>i.cid);const s=t.cid===0?1:e.indexOf(t.cid)+1;const a=i.watchLaterRedirect?`https://www.bilibili.com/video/av${t.aid}?p=${s}`:`https://www.bilibili.com/watchlater/#/av${t.aid}/p${s}`;return`
  • \n ${t.title}\n
  • `})}});this.active=document.URL.startsWith("https://www.bilibili.com/watchlater/")}}class L extends _{constructor(){super({name:"收藏",mainUrl:`https://space.bilibili.com/${r.mid}/favlist`,apiUrl:"https://api.bilibili.com/medialist/gateway/coll/resource/recent",listName:"favorites",listMap:i=>{return i.data.map(i=>{return`
  • \n ${i.title}\n
  • `})}});this.active=document.URL.replace(/\?.*$/,"")===`https://space.bilibili.com/${r.mid}/favlist`}}class $ extends _{constructor(){super({name:"历史",mainUrl:"https://www.bilibili.com/account/history",apiUrl:"https://api.bilibili.com/x/v2/history?pn=1&ps=6",listName:"history",listMap:i=>{return i.data.map(i=>{let t=[];let e="";const s=i.page?i.page.page:1;const a=i.progress>=0?i.progress/i.duration:1;if(s!==1){t.push(`p=${s}`);e+=`看到第${s}话`}if(i.progress>0&&i.progress\n \n ${i.title}\n ${e}\n
    \n
    \n `})}});this.active=document.URL.replace(/\?.*$/,"")==="https://www.bilibili.com/account/history"}}(async()=>{const e=await t.importAsync("customNavbarHtml");const s=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/web-interface/nav");r=s.data;document.body.insertAdjacentHTML("beforeend",e);addSettingsListener("useDarkStyle",n);n(i.useDarkStyle);["Fill","Shadow","Compact","Blur"].forEach(t=>{addSettingsListener("customNavbar"+t,i=>a(t.toLowerCase(),i,document.querySelector(".custom-navbar")));a(t.toLowerCase(),i["customNavbar"+t],document.querySelector(".custom-navbar"))});SpinQuery.condition(()=>document.getElementById("banner_link"),i=>i===null?null:i.style.backgroundImage,i=>{Observer.attributes(i,()=>{const t=document.querySelectorAll(".custom-navbar .blur-layer");t.forEach(t=>{t.style.backgroundImage=i.style.backgroundImage;t.setAttribute("data-image",i.style.backgroundImage)})})});const l=[new b(1),new u,new w,new d("排行","https://www.bilibili.com/ranking","ranking"),new d("相簿","https://h.bilibili.com","drawing"),new d("音频","https://www.bilibili.com/audio/home/","music"),new f("游戏中心","https://game.bilibili.com/",{src:`https://www.bilibili.com/page-proxy/game-nav.html`,width:`680px`,height:`260px`,lazy:true,iframeName:"games"}),new f("直播","https://live.bilibili.com",{src:`https://live.bilibili.com/blackboard/dropdown-menu.html`,width:`528px`,height:`266px`,lazy:true,iframeName:"lives"}),new d("会员购","https://show.bilibili.com","shop"),new d("漫画","https://manga.bilibili.com","manga"),new b(2),new g,new v];if(r.isLogin){l.push(new h,new k,new x,new L,new $)}l.push(new p,new b(3));new Vue({el:".custom-navbar",data:{components:l},methods:{requestPopup(i){if(!i.requestedPopup&&!i.disabled&&!i.active){this.$set(i,`requestedPopup`,true);i.onPopup&&i.onPopup()}}}})})();return s}})(); \ No newline at end of file +(()=>{return(i,t)=>{if(isIframe()){return}document.body.style.setProperty("--navbar-bounds-padding",`0 ${i.customNavbarBoundsPadding}%`);document.body.style.setProperty("--navbar-blur-opacity",i.customNavbarBlurOpacity||.7);addSettingsListener("customNavbarBlurOpacity",i=>{document.body.style.setProperty("--navbar-blur-opacity",i)});let e=true;const s={widget:{content:`\n
    \n \n 顶栏布局\n
    `,condition:()=>e,success:async()=>{await SpinQuery.select(".custom-navbar-settings");await t.importAsync("slip");const{debounce:e}=await t.importAsync("debounce");const s=document.querySelector("#custom-navbar-settings");s.addEventListener("click",async()=>{const i=await SpinQuery.select(".custom-navbar-settings");if(i){i.classList.toggle("show");document.querySelector(".gui-settings-mask").click()}});s.addEventListener("mouseover",()=>{const t={blank1:"弹性空白1",logo:"Logo",category:"主站",rankingLink:"排行",drawingLink:"相簿",musicLink:"音频",gamesIframe:"游戏中心",livesIframe:"直播",shopLink:"会员购",mangaLink:"漫画",blank2:"弹性空白2",search:"搜索框",userInfo:"用户信息",messages:"消息",activities:"动态",watchlaterList:"稍后再看",favoritesList:"收藏",historyList:"历史",upload:"投稿入口",blank3:"弹性空白3"};Vue.component("order-item",{props:["item"],template:`\n
  • \n \n {{item.displayName}}\n \n
  • \n `,methods:{hidden(){return i.customNavbarHidden.includes(this.item.name)},viewBorder(i){const t=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(t!==null){t.classList[i?"add":"remove"]("view-border")}},toggleHidden(){const t=this.hidden();if(t===false){i.customNavbarHidden.push(this.item.name);i.customNavbarHidden=i.customNavbarHidden}else{const t=i.customNavbarHidden.indexOf(this.item.name);if(t===-1){return}i.customNavbarHidden.splice(t,1);i.customNavbarHidden=i.customNavbarHidden}this.$forceUpdate();const e=document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`);if(e!==null){e.style.display=t?"flex":"none"}}}});const s=e(t=>{i.customNavbarBoundsPadding=t;document.body.style.setProperty("--navbar-bounds-padding",`0 ${t}%`)},200);new Vue({el:".custom-navbar-settings",mounted(){const t=document.querySelector(".custom-navbar-settings .order-list");const e=({sourceItem:e,targetItem:s,orderBefore:a,orderAfter:n})=>{if(a===n){return}const l=Object.entries(i.customNavbarOrder);const o=l.sort((i,t)=>i[1]-t[1]).map(i=>i[0]);if(a=n;t--){const e=o[t];i.customNavbarOrder[e]=t+1;document.querySelector(`.custom-navbar li[data-name='${e}']`).style.order=t+1}}i.customNavbarOrder[o[a]]=n;document.querySelector(`.custom-navbar li[data-name='${o[a]}']`).style.order=n;i.customNavbarOrder=i.customNavbarOrder;t.insertBefore(e,s)};new Slip(t);t.addEventListener("slip:beforewait",i=>{if(i.target.classList.contains("mdi-menu")){i.preventDefault()}},false);t.addEventListener("slip:beforeswipe",i=>i.preventDefault(),false);t.addEventListener("slip:reorder",i=>{e({sourceItem:i.target,targetItem:i.detail.insertBefore,orderBefore:i.detail.originalIndex,orderAfter:i.detail.spliceIndex});return false},false)},computed:{orderList(){const e=Object.entries(i.customNavbarOrder);return e.sort((i,t)=>i[1]-t[1]).map(i=>{return{displayName:t[i[0]],name:i[0],order:i[1]}})}},data:{boundsPadding:i.customNavbarBoundsPadding},watch:{boundsPadding(i){s(i)}},methods:{close(){document.querySelector(".custom-navbar-settings").classList.remove("show")},restoreDefault(){if(typeof customNavbarDefaultOrders==="undefined"){Toast.error("未找到默认值设定, 请更新您的脚本.");return}if(confirm("确定要恢复默认顶栏布局吗? 恢复后页面将刷新.")){this.boundsPadding=5;i.customNavbarOrder=customNavbarDefaultOrders;location.reload()}}}})},{once:true})}},unload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="none");t.removeStyle("customNavbarStyle")},reload:()=>{const i=document.querySelectorAll(".custom-navbar,.custom-navbar-settings");i.forEach(i=>i.style.display="flex");t.applyImportantStyle("customNavbarStyle")}};const a=(i,t,e)=>{e.classList[t?"add":"remove"](i)};const n=i=>{document.querySelector(".custom-navbar").classList[i?"add":"remove"]("dark");document.querySelector(".custom-navbar-settings").classList[i?"add":"remove"]("dark")};addSettingsListener("allNavbarFill",i=>a("all-navbar-fill",i,document.body));a("all-navbar-fill",i.allNavbarFill,document.body);const l=["/www.bilibili.com","/t.bilibili.com","/search.bilibili.com","/space.bilibili.com","/account.bilibili.com","/pay.bilibili.com","/member.bilibili.com","/big.bilibili.com","/message.bilibili.com","/app.bilibili.com","/passport.bilibili.com"];const o=["/t.bilibili.com/lottery/h5/index/#/result","/member.bilibili.com/video/upload"];if(!l.some(i=>document.URL.includes(i))||o.some(i=>document.URL.includes(i))){e=false;return s}let r={};let c={};class m{constructor(){this.html=``;this.popupHtml=``;this.flex=`0 0 auto`;this.disabled=false;this.requestedPopup=false;this.onPopup=null;this.href=null;this.notifyCount=0;this.touch=i.touchNavBar;this.active=false}get name(){return"undefined"}get order(){return i.customNavbarOrder[this.name]}get hidden(){return i.customNavbarHidden.includes(this.name)}}class b extends m{constructor(i){super();this.number=i;this.flex="1 0 auto";this.disabled=true}get name(){return"blank"+this.number}}class u extends m{constructor(){super();this.href=`https://www.bilibili.com/`;this.html=``;this.touch=false}get name(){return"logo"}}class d extends m{constructor(i,t,e){super();this.linkName=e;this.html=i;this.href=t;this.touch=false;this.active=document.URL.startsWith(t)}get name(){return this.linkName+"Link"}}class p extends m{constructor(){super();this.href="https://member.bilibili.com/v2#/upload/video/frame";this.html=`\n \n \n \n
    投稿
    `;this.popupHtml=`\n \n `}get name(){return"upload"}}class h extends m{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n \n `;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.init()}get name(){return"messages"}async init(){const i=await Ajax.getJsonWithCredentials("https://message.bilibili.com/api/notify/query.notify.count.do");const t=await SpinQuery.select("#message-list");const e=[...t.querySelectorAll("a[data-name]")];const s=e.map(i=>i.getAttribute("data-name"));if(i.code!==0){return}const a=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);let n=s.reduce((t,e)=>t+i.data[e],0);if(!n){return}a.innerHTML=n;s.forEach((t,s)=>{const a=i.data[t];if(a>0){e[s].setAttribute("data-count",a)}else{e[s].removeAttribute("data-count")}});e.forEach(i=>{i.addEventListener("click",()=>{const t=i.getAttribute("data-count");i.removeAttribute("data-count");n-=t;a.innerHTML=n||""})})}}class w extends m{constructor(){super();this.html=`主站`;this.requestedPopup=true;this.popupHtml=`\n \n `;this.getOnlineInfo().then(i=>{new Vue({el:"#custom-navbar-home-popup",data:{info:Object.entries(i)}})})}get name(){return"category"}async getOnlineInfo(){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"话题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}}}class v extends m{constructor(){super();this.noPadding=true;this.href="https://space.bilibili.com";this.html=`\n
    \n \n \n
    \n `;this.popupHtml=`\n \n `;this.requestedPopup=true;this.init()}get name(){return"userInfo"}async init(){const i=await SpinQuery.select(".custom-navbar .user-info-panel");new Vue({el:i,data:{...r},computed:{userType(){if(!this.isLogin){return"未登录"}if(this.level_info.current_level===0){return"注册会员"}if(this.vipStatus===1){if(this.vipType===1){return this.vip_theme_type?"小会员":"大会员"}else if(this.vipType===2){return this.vip_theme_type?"年度小会员":"年度大会员"}}return"正式会员"},levelProgressStyle(){const i=(this.level_info.next_exp-this.level_info.current_exp)/(this.level_info.next_exp-this.level_info.current_min);return{transform:`scaleX(${i})`}}}});const t=await SpinQuery.select(".custom-navbar .user-face-container .user-face");if(r.isLogin){const i=r.face.replace("http","https");const e=68;const s=[1,1.25,1.5,1.75,2,2.25,2.5,2.75,3,3.25,3.5,3.75,4];t.setAttribute("srcset",s.map(t=>{return`${i}@${parseInt(e*t)}w_${parseInt(e*t)}h.jpg ${t}x`}).join(","));if(r.pendant.image){const i=await SpinQuery.select(".custom-navbar .user-face-container .user-pendant");const t=r.pendant.image.replace("http","https");const e=116;i.setAttribute("srcset",s.reduce((i,s)=>{return i+`, ${t}@${parseInt(e*s)}w_${parseInt(e*s)}h.png ${s}x`},""))}}else{t.setAttribute("src","https://static.hdslb.com/images/akari.jpg")}}}class g extends m{constructor(){super();this.disabled=true;this.html=`\n \n `;this.init()}async init(){const t=await SpinQuery.select("#custom-navbar-search");const e=t.querySelector("input[name='keyword']");t.addEventListener("submit",s=>{if(e.value===""){if(!i.hideTopSearch){t.querySelector(".recommended-target").click()}s.preventDefault();return false}return true});if(!i.hideTopSearch){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/search/default");if(i.code===0){e.setAttribute("placeholder",i.data.show_name);if(i.data.name.startsWith("av")){t.querySelector(".recommended-target").setAttribute("href",`https://www.bilibili.com/${i.data.name}`)}else{t.querySelector(".recommended-target").setAttribute("href",`https://search.bilibili.com/all?keyword=${i.data.name}`)}}else{console.error("[自定义顶栏] 获取搜索推荐词失败")}}}get name(){return"search"}}class f extends m{constructor(i,t,{src:e,width:s,height:a,lazy:n,iframeName:l}){super();this.iframeName=l;this.html=i;this.href=t;this.popupHtml=`\n \n `;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}class y extends f{constructor(...t){super(...t);this.touch=i.touchNavBar;this.getNotifyCount()}getApiUrl(){return null}getCount(){return 0}async getNotifyCount(){const i=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);const t=await Ajax.getJsonWithCredentials(this.getApiUrl());const e=this.getCount(t);if(t.code===0&&e){i.innerHTML=e;this.onPopup=(()=>{i.innerHTML=""})}}}class k extends y{constructor(){super("动态",i.oldTweets?"https://www.bilibili.com/account/dynamic":"https://t.bilibili.com/",{src:`https://t.bilibili.com/pages/nav/index`,width:`380px`,height:`422px`,lazy:true});this.active=document.URL.replace(/\?.*$/,"")==="https://t.bilibili.com/"}getApiUrl(){const i=document.cookie.replace(new RegExp(`(?:(?:^|.*;\\s*)bp_t_offset_${r.mid}\\s*\\=\\s*([^;]*).*$)|^.*$`),"$1");return`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${r.mid}&update_num_dy_id=${i}&type_list=8,512,64`}getCount(i){return i.data.update_num}get name(){return"activities"}}class _ extends m{constructor({mainUrl:i,name:t,apiUrl:e,listName:s,listMap:a}){super();this.href=i;this.listName=s;this.html=t;this.requestedPopup=false;this.popupHtml=`\n
      \n
    1. 加载中...
    2. \n
    \n `;this.onPopup=(async()=>{if(!a){return}const n=await SpinQuery.select(`.video-list.${s}`);if(n===null){return}const l=await Ajax.getJsonWithCredentials(e);if(l.code!==0){logError(`加载${t}信息失败. 错误码: ${l.code} ${l.message}`);return}const o=a(l).join("");n.insertAdjacentHTML("beforeend",o+`\n
  • 查看更多
  • \n `);n.classList.add("loaded")})}get name(){return this.listName+"List"}}class x extends _{constructor(){super({name:"稍后再看",mainUrl:"https://www.bilibili.com/watchlater/#/list",apiUrl:"https://api.bilibili.com/x/v2/history/toview/web",listName:"watchlater",listMap:t=>{return t.data.list.slice(0,6).map(t=>{const e=t.pages.map(i=>i.cid);const s=t.cid===0?1:e.indexOf(t.cid)+1;const a=i.watchLaterRedirect?`https://www.bilibili.com/video/av${t.aid}?p=${s}`:`https://www.bilibili.com/watchlater/#/av${t.aid}/p${s}`;return`
  • \n ${t.title}\n
  • `})}});this.active=document.URL.startsWith("https://www.bilibili.com/watchlater/")}}class L extends _{constructor(){super({name:"收藏",mainUrl:`https://space.bilibili.com/${r.mid}/favlist`,apiUrl:"https://api.bilibili.com/medialist/gateway/coll/resource/recent",listName:"favorites",listMap:i=>{return i.data.map(i=>{return`
  • \n ${i.title}\n
  • `})}});this.active=document.URL.replace(/\?.*$/,"")===`https://space.bilibili.com/${r.mid}/favlist`}}class $ extends _{constructor(){super({name:"历史",mainUrl:"https://www.bilibili.com/account/history",apiUrl:"https://api.bilibili.com/x/v2/history?pn=1&ps=6",listName:"history",listMap:i=>{return i.data.map(i=>{let t=[];let e="";const s=i.page?i.page.page:1;const a=i.progress>=0?i.progress/i.duration:1;if(s!==1){t.push(`p=${s}`);e+=`看到第${s}话`}if(i.progress>0&&i.progress\n \n ${i.title}\n ${e}\n
    \n
    \n `})}});this.active=document.URL.replace(/\?.*$/,"")==="https://www.bilibili.com/account/history"}}(async()=>{const e=await t.importAsync("customNavbarHtml");const s=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/web-interface/nav");r=s.data;document.body.insertAdjacentHTML("beforeend",e);addSettingsListener("useDarkStyle",n);n(i.useDarkStyle);["Fill","Shadow","Compact","Blur"].forEach(t=>{addSettingsListener("customNavbar"+t,i=>a(t.toLowerCase(),i,document.querySelector(".custom-navbar")));a(t.toLowerCase(),i["customNavbar"+t],document.querySelector(".custom-navbar"))});SpinQuery.condition(()=>document.getElementById("banner_link"),i=>i===null?null:i.style.backgroundImage,i=>{Observer.attributes(i,()=>{const t=document.querySelectorAll(".custom-navbar .blur-layer");t.forEach(t=>{t.style.backgroundImage=i.style.backgroundImage;t.setAttribute("data-image",i.style.backgroundImage)})})});const l=[new b(1),new u,new w,new d("排行","https://www.bilibili.com/ranking","ranking"),new d("相簿","https://h.bilibili.com","drawing"),new d("音频","https://www.bilibili.com/audio/home/","music"),new f("游戏中心","https://game.bilibili.com/",{src:`https://www.bilibili.com/page-proxy/game-nav.html`,width:`680px`,height:`260px`,lazy:true,iframeName:"games"}),new f("直播","https://live.bilibili.com",{src:`https://live.bilibili.com/blackboard/dropdown-menu.html`,width:`528px`,height:`266px`,lazy:true,iframeName:"lives"}),new d("会员购","https://show.bilibili.com","shop"),new d("漫画","https://manga.bilibili.com","manga"),new b(2),new g,new v];if(r.isLogin){l.push(new h,new k,new x,new L,new $)}l.push(new p,new b(3));new Vue({el:".custom-navbar",data:{components:l},methods:{requestPopup(i){if(!i.requestedPopup&&!i.disabled&&!i.active){this.$set(i,`requestedPopup`,true);i.onPopup&&i.onPopup()}}}})})();return s}})(); \ No newline at end of file diff --git a/min/index.min.html b/min/index.min.html new file mode 100644 index 000000000..541835377 --- /dev/null +++ b/min/index.min.html @@ -0,0 +1 @@ +Document \ No newline at end of file diff --git a/style/custom-navbar/custom-navbar.css b/style/custom-navbar/custom-navbar.css index 3c196213b..e3123f7e8 100644 --- a/style/custom-navbar/custom-navbar.css +++ b/style/custom-navbar/custom-navbar.css @@ -444,7 +444,36 @@ li.nav-item[report-id='playpage_dynamic'] .i-frame, width: 240px; font-size: 12px; } -.user-info-panel>* +.user-info-panel .welcome +{ + font-size: 16px; + font-weight: bold; + margin: 46px 0 16px 0; + text-align: center; +} +.user-info-panel .grey-button, +.user-info-panel .theme-button +{ + align-self: stretch; + height: 36px; + display: flex; + align-items: center; + justify-content: center; +} +.user-info-panel .grey-button +{ + background: #EDEDED; +} +.custom-navbar.dark .user-info-panel .grey-button +{ + background: #444; +} +.custom-navbar .user-info-panel .theme-button +{ + background: var(--theme-color); + color: var(--foreground-color); +} +/* .user-info-panel>* { display: flex; flex-direction: column; @@ -608,7 +637,7 @@ li.nav-item[report-id='playpage_dynamic'] .i-frame, .custom-navbar .not-logged-in .sign-up:hover { background-color: #8884; -} +} */ .custom-navbar li:hover .user-face, .custom-navbar li:hover .user-pendant diff --git a/style/custom-navbar/custom-navbar.js b/style/custom-navbar/custom-navbar.js index 137808391..3a7f7e210 100644 --- a/style/custom-navbar/custom-navbar.js +++ b/style/custom-navbar/custom-navbar.js @@ -1,65 +1,59 @@ -if (isIframe()) -{ - return; +if (isIframe()) { + return; } document.body.style.setProperty("--navbar-bounds-padding", `0 ${settings.customNavbarBoundsPadding}%`); document.body.style.setProperty("--navbar-blur-opacity", settings.customNavbarBlurOpacity || 0.7); -addSettingsListener("customNavbarBlurOpacity", value => -{ - document.body.style.setProperty("--navbar-blur-opacity", value); +addSettingsListener("customNavbarBlurOpacity", value => { + document.body.style.setProperty("--navbar-blur-opacity", value); }); let showWidget = true; const attributes = { - widget: { - content: /*html*/` + widget: { + content: /*html*/`
    顶栏布局
    `, - condition: () => showWidget, - success: async () => - { - await SpinQuery.select(".custom-navbar-settings"); - await import("slip"); - const { debounce } = await import("debounce"); - // const customNavbar = document.querySelector(".custom-navbar"); - const button = document.querySelector("#custom-navbar-settings"); - button.addEventListener("click", async () => - { - const settingsPanel = await SpinQuery.select(".custom-navbar-settings"); - if (settingsPanel) - { - settingsPanel.classList.toggle("show"); - document.querySelector(".gui-settings-mask").click(); - } - }); - button.addEventListener("mouseover", () => - { - const displayNames = { - blank1: "弹性空白1", - logo: "Logo", - category: "主站", - rankingLink: "排行", - drawingLink: "相簿", - musicLink: "音频", - gamesIframe: "游戏中心", - livesIframe: "直播", - shopLink: "会员购", - mangaLink: "漫画", - blank2: "弹性空白2", - search: "搜索框", - userInfo: "用户信息", - messages: "消息", - activities: "动态", - watchlaterList: "稍后再看", - favoritesList: "收藏", - historyList: "历史", - upload: "投稿入口", - blank3: "弹性空白3", - }; - Vue.component("order-item", { - props: ["item"], - template: /*html*/` + condition: () => showWidget, + success: async () => { + await SpinQuery.select(".custom-navbar-settings"); + await import("slip"); + const { debounce } = await import("debounce"); + // const customNavbar = document.querySelector(".custom-navbar"); + const button = document.querySelector("#custom-navbar-settings"); + button.addEventListener("click", async () => { + const settingsPanel = await SpinQuery.select(".custom-navbar-settings"); + if (settingsPanel) { + settingsPanel.classList.toggle("show"); + document.querySelector(".gui-settings-mask").click(); + } + }); + button.addEventListener("mouseover", () => { + const displayNames = { + blank1: "弹性空白1", + logo: "Logo", + category: "主站", + rankingLink: "排行", + drawingLink: "相簿", + musicLink: "音频", + gamesIframe: "游戏中心", + livesIframe: "直播", + shopLink: "会员购", + mangaLink: "漫画", + blank2: "弹性空白2", + search: "搜索框", + userInfo: "用户信息", + messages: "消息", + activities: "动态", + watchlaterList: "稍后再看", + favoritesList: "收藏", + historyList: "历史", + upload: "投稿入口", + blank3: "弹性空白3", + }; + Vue.component("order-item", { + props: ["item"], + template: /*html*/`
  • @@ -71,291 +65,244 @@ const attributes = {
  • `, - methods: { - hidden() - { - return settings.customNavbarHidden.includes(this.item.name); - }, - viewBorder(view) - { - const navbarItem = document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`); - if (navbarItem !== null) - { - navbarItem.classList[view ? "add" : "remove"]("view-border"); - } - }, - toggleHidden() - { - const isHidden = this.hidden(); - if (isHidden === false) - { - settings.customNavbarHidden.push(this.item.name); - settings.customNavbarHidden = settings.customNavbarHidden; - } - else - { - const index = settings.customNavbarHidden.indexOf(this.item.name); - if (index === -1) - { - return; - } - settings.customNavbarHidden.splice(index, 1); - settings.customNavbarHidden = settings.customNavbarHidden; - } - this.$forceUpdate(); - const navbarItem = document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`); - if (navbarItem !== null) - { - navbarItem.style.display = isHidden ? "flex" : "none"; - } - } - } - }); + methods: { + hidden () { + return settings.customNavbarHidden.includes(this.item.name); + }, + viewBorder (view) { + const navbarItem = document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`); + if (navbarItem !== null) { + navbarItem.classList[view ? "add" : "remove"]("view-border"); + } + }, + toggleHidden () { + const isHidden = this.hidden(); + if (isHidden === false) { + settings.customNavbarHidden.push(this.item.name); + settings.customNavbarHidden = settings.customNavbarHidden; + } + else { + const index = settings.customNavbarHidden.indexOf(this.item.name); + if (index === -1) { + return; + } + settings.customNavbarHidden.splice(index, 1); + settings.customNavbarHidden = settings.customNavbarHidden; + } + this.$forceUpdate(); + const navbarItem = document.querySelector(`.custom-navbar li[data-name='${this.item.name}']`); + if (navbarItem !== null) { + navbarItem.style.display = isHidden ? "flex" : "none"; + } + } + } + }); - const updateBoundsPadding = debounce(value => - { - settings.customNavbarBoundsPadding = value; - document.body.style.setProperty("--navbar-bounds-padding", `0 ${value}%`); - }, 200); - new Vue({ - el: ".custom-navbar-settings", - mounted() - { - const list = document.querySelector(".custom-navbar-settings .order-list"); - const reorder = ({ sourceItem, targetItem, orderBefore, orderAfter }) => - { - if (orderBefore === orderAfter) - { - return; - } - const entires = Object.entries(settings.customNavbarOrder); - const names = entires.sort((a, b) => a[1] - b[1]).map(it => it[0]); - if (orderBefore < orderAfter) - { - for (let i = orderBefore + 1; i <= orderAfter; i++) - { - const name = names[i]; - settings.customNavbarOrder[name] = i - 1; - document.querySelector(`.custom-navbar li[data-name='${name}']`).style.order = i - 1; - } - } - else - { - for (let i = orderBefore - 1; i >= orderAfter; i--) - { - const name = names[i]; - settings.customNavbarOrder[name] = i + 1; - document.querySelector(`.custom-navbar li[data-name='${name}']`).style.order = i + 1; - } - } - settings.customNavbarOrder[names[orderBefore]] = orderAfter; - document.querySelector(`.custom-navbar li[data-name='${names[orderBefore]}']`).style.order = orderAfter; - settings.customNavbarOrder = settings.customNavbarOrder; - list.insertBefore(sourceItem, targetItem); - }; - new Slip(list); - list.addEventListener("slip:beforewait", e => - { - if (e.target.classList.contains("mdi-menu")) - { - e.preventDefault(); - } - }, false); - list.addEventListener("slip:beforeswipe", e => e.preventDefault(), false); - list.addEventListener("slip:reorder", e => - { - reorder({ - sourceItem: e.target, - targetItem: e.detail.insertBefore, - orderBefore: e.detail.originalIndex, - orderAfter: e.detail.spliceIndex, - }); - return false; - }, false); - }, - computed: { - orderList() - { - const orders = Object.entries(settings.customNavbarOrder); - return orders.sort((a, b) => a[1] - b[1]).map(it => - { - return { - displayName: displayNames[it[0]], - name: it[0], - order: it[1], - }; - }); - }, - }, - data: { - boundsPadding: settings.customNavbarBoundsPadding, - }, - watch: { - boundsPadding(value) - { - updateBoundsPadding(value); - }, - }, - methods: { - close() - { - document.querySelector(".custom-navbar-settings").classList.remove("show"); - }, - restoreDefault() - { - if (typeof customNavbarDefaultOrders === "undefined") - { - Toast.error("未找到默认值设定, 请更新您的脚本."); - return; - } - if (confirm("确定要恢复默认顶栏布局吗? 恢复后页面将刷新.")) - { - this.boundsPadding = 5; - settings.customNavbarOrder = customNavbarDefaultOrders; - location.reload(); - } - }, - }, - }); - }, { once: true }); - }, - }, - unload: () => - { - const navbar = document.querySelectorAll(".custom-navbar,.custom-navbar-settings"); - navbar.forEach(it => it.style.display = "none"); - resources.removeStyle("customNavbarStyle"); - }, - reload: () => - { - const navbar = document.querySelectorAll(".custom-navbar,.custom-navbar-settings"); - navbar.forEach(it => it.style.display = "flex"); - resources.applyImportantStyle("customNavbarStyle"); + const updateBoundsPadding = debounce(value => { + settings.customNavbarBoundsPadding = value; + document.body.style.setProperty("--navbar-bounds-padding", `0 ${value}%`); + }, 200); + new Vue({ + el: ".custom-navbar-settings", + mounted () { + const list = document.querySelector(".custom-navbar-settings .order-list"); + const reorder = ({ sourceItem, targetItem, orderBefore, orderAfter }) => { + if (orderBefore === orderAfter) { + return; + } + const entires = Object.entries(settings.customNavbarOrder); + const names = entires.sort((a, b) => a[1] - b[1]).map(it => it[0]); + if (orderBefore < orderAfter) { + for (let i = orderBefore + 1; i <= orderAfter; i++) { + const name = names[i]; + settings.customNavbarOrder[name] = i - 1; + document.querySelector(`.custom-navbar li[data-name='${name}']`).style.order = i - 1; + } + } + else { + for (let i = orderBefore - 1; i >= orderAfter; i--) { + const name = names[i]; + settings.customNavbarOrder[name] = i + 1; + document.querySelector(`.custom-navbar li[data-name='${name}']`).style.order = i + 1; + } + } + settings.customNavbarOrder[names[orderBefore]] = orderAfter; + document.querySelector(`.custom-navbar li[data-name='${names[orderBefore]}']`).style.order = orderAfter; + settings.customNavbarOrder = settings.customNavbarOrder; + list.insertBefore(sourceItem, targetItem); + }; + new Slip(list); + list.addEventListener("slip:beforewait", e => { + if (e.target.classList.contains("mdi-menu")) { + e.preventDefault(); + } + }, false); + list.addEventListener("slip:beforeswipe", e => e.preventDefault(), false); + list.addEventListener("slip:reorder", e => { + reorder({ + sourceItem: e.target, + targetItem: e.detail.insertBefore, + orderBefore: e.detail.originalIndex, + orderAfter: e.detail.spliceIndex, + }); + return false; + }, false); + }, + computed: { + orderList () { + const orders = Object.entries(settings.customNavbarOrder); + return orders.sort((a, b) => a[1] - b[1]).map(it => { + return { + displayName: displayNames[it[0]], + name: it[0], + order: it[1], + }; + }); + }, + }, + data: { + boundsPadding: settings.customNavbarBoundsPadding, + }, + watch: { + boundsPadding (value) { + updateBoundsPadding(value); + }, + }, + methods: { + close () { + document.querySelector(".custom-navbar-settings").classList.remove("show"); + }, + restoreDefault () { + if (typeof customNavbarDefaultOrders === "undefined") { + Toast.error("未找到默认值设定, 请更新您的脚本."); + return; + } + if (confirm("确定要恢复默认顶栏布局吗? 恢复后页面将刷新.")) { + this.boundsPadding = 5; + settings.customNavbarOrder = customNavbarDefaultOrders; + location.reload(); + } + }, + }, + }); + }, { once: true }); }, + }, + unload: () => { + const navbar = document.querySelectorAll(".custom-navbar,.custom-navbar-settings"); + navbar.forEach(it => it.style.display = "none"); + resources.removeStyle("customNavbarStyle"); + }, + reload: () => { + const navbar = document.querySelectorAll(".custom-navbar,.custom-navbar-settings"); + navbar.forEach(it => it.style.display = "flex"); + resources.applyImportantStyle("customNavbarStyle"); + }, }; -const classHandler = (key, value, element) => -{ - element.classList[value ? "add" : "remove"](key); +const classHandler = (key, value, element) => { + element.classList[value ? "add" : "remove"](key); } -const darkHandler = value => -{ - document.querySelector(".custom-navbar").classList[value ? "add" : "remove"]("dark"); - document.querySelector(".custom-navbar-settings").classList[value ? "add" : "remove"]("dark"); +const darkHandler = value => { + document.querySelector(".custom-navbar").classList[value ? "add" : "remove"]("dark"); + document.querySelector(".custom-navbar-settings").classList[value ? "add" : "remove"]("dark"); }; addSettingsListener("allNavbarFill", value => classHandler("all-navbar-fill", value, document.body)); classHandler("all-navbar-fill", settings.allNavbarFill, document.body); const supportedUrls = [ - "/www.bilibili.com", - "/t.bilibili.com", - "/search.bilibili.com", - "/space.bilibili.com", - "/account.bilibili.com", - "/pay.bilibili.com", - "/member.bilibili.com", - "/big.bilibili.com", - "/message.bilibili.com", - "/app.bilibili.com", - "/passport.bilibili.com", + "/www.bilibili.com", + "/t.bilibili.com", + "/search.bilibili.com", + "/space.bilibili.com", + "/account.bilibili.com", + "/pay.bilibili.com", + "/member.bilibili.com", + "/big.bilibili.com", + "/message.bilibili.com", + "/app.bilibili.com", + "/passport.bilibili.com", ]; const unsupportedUrls = [ - "/t.bilibili.com/lottery/h5/index/#/result", - "/member.bilibili.com/video/upload", + "/t.bilibili.com/lottery/h5/index/#/result", + "/member.bilibili.com/video/upload", ] if (!supportedUrls.some(it => document.URL.includes(it)) - || unsupportedUrls.some(it => document.URL.includes(it))) -{ - showWidget = false; - return attributes; + || unsupportedUrls.some(it => document.URL.includes(it))) { + showWidget = false; + return attributes; } let userInfo = {}; let orders = { }; -class NavbarComponent -{ - constructor() - { - this.html = ``; - this.popupHtml = ``; - this.flex = `0 0 auto`; - this.disabled = false; - this.requestedPopup = false; - this.onPopup = null; - this.href = null; - this.notifyCount = 0; - this.touch = settings.touchNavBar; - this.active = false; - } - get name() - { - return "undefined"; - } - get order() - { - return settings.customNavbarOrder[this.name]; - } - get hidden() - { - return settings.customNavbarHidden.includes(this.name); - } +class NavbarComponent { + constructor () { + this.html = ``; + this.popupHtml = ``; + this.flex = `0 0 auto`; + this.disabled = false; + this.requestedPopup = false; + this.onPopup = null; + this.href = null; + this.notifyCount = 0; + this.touch = settings.touchNavBar; + this.active = false; + } + get name () { + return "undefined"; + } + get order () { + return settings.customNavbarOrder[this.name]; + } + get hidden () { + return settings.customNavbarHidden.includes(this.name); + } } -class Blank extends NavbarComponent -{ - constructor(number) - { - super(); - this.number = number; - this.flex = "1 0 auto"; - this.disabled = true; - } - get name() - { - return "blank" + this.number; - } +class Blank extends NavbarComponent { + constructor (number) { + super(); + this.number = number; + this.flex = "1 0 auto"; + this.disabled = true; + } + get name () { + return "blank" + this.number; + } } -class Logo extends NavbarComponent -{ - constructor() - { - super(); - this.href = `https://www.bilibili.com/`; - this.html = /*html*/``; - this.touch = false; - } - get name() - { - return "logo"; - } +class Logo extends NavbarComponent { + constructor () { + super(); + this.href = `https://www.bilibili.com/`; + this.html = /*html*/``; + this.touch = false; + } + get name () { + return "logo"; + } } -class SimpleLink extends NavbarComponent -{ - constructor(name, link, linkName) - { - super(); - this.linkName = linkName; - this.html = name; - this.href = link; - this.touch = false; - this.active = document.URL.startsWith(link); - } - get name() - { - return this.linkName + "Link"; - } +class SimpleLink extends NavbarComponent { + constructor (name, link, linkName) { + super(); + this.linkName = linkName; + this.html = name; + this.href = link; + this.touch = false; + this.active = document.URL.startsWith(link); + } + get name () { + return this.linkName + "Link"; + } } -class Upload extends NavbarComponent -{ - constructor() - { - super(); - this.href = "https://member.bilibili.com/v2#/upload/video/frame"; - this.html = /*html*/` +class Upload extends NavbarComponent { + constructor () { + super(); + this.href = "https://member.bilibili.com/v2#/upload/video/frame"; + this.html = /*html*/`
    投稿
    `; - this.popupHtml = /*html*/` + this.popupHtml = /*html*/` `; - } - get name() - { - return "upload"; - } + } + get name () { + return "upload"; + } } -class Messages extends NavbarComponent -{ - constructor() - { - super(); - this.href = "https://message.bilibili.com/"; - this.html = "消息"; - this.popupHtml = /*html*/` +class Messages extends NavbarComponent { + constructor () { + super(); + this.href = "https://message.bilibili.com/"; + this.html = "消息"; + this.popupHtml = /*html*/` `; - this.requestedPopup = true; - this.active = document.URL.startsWith("https://message.bilibili.com/"); - this.init(); - } - get name() - { - return "messages"; - } - async init() - { - const json = await Ajax.getJsonWithCredentials("https://message.bilibili.com/api/notify/query.notify.count.do"); - const list = await SpinQuery.select("#message-list"); - const items = [...list.querySelectorAll("a[data-name]")]; - const names = items.map(it => it.getAttribute("data-name")); + this.requestedPopup = true; + this.active = document.URL.startsWith("https://message.bilibili.com/"); + this.init(); + } + get name () { + return "messages"; + } + async init () { + const json = await Ajax.getJsonWithCredentials("https://message.bilibili.com/api/notify/query.notify.count.do"); + const list = await SpinQuery.select("#message-list"); + const items = [...list.querySelectorAll("a[data-name]")]; + const names = items.map(it => it.getAttribute("data-name")); - if (json.code !== 0) - { - return; - } - const notifyElement = await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`); - let totalCount = names.reduce((acc, it) => acc + json.data[it], 0); - if (!totalCount) - { - return; - } - notifyElement.innerHTML = totalCount; - names.forEach((name, index) => - { - const count = json.data[name]; - if (count > 0) - { - items[index].setAttribute("data-count", count); - } - else - { - items[index].removeAttribute("data-count"); - } - }); - items.forEach(item => - { - item.addEventListener("click", () => - { - const count = item.getAttribute("data-count"); - item.removeAttribute("data-count"); - totalCount -= count; - notifyElement.innerHTML = totalCount || ""; - }); - }) + if (json.code !== 0) { + return; } + const notifyElement = await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`); + let totalCount = names.reduce((acc, it) => acc + json.data[it], 0); + if (!totalCount) { + return; + } + notifyElement.innerHTML = totalCount; + names.forEach((name, index) => { + const count = json.data[name]; + if (count > 0) { + items[index].setAttribute("data-count", count); + } + else { + items[index].removeAttribute("data-count"); + } + }); + items.forEach(item => { + item.addEventListener("click", () => { + const count = item.getAttribute("data-count"); + item.removeAttribute("data-count"); + totalCount -= count; + notifyElement.innerHTML = totalCount || ""; + }); + }) + } } -class Category extends NavbarComponent -{ - constructor() - { - super(); - this.html = `主站`; - this.requestedPopup = true; - this.popupHtml = /*html*/` +class Category extends NavbarComponent { + constructor () { + super(); + this.html = `主站`; + this.requestedPopup = true; + this.popupHtml = /*html*/` `; - this.getOnlineInfo().then(info => - { - new Vue({ - el: "#custom-navbar-home-popup", - data: { - info: Object.entries(info), - }, - }); - }); - } - get name() - { - return "category"; - } - async getOnlineInfo() - { - const json = await Ajax.getJson("https://api.bilibili.com/x/web-interface/online"); - if (parseInt(json.code) !== 0) - { - throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${json.message}`); - } - const regionCount = json.data.region_count; - await SpinQuery.select("#custom-navbar-home-popup"); - return { - 动画: { - icon: "douga", - count: regionCount[1], link: `https://www.bilibili.com/v/douga/`, - subRegions: { - "MAD·AMV": `https://www.bilibili.com/v/douga/mad/`, - "MMD·3D": `https://www.bilibili.com/v/douga/mmd/`, - "短片·手书·配音": `https://www.bilibili.com/v/douga/voice/`, - "综合": `https://www.bilibili.com/v/douga/other/`, - }, - }, - 番剧: { - icon: "anime", - count: regionCount[13], link: `https://www.bilibili.com/anime/`, - subRegions: { - "连载动画": `https://www.bilibili.com/v/anime/serial/`, - "完结动画": `https://www.bilibili.com/v/anime/finish/`, - "资讯": `https://www.bilibili.com/v/anime/information/`, - "官方延伸": `https://www.bilibili.com/v/anime/offical/`, - "新番时间表": `https://www.bilibili.com/anime/timeline/`, - }, - }, - 国创: { - icon: "guochuang", - count: regionCount[167], link: `https://www.bilibili.com/guochuang/`, - subRegions: { - "国产动画": `https://www.bilibili.com/v/guochuang/chinese/`, - "国产原创相关": `https://www.bilibili.com/v/guochuang/original/`, - "布袋戏": `https://www.bilibili.com/v/guochuang/puppetry/`, - "资讯": `https://www.bilibili.com/v/guochuang/information/`, - "新番时间表": `https://www.bilibili.com/guochuang/timeline/`, - "国产动画索引": `https://www.bilibili.com/guochuang/index/`, - }, - }, - 音乐: { - icon: "music", - count: regionCount[3], link: `https://www.bilibili.com/v/music/`, - subRegions: { - "原创音乐": "https://www.bilibili.com/v/music/original/", - "翻唱": "https://www.bilibili.com/v/music/cover/", - "VOCALOID·UTAU": "https://www.bilibili.com/v/music/vocaloid/", - "电音": "https://www.bilibili.com/v/music/electronic/", - "演奏": "https://www.bilibili.com/v/music/perform/", - "MV": "https://www.bilibili.com/v/music/mv/", - "音乐现场": "https://www.bilibili.com/v/music/live/", - "音乐综合": "https://www.bilibili.com/v/music/other/", - "音频": "https://www.bilibili.com/audio/home?musicType=music", - }, - }, - 舞蹈: { - icon: "dance", - count: regionCount[129], link: `https://www.bilibili.com/v/dance/`, subRegions: { "宅舞": "https://www.bilibili.com/v/dance/otaku/", "三次元舞蹈": "https://www.bilibili.com/v/dance/three_d/", "舞蹈教程": "https://www.bilibili.com/v/dance/demo/" }, - }, - 游戏: { - icon: "game", - count: regionCount[4], link: `https://www.bilibili.com/v/game/`, subRegions: { "单机游戏": "https://www.bilibili.com/v/game/stand_alone/", "电子竞技": "https://www.bilibili.com/v/game/esports/", "手机游戏": "https://www.bilibili.com/v/game/mobile/", "网络游戏": "https://www.bilibili.com/v/game/online/", "桌游棋牌": "https://www.bilibili.com/v/game/board/", "GMV": "https://www.bilibili.com/v/game/gmv/", "音游": "https://www.bilibili.com/v/game/music/", "Mugen": "https://www.bilibili.com/v/game/mugen/", "游戏赛事": "https://www.bilibili.com/v/game/match/" }, - }, - 科技: { - icon: "technology", - count: regionCount[36], link: `https://www.bilibili.com/v/technology/`, subRegions: { "趣味科普人文": "https://www.bilibili.com/v/technology/fun/", "野生技术协会": "https://www.bilibili.com/v/technology/wild/", "演讲·公开课": "https://www.bilibili.com/v/technology/speech_course/", "星海": "https://www.bilibili.com/v/technology/military/", "机械": "https://www.bilibili.com/v/technology/mechanical/", "汽车": "https://www.bilibili.com/v/technology/automobile/" }, - }, - 数码: { icon: "digital", count: regionCount[188], link: `https://www.bilibili.com/v/digital/`, subRegions: { "手机平板": "https://www.bilibili.com/v/digital/mobile/", "电脑装机": "https://www.bilibili.com/v/digital/pc/", "摄影摄像": "https://www.bilibili.com/v/digital/photography/", "影音智能": "https://www.bilibili.com/v/digital/intelligence_av/" }, }, - 生活: { - icon: "life", - count: regionCount[160], link: `https://www.bilibili.com/v/life/`, subRegions: { "搞笑": "https://www.bilibili.com/v/life/funny/", "日常": "https://www.bilibili.com/v/life/daily/", "美食圈": "https://www.bilibili.com/v/life/food/", "动物圈": "https://www.bilibili.com/v/life/animal/", "手工": "https://www.bilibili.com/v/life/handmake/", "绘画": "https://www.bilibili.com/v/life/painting/", "运动": "https://www.bilibili.com/v/life/sports/", "其他": "https://www.bilibili.com/v/life/other/" }, - }, - 鬼畜: { - icon: "kichiku", - count: regionCount[119], link: `https://www.bilibili.com/v/kichiku/`, subRegions: { "鬼畜调教": "https://www.bilibili.com/v/kichiku/guide/", "音MAD": "https://www.bilibili.com/v/kichiku/mad/", "人力VOCALOID": "https://www.bilibili.com/v/kichiku/manual_vocaloid/", "教程演示": "https://www.bilibili.com/v/kichiku/course/" }, - }, - 时尚: { icon: "fashion", count: regionCount[155], link: `https://www.bilibili.com/v/fashion/`, subRegions: { "美妆": "https://www.bilibili.com/v/fashion/makeup/", "服饰": "https://www.bilibili.com/v/fashion/clothing/", "健身": "https://www.bilibili.com/v/fashion/aerobics/", "T台": "https://www.bilibili.com/v/fashion/catwalk/", "风尚标": "https://www.bilibili.com/v/fashion/trends/" }, }, - 广告: { icon: "ad", count: regionCount[165], link: `https://www.bilibili.com/v/ad/ad/`, }, - 娱乐: { - icon: "ent", - count: regionCount[5], link: `https://www.bilibili.com/v/ent/`, subRegions: { "综艺": "https://www.bilibili.com/v/ent/variety/", "明星": "https://www.bilibili.com/v/ent/star/", "Korea相关": "https://www.bilibili.com/v/ent/korea/" }, - }, - 影视: { - icon: "cinephile", - count: regionCount[181], link: `https://www.bilibili.com/v/cinephile/`, subRegions: { "影视杂谈": "https://www.bilibili.com/v/cinephile/cinecism/", "影视剪辑": "https://www.bilibili.com/v/cinephile/montage/", "短片": "https://www.bilibili.com/v/cinephile/shortfilm/", "预告·资讯": "https://www.bilibili.com/v/cinephile/trailer_info/", "特摄": "https://www.bilibili.com/v/cinephile/tokusatsu/" }, - }, - 放映厅: { icon: "cinema", count: regionCount[177] + regionCount[23] + regionCount[11], link: `https://www.bilibili.com/cinema/`, subRegions: { "纪录片": "https://www.bilibili.com/documentary/", "电影": "https://www.bilibili.com/movie/", "电视剧": "https://www.bilibili.com/tv/" }, }, - 专栏: { icon: "read", count: ``, link: `https://www.bilibili.com/read/home`, }, - 直播: { - icon: "zhibo", - count: ``, link: `https://live.bilibili.com`, subRegions: { "全部直播": "https://live.bilibili.com/all?visit_id=5icxsa0kmts0", "游戏直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0", "手游直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0", "娱乐直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0", "电台直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0", "绘画直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0" }, - }, - 小黑屋: { icon: "blackroom", count: ``, link: `https://www.bilibili.com/blackroom/`, }, - 话题: { icon: "topic", count: ``, link: `https://www.bilibili.com/blackboard/topic_list.html`, }, - 活动: { icon: "activit", count: ``, link: `https://www.bilibili.com/blackboard/x/act_list`, }, - }; + this.getOnlineInfo().then(info => { + new Vue({ + el: "#custom-navbar-home-popup", + data: { + info: Object.entries(info), + }, + }); + }); + } + get name () { + return "category"; + } + async getOnlineInfo () { + const json = await Ajax.getJson("https://api.bilibili.com/x/web-interface/online"); + if (parseInt(json.code) !== 0) { + throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${json.message}`); } + const regionCount = json.data.region_count; + await SpinQuery.select("#custom-navbar-home-popup"); + return { + 动画: { + icon: "douga", + count: regionCount[1], link: `https://www.bilibili.com/v/douga/`, + subRegions: { + "MAD·AMV": `https://www.bilibili.com/v/douga/mad/`, + "MMD·3D": `https://www.bilibili.com/v/douga/mmd/`, + "短片·手书·配音": `https://www.bilibili.com/v/douga/voice/`, + "综合": `https://www.bilibili.com/v/douga/other/`, + }, + }, + 番剧: { + icon: "anime", + count: regionCount[13], link: `https://www.bilibili.com/anime/`, + subRegions: { + "连载动画": `https://www.bilibili.com/v/anime/serial/`, + "完结动画": `https://www.bilibili.com/v/anime/finish/`, + "资讯": `https://www.bilibili.com/v/anime/information/`, + "官方延伸": `https://www.bilibili.com/v/anime/offical/`, + "新番时间表": `https://www.bilibili.com/anime/timeline/`, + }, + }, + 国创: { + icon: "guochuang", + count: regionCount[167], link: `https://www.bilibili.com/guochuang/`, + subRegions: { + "国产动画": `https://www.bilibili.com/v/guochuang/chinese/`, + "国产原创相关": `https://www.bilibili.com/v/guochuang/original/`, + "布袋戏": `https://www.bilibili.com/v/guochuang/puppetry/`, + "资讯": `https://www.bilibili.com/v/guochuang/information/`, + "新番时间表": `https://www.bilibili.com/guochuang/timeline/`, + "国产动画索引": `https://www.bilibili.com/guochuang/index/`, + }, + }, + 音乐: { + icon: "music", + count: regionCount[3], link: `https://www.bilibili.com/v/music/`, + subRegions: { + "原创音乐": "https://www.bilibili.com/v/music/original/", + "翻唱": "https://www.bilibili.com/v/music/cover/", + "VOCALOID·UTAU": "https://www.bilibili.com/v/music/vocaloid/", + "电音": "https://www.bilibili.com/v/music/electronic/", + "演奏": "https://www.bilibili.com/v/music/perform/", + "MV": "https://www.bilibili.com/v/music/mv/", + "音乐现场": "https://www.bilibili.com/v/music/live/", + "音乐综合": "https://www.bilibili.com/v/music/other/", + "音频": "https://www.bilibili.com/audio/home?musicType=music", + }, + }, + 舞蹈: { + icon: "dance", + count: regionCount[129], link: `https://www.bilibili.com/v/dance/`, subRegions: { "宅舞": "https://www.bilibili.com/v/dance/otaku/", "三次元舞蹈": "https://www.bilibili.com/v/dance/three_d/", "舞蹈教程": "https://www.bilibili.com/v/dance/demo/" }, + }, + 游戏: { + icon: "game", + count: regionCount[4], link: `https://www.bilibili.com/v/game/`, subRegions: { "单机游戏": "https://www.bilibili.com/v/game/stand_alone/", "电子竞技": "https://www.bilibili.com/v/game/esports/", "手机游戏": "https://www.bilibili.com/v/game/mobile/", "网络游戏": "https://www.bilibili.com/v/game/online/", "桌游棋牌": "https://www.bilibili.com/v/game/board/", "GMV": "https://www.bilibili.com/v/game/gmv/", "音游": "https://www.bilibili.com/v/game/music/", "Mugen": "https://www.bilibili.com/v/game/mugen/", "游戏赛事": "https://www.bilibili.com/v/game/match/" }, + }, + 科技: { + icon: "technology", + count: regionCount[36], link: `https://www.bilibili.com/v/technology/`, subRegions: { "趣味科普人文": "https://www.bilibili.com/v/technology/fun/", "野生技术协会": "https://www.bilibili.com/v/technology/wild/", "演讲·公开课": "https://www.bilibili.com/v/technology/speech_course/", "星海": "https://www.bilibili.com/v/technology/military/", "机械": "https://www.bilibili.com/v/technology/mechanical/", "汽车": "https://www.bilibili.com/v/technology/automobile/" }, + }, + 数码: { icon: "digital", count: regionCount[188], link: `https://www.bilibili.com/v/digital/`, subRegions: { "手机平板": "https://www.bilibili.com/v/digital/mobile/", "电脑装机": "https://www.bilibili.com/v/digital/pc/", "摄影摄像": "https://www.bilibili.com/v/digital/photography/", "影音智能": "https://www.bilibili.com/v/digital/intelligence_av/" }, }, + 生活: { + icon: "life", + count: regionCount[160], link: `https://www.bilibili.com/v/life/`, subRegions: { "搞笑": "https://www.bilibili.com/v/life/funny/", "日常": "https://www.bilibili.com/v/life/daily/", "美食圈": "https://www.bilibili.com/v/life/food/", "动物圈": "https://www.bilibili.com/v/life/animal/", "手工": "https://www.bilibili.com/v/life/handmake/", "绘画": "https://www.bilibili.com/v/life/painting/", "运动": "https://www.bilibili.com/v/life/sports/", "其他": "https://www.bilibili.com/v/life/other/" }, + }, + 鬼畜: { + icon: "kichiku", + count: regionCount[119], link: `https://www.bilibili.com/v/kichiku/`, subRegions: { "鬼畜调教": "https://www.bilibili.com/v/kichiku/guide/", "音MAD": "https://www.bilibili.com/v/kichiku/mad/", "人力VOCALOID": "https://www.bilibili.com/v/kichiku/manual_vocaloid/", "教程演示": "https://www.bilibili.com/v/kichiku/course/" }, + }, + 时尚: { icon: "fashion", count: regionCount[155], link: `https://www.bilibili.com/v/fashion/`, subRegions: { "美妆": "https://www.bilibili.com/v/fashion/makeup/", "服饰": "https://www.bilibili.com/v/fashion/clothing/", "健身": "https://www.bilibili.com/v/fashion/aerobics/", "T台": "https://www.bilibili.com/v/fashion/catwalk/", "风尚标": "https://www.bilibili.com/v/fashion/trends/" }, }, + 广告: { icon: "ad", count: regionCount[165], link: `https://www.bilibili.com/v/ad/ad/`, }, + 娱乐: { + icon: "ent", + count: regionCount[5], link: `https://www.bilibili.com/v/ent/`, subRegions: { "综艺": "https://www.bilibili.com/v/ent/variety/", "明星": "https://www.bilibili.com/v/ent/star/", "Korea相关": "https://www.bilibili.com/v/ent/korea/" }, + }, + 影视: { + icon: "cinephile", + count: regionCount[181], link: `https://www.bilibili.com/v/cinephile/`, subRegions: { "影视杂谈": "https://www.bilibili.com/v/cinephile/cinecism/", "影视剪辑": "https://www.bilibili.com/v/cinephile/montage/", "短片": "https://www.bilibili.com/v/cinephile/shortfilm/", "预告·资讯": "https://www.bilibili.com/v/cinephile/trailer_info/", "特摄": "https://www.bilibili.com/v/cinephile/tokusatsu/" }, + }, + 放映厅: { icon: "cinema", count: regionCount[177] + regionCount[23] + regionCount[11], link: `https://www.bilibili.com/cinema/`, subRegions: { "纪录片": "https://www.bilibili.com/documentary/", "电影": "https://www.bilibili.com/movie/", "电视剧": "https://www.bilibili.com/tv/" }, }, + 专栏: { icon: "read", count: ``, link: `https://www.bilibili.com/read/home`, }, + 直播: { + icon: "zhibo", + count: ``, link: `https://live.bilibili.com`, subRegions: { "全部直播": "https://live.bilibili.com/all?visit_id=5icxsa0kmts0", "游戏直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0", "手游直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0", "娱乐直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0", "电台直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0", "绘画直播": "https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0" }, + }, + 小黑屋: { icon: "blackroom", count: ``, link: `https://www.bilibili.com/blackroom/`, }, + 话题: { icon: "topic", count: ``, link: `https://www.bilibili.com/blackboard/topic_list.html`, }, + 活动: { icon: "activit", count: ``, link: `https://www.bilibili.com/blackboard/x/act_list`, }, + }; + } } -class UserInfo extends NavbarComponent -{ - constructor() - { - super(); - this.href = "https://space.bilibili.com"; - this.html = /*html*/` +class UserInfo extends NavbarComponent { + constructor () { + super(); + this.noPadding = true; + this.href = "https://space.bilibili.com"; + this.html = /*html*/`
    `; - this.popupHtml = /*html*/` -