Add topRank block type (#1185)

This commit is contained in:
the1812 2020-11-13 21:14:00 +08:00
parent e1ece1ce49
commit 863e5a141d
5 changed files with 7 additions and 4 deletions

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(()=>(e,i)=>{function s(e,i,s){if(i in e){Object.defineProperty(e,i,{value:s,enumerable:true,configurable:true,writable:true})}else{e[i]=s}return e}const t={vip:"老爷图标",enterPrompt:"入场通知",fansMedal:"粉丝勋章",title:"活动头衔",userLevel:"用户等级",guard:"弹幕特效",systemMessage:"全区广播",welcomeMessage:"欢迎信息",giftMessage:"礼物弹幕",guardPurchase:"上舰提示",giftPanel:"付费礼物",userEffect:"入场特效",kanban:"看板娘",eventsBanner:"活动横幅",rankList:"排行榜",popup:"抽奖提示",pk:"PK浮窗",skin:"房间皮肤"};class n{constructor(i,t){s(this,"skinDisabled",e.simplifyLiveroomSettings.skin);s(this,"skinSelectors",void 0);s(this,"skinClass",void 0);this.skinSelectors=i;this.skinClass=t;i.forEach((e=>{SpinQuery.select(e,(i=>{Observer.attributes(e,(e=>{e.forEach((e=>{if(e.attributeName==="class"){if(this.skinDisabled&&i.classList.contains(t)){i.classList.remove(t)}else if(!this.skinDisabled&&!i.classList.contains(t)){i.classList.add(t)}}}))}))}))}))}setSkin(e){this.skinDisabled=!e;this.skinSelectors.forEach((i=>{SpinQuery.select(i,(i=>i.classList[e?"add":"remove"](this.skinClass)))}))}}const c=[new n(["#head-info-vm","#gift-control-vm","#rank-list-vm","#rank-list-ctnr-box",".gift-panel.base-panel",".gift-panel.extend-panel",".seeds-wrap>div:first-child",".gift-section>div:last-child",".z-gift-package>div>div",".right-action"],"live-skin-coloration-area"),new n([".rank-list-ctnr .tabs"],"isHundred"),new n([".rank-list-ctnr .tab-content > div"],"hundred")];const a=(e,i)=>{document.body.classList.toggle(`simplify-${i}`,e);if(i==="skin"){c.forEach((i=>i.setSkin(!e)))}};const l=()=>document.URL.startsWith(`https://live.bilibili.com/`);if(l()){Object.keys(t).forEach((i=>{const s=e.simplifyLiveroomSettings[i];a(s,i)}))}return{widget:{condition:l,content:`\n<div class="gui-settings-flat-button" style="position: relative" id="simplify-liveroom">\n<i class="mdi mdi-24px mdi-settings"></i>\n<span>简化直播间</span>\n<div class="simplify-liveroom-settings popup">\n<ul>\n<li v-for="item in items" @click="itemClick(item)" :class="{checked: item.checked}">\n<i class="mdi mdi-18px" :class="{'mdi-eye': !item.checked, 'mdi-eye-off': item.checked}"></i>\n {{item.name}}\n</li>\n</ul>\n</div>\n</div>\n`,success:()=>{const i=document.querySelector("#simplify-liveroom");const s=document.querySelector(".gui-settings-mask");i.addEventListener("click",(e=>{const i=document.querySelector(".simplify-liveroom-settings");if(i.contains(e.target)||e.target===i){return}i.classList.toggle("opened")}));i.addEventListener("mouseenter",(()=>s.classList.add("transparent")));i.addEventListener("mouseleave",(()=>s.classList.remove("transparent")));new Vue({el:".simplify-liveroom-settings",data:{items:Object.entries(t).map((([i,s])=>{const t=e.simplifyLiveroomSettings[i];a(t,i);return{key:i,name:s,checked:t}}))},methods:{itemClick(i){i.checked=!i.checked;a(i.checked,i.key);e.simplifyLiveroomSettings=Object.assign(e.simplifyLiveroomSettings,{[i.key]:i.checked})}}})}}}})();
(()=>(e,i)=>{function s(e,i,s){if(i in e){Object.defineProperty(e,i,{value:s,enumerable:true,configurable:true,writable:true})}else{e[i]=s}return e}const t={vip:"老爷图标",enterPrompt:"入场通知",fansMedal:"粉丝勋章",title:"活动头衔",guard:"弹幕特效",systemMessage:"全区广播",welcomeMessage:"欢迎信息",giftMessage:"礼物弹幕",guardPurchase:"上舰提示",giftPanel:"付费礼物",userEffect:"入场特效",kanban:"看板娘",eventsBanner:"活动横幅",rankList:"排行榜",popup:"抽奖提示",pk:"PK浮窗",topRank:"高能榜提示",skin:"房间皮肤"};class n{constructor(i,t){s(this,"skinDisabled",e.simplifyLiveroomSettings.skin);s(this,"skinSelectors",void 0);s(this,"skinClass",void 0);this.skinSelectors=i;this.skinClass=t;i.forEach((e=>{SpinQuery.select(e,(i=>{Observer.attributes(e,(e=>{e.forEach((e=>{if(e.attributeName==="class"){if(this.skinDisabled&&i.classList.contains(t)){i.classList.remove(t)}else if(!this.skinDisabled&&!i.classList.contains(t)){i.classList.add(t)}}}))}))}))}))}setSkin(e){this.skinDisabled=!e;this.skinSelectors.forEach((i=>{SpinQuery.select(i,(i=>i.classList[e?"add":"remove"](this.skinClass)))}))}}const a=[new n(["#head-info-vm","#gift-control-vm","#rank-list-vm","#rank-list-ctnr-box",".gift-panel.base-panel",".gift-panel.extend-panel",".seeds-wrap>div:first-child",".gift-section>div:last-child",".z-gift-package>div>div",".right-action"],"live-skin-coloration-area"),new n([".rank-list-ctnr .tabs"],"isHundred"),new n([".rank-list-ctnr .tab-content > div"],"hundred")];const c=(e,i)=>{document.body.classList.toggle(`simplify-${i}`,e);if(i==="skin"){a.forEach((i=>i.setSkin(!e)))}};const l=()=>document.URL.startsWith(`https://live.bilibili.com/`);if(l()){Object.keys(t).forEach((i=>{const s=e.simplifyLiveroomSettings[i];c(s,i)}))}return{widget:{condition:l,content:`\n<div class="gui-settings-flat-button" style="position: relative" id="simplify-liveroom">\n<i class="mdi mdi-24px mdi-settings"></i>\n<span>简化直播间</span>\n<div class="simplify-liveroom-settings popup">\n<ul>\n<li v-for="item in items" @click="itemClick(item)" :class="{checked: item.checked}">\n<i class="mdi mdi-18px" :class="{'mdi-eye': !item.checked, 'mdi-eye-off': item.checked}"></i>\n {{item.name}}\n</li>\n</ul>\n</div>\n</div>\n`,success:()=>{const i=document.querySelector("#simplify-liveroom");const s=document.querySelector(".gui-settings-mask");i.addEventListener("click",(e=>{const i=document.querySelector(".simplify-liveroom-settings");if(i.contains(e.target)||e.target===i){return}i.classList.toggle("opened")}));i.addEventListener("mouseenter",(()=>s.classList.add("transparent")));i.addEventListener("mouseleave",(()=>s.classList.remove("transparent")));new Vue({el:".simplify-liveroom-settings",data:{items:Object.entries(t).map((([i,s])=>{const t=e.simplifyLiveroomSettings[i];c(t,i);return{key:i,name:s,checked:t}}))},methods:{itemClick(i){i.checked=!i.checked;c(i.checked,i.key);e.simplifyLiveroomSettings=Object.assign(e.simplifyLiveroomSettings,{[i.key]:i.checked})}}})}}}})();

View File

@ -128,6 +128,8 @@ export const settings = {
eventsBanner: false,
rankList: false,
popup: false,
pk: false,
topRank: true,
skin: false,
},
customNavbar: true,

View File

@ -18,7 +18,8 @@
&-kanban .live-haruna-ctnr,
&-enterPrompt .chat-item.important-prompt-item,
&-enterPrompt .chat-history-panel .brush-prompt,
&-pk .chaos-pk {
&-pk .chaos-pk,
&-topRank .chat-item.top3-notice {
display: none !important;
}
}

View File

@ -3,7 +3,6 @@ const displayNames = {
enterPrompt: '入场通知',
fansMedal: '粉丝勋章',
title: '活动头衔',
userLevel: '用户等级',
guard: '弹幕特效',
systemMessage: '全区广播',
welcomeMessage: '欢迎信息',
@ -16,6 +15,7 @@ const displayNames = {
rankList: '排行榜',
popup: '抽奖提示',
pk: 'PK浮窗',
topRank: '高能榜提示',
skin: '房间皮肤',
}
class SkinManager {