Bilibili-Evolved/min/home-hidden.min.js
2021-02-01 19:33:26 +08:00

1 line
3.4 KiB
JavaScript

(()=>(e,n)=>{const i=()=>!e.simplifyHome&&document.URL.includes("https://www.bilibili.com/");const a=[{name:"categories",displayName:"分区栏",style:`\n .bili-header-m>.bili-wrapper {\n visibility: hidden !important;\n height: 18px !important;\n }\n .primary-menu-itnl {\n visibility: hidden !important;\n height: 24px !important;\n padding: 0 !important;\n }\n`},{name:"trends",displayName:"活动/热门视频",style:`\n .first-screen #reportFirst1 { display: none !important; }\n .first-screen .space-between {\n margin-bottom: 0 !important;\n }\n .rcmd-box-wrap { display: none !important; }\n`},{name:"online",displayName:"在线列表",style:`\n .first-screen #reportFirst2 { display: none !important; }\n`},{name:"special",displayName:"特别推荐",style:`\n #bili_report_spe_rec { display: none !important; }\n`},{name:"contact",displayName:"联系方式",style:`\n .international-footer { display: none !important; }\n`},{name:"elevator",displayName:"右侧分区导航",style:`\n .storey-box .elevator { display: none !important; }\n`},{name:"live",displayName:"直播"},{name:"douga",displayName:"动画"},{name:"anime",displayName:"番剧"},{name:"guochuang",displayName:"国创"},{name:"manga",displayName:"漫画"},{name:"music",displayName:"音乐"},{name:"dance",displayName:"舞蹈"},{name:"game",displayName:"游戏"},{name:"technology",displayName:"知识"},{name:"cheese",displayName:"课堂"},{name:"digital",displayName:"数码"},{name:"life",displayName:"生活"},{name:"food",displayName:"美食"},{name:"animal",displayName:"动物圈"},{name:"kichiku",displayName:"鬼畜"},{name:"fashion",displayName:"时尚"},{name:"information",displayName:"资讯"},{name:"ent",displayName:"娱乐"},{name:"read",displayName:"专栏"},{name:"movie",displayName:"电影"},{name:"teleplay",displayName:"电视剧"},{name:"cinephile",displayName:"影视"},{name:"documentary",displayName:"纪录片"}];const t=i=>{if(!e.homeHiddenItems.includes(i.name)){if(i.style){var a;(a=dq(`#home-hidden-style-${i.name}`))===null||a===void 0?void 0:a.remove()}else{document.body.classList.remove(`home-hidden-${i.name}`)}}else{if(i.style){n.applyImportantStyleFromText(i.style,`home-hidden-style-${i.name}`)}else{document.body.classList.add(`home-hidden-${i.name}`)}}};if(i()){a.forEach(t);n.applyImportantStyle("homeHiddenStyle")}return{widget:{condition:i,content:`\n<div class="gui-settings-flat-button" style="position: relative" id="home-hidden">\n<i class="mdi mdi-24px mdi-settings"></i>\n<span>首页过滤</span>\n<div class="home-hidden-settings popup">\n<div v-for="item in items" @click="toggle(item)" :key="item.name" class="home-hidden-settings-item" :class="{ 'home-hidden': hiddenItems.includes(item.name) }">\n<i class="mdi mdi-18px mdi-eye"></i>\n<i class="mdi mdi-18px mdi-eye-off"></i>\n {{ item.displayName }}\n</div>\n</div>\n</div>\n`,success:async()=>{const n=dq("#home-hidden");new Vue({el:dq(n,".popup"),data(){return{items:a,hiddenItems:[...e.homeHiddenItems]}},watch:{hiddenItems(n){e.homeHiddenItems=[...n]}},mounted(){const e=this.$el;n.addEventListener("click",(n=>{if(n.target===e||e.contains(n.target)){return}e.classList.toggle("opened")}))},methods:{async toggle(e){const n=this.hiddenItems;const i=n.indexOf(e.name);if(i!==-1){n.splice(i,1)}else{n.push(e.name)}await this.$nextTick();t(e)}}})}}}})();