mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
Add pattern block
This commit is contained in:
parent
462ed90351
commit
0245a1bfa4
2
@types/global/index.d.ts
vendored
2
@types/global/index.d.ts
vendored
@ -35,7 +35,7 @@ declare global {
|
||||
}
|
||||
type RunAtOptions = "document-start" | "document-end" | "document-idle" | "document-body" | "context-menu";
|
||||
type DanmakuOption = '无' | 'XML' | 'ASS'
|
||||
type Pattern = string | RegExp
|
||||
type Pattern = string
|
||||
interface RpcOption {
|
||||
secretKey: string
|
||||
baseDir: string
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name Bilibili Evolved (Offline)
|
||||
// @version 457.21
|
||||
// @version 457.33
|
||||
// @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中.
|
||||
// @author Grant Howard, Coulomb-G
|
||||
// @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
|
||||
@ -1087,9 +1087,9 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.js"] = (()=>{return(e,p)=>{p.applyStyle("expandDescriptionStyle")}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/favorites-redirect.min.js"] = (()=>{return(t,e)=>{function i(){const t=document.querySelectorAll("li[data-aid]>a");t.forEach(t=>{const e=t.getAttribute("href");if(e===null||!e.includes("medialist")){return}const i=t.parentElement.getAttribute("data-aid");t.setAttribute("href",`https://www.bilibili.com/video/av${i}`)})}(async()=>{const t=await SpinQuery.select("#app>.s-space");if(t!==null){Observer.childListSubtree("#app>.s-space",i)}})()}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-apis.min.js"] = (()=>{return(e,t)=>{const r={repost:{id:1,name:"转发"},textWithImages:{id:2,name:"图文"},text:{id:4,name:"文字"},video:{id:8,name:"视频"},miniVideo:{id:16,name:"小视频"},column:{id:64,name:"专栏"},audio:{id:256,name:"音频"},bangumi:{id:512,name:"番剧"},share:{id:2048,name:"分享"}};class n extends EventTarget{constructor(){super(...arguments);this.cards=[]}addEventListener(e,t,r){super.addEventListener(e,t,r)}removeEventListener(e,t,r){super.removeEventListener(e,t,r)}addCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){if(e.querySelector(".skeleton")!==null){const t=Observer.childList(e,()=>{if(e.querySelector(".skeleton")===null){t.forEach(e=>e.stop());this.addCard(e)}})}else{const t=this.parseCard(e);this.cards.push(t);const r=new CustomEvent("addCard",{detail:t});this.dispatchEvent(r)}}}removeCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){const t=this.parseCard(e).id;const r=this.cards.findIndex(e=>e.id===t);const n=this.cards[r];this.cards.splice(r,1);const s=new CustomEvent("removeCard",{detail:n});this.dispatchEvent(s)}}parseCard(e){const t=t=>{if(e.querySelector(t)===null){return""}return e.querySelector(t).innerText};const n=e=>{const r=parseInt(t(e));if(isNaN(r)){return 0}return r};const s=(()=>{if(e.querySelector(".repost")){return r.repost}if(e.querySelector(".imagesbox")){return r.textWithImages}if(e.querySelector(".video-container")){return r.video}if(e.querySelector(".bangumi-container")){return r.bangumi}if(e.querySelector(".article-container")){return r.column}if(e.querySelector(".music-container")){return r.audio}if(e.querySelector(".h5share-container")){return r.share}if(e.querySelector(".vc-ctnr")){return r.miniVideo}return r.text})();const i={id:e.getAttribute("data-did"),username:t(".main-content .user-name"),text:t(".card-content .text.description"),reposts:n(".button-bar .single-button:nth-child(1) .text-offset"),comments:n(".button-bar .single-button:nth-child(2) .text-offset"),likes:n(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:s};e.setAttribute("data-type",s.id.toString());return i}async startWatching(){const e=await SpinQuery.select(".card-list .content");if(!e){return false}const t=[...e.querySelectorAll(".content>.card")];t.forEach(e=>this.addCard(e));Observer.childList(e,e=>{e.forEach(e=>{e.addedNodes.forEach(e=>this.addCard(e));e.removedNodes.forEach(e=>this.removeCard(e))})});return true}}const s=new n;return{export:{feedsCardsManager:s,feedsCardTypes:r}}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-filter-card.vue.min.js"] = (()=>{return(e,t)=>{const d=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div></div>`;t.applyStyleFromText(`body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:12px;margin:0 0 12px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}`,"feeds-filter-card-style");return{export:Object.assign({template:d},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e instanceof RegExp){return e.test(t.text)}return t.text.includes(e)})){t.element.style.display="none"}else{t.element.style.display="block"}}},data(){return{allTypes:[]}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:d}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!")}this.allTypes=Object.entries(d);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)})}})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-filter-card.vue.min.js"] = (()=>{return(e,t)=>{const r=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div><h2>关键词</h2><div class=filter-patterns><div class=pattern v-for="p of patterns":key=p>{{p}}<icon title=删除 type=mdi icon=trash-can-outline @click.native=deletePattern(p)></icon></div></div><div class=add-pattern><input placeholder="支持正则表达式 /^xxx$/"type=text v-model=newPattern @keydown.enter=addPattern(newPattern)><icon title=添加 type=mdi icon=plus @click.native=addPattern(newPattern)></icon></div></div>`;t.applyStyleFromText(`body .feed-card .card.pattern-block,body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:13px;margin:0 0 8px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns:not(:empty){margin-bottom:8px}.feeds-filter .filter-patterns .pattern{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;background-color:#0001;font-size:12px}.feeds-filter .filter-patterns .pattern:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns .pattern .be-icon{font-size:18px;cursor:pointer}.feeds-filter .add-pattern{display:flex;align-items:center}.feeds-filter .add-pattern input{color:inherit;background-color:transparent;font-size:12px;border:1px solid #8884;border-radius:4px;outline:0!important;padding:4px;flex:1 0 0;width:0}.feeds-filter .add-pattern input:focus{border-color:var(--theme-color)}.feeds-filter .add-pattern .be-icon{font-size:18px;cursor:pointer;margin-left:8px}`,"feeds-filter-card-style");return{export:Object.assign({template:r},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue"),Icon:()=>t.importAsync("icon.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e.startsWith("/")&&e.endsWith("/")){return new RegExp(e.slice(1,e.length-1)).test(t.text)}return t.text.includes(e)})){t.element.classList.add("pattern-block")}else{t.element.classList.remove("pattern-block")}},deletePattern(t){const r=e.feedsFilterPatterns.indexOf(t);if(r!==-1){this.patterns.splice(r,1)}},addPattern(e){if(e&&!this.patterns.includes(e)){this.patterns.push(e)}this.newPattern=""}},watch:{patterns(){e.feedsFilterPatterns=this.patterns;if(this.feedsCardsManager!==null){this.feedsCardsManager.cards.forEach(e=>this.updateCard(e))}}},data(){return{allTypes:[],patterns:[...e.feedsFilterPatterns],newPattern:"",feedsCardsManager:null}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:r}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!");return}this.allTypes=Object.entries(r);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)});this.feedsCardsManager=e}})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-filter.min.js"] = (()=>{return(e,r)=>{(async()=>{if(document.URL.replace(location.search,"")!=="https://t.bilibili.com/"){return}const e=await SpinQuery.select(".home-container .left-panel");if(e===null){return}e.insertAdjacentHTML("beforeend",html`<feeds-filter-card></feeds-filter-card>`);new Vue({el:"feeds-filter-card",components:{FeedsFilterCard:()=>r.importAsync("feeds-filter-card.vue")}})})()}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/filter-type-switch.vue.min.js"] = (()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:not(.disabled):hover{background-color:#0002}.filter-type-switch label.disabled{background-color:var(--theme-color-10)}.filter-type-switch label.disabled:hover{background-color:var(--theme-color-20)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/filter-type-switch.vue.min.js"] = (()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:hover{background-color:#0002}.filter-type-switch label.disabled{border-color:var(--theme-color)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fix-fullscreen.min.js"] = (()=>{return(e,n)=>{unsafeWindow.Element.ALLOW_KEYBOARD_INPUT={};const t=unsafeWindow.Element.prototype.requestFullscreen;unsafeWindow.Element.prototype.requestFullscreen=function(){t.call(this)}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fold-comment.min.css"] = `.panel-area .bb-comment .fold-comment{position:-webkit-sticky;position:sticky;bottom:0;height:40px;width:calc(100% + 48px);font-size:14px;transform:translateX(-24px);display:flex;align-items:center;justify-content:center;background-color:#fff;color:#99a2aa;cursor:pointer;transition:.2s ease-out;z-index:1000;border-radius:4px}.panel-area .bb-comment .fold-comment:hover{color:#000}body.dark .panel-area .bb-comment .fold-comment{background-color:#444;color:#eee}body.dark .panel-area .bb-comment .fold-comment:hover{color:var(--theme-color)}`;
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fold-comment.min.js"] = (()=>{return(e,t)=>{if(document.URL.replace(window.location.search,"")==="https://t.bilibili.com/"){(async()=>{t.applyImportantStyle("foldCommentStyle");const e=await SpinQuery.select(".card-list .feed-card>.content");const l=e=>{const t=t=>{const l=document.createElement("div");l.classList.add("fold-comment");l.innerHTML="收起评论";const n=t.querySelector(".bb-comment");if(n===null){console.error("未找到评论区");return}else if(n.querySelector(".fold-comment")!==null){return}else{l.addEventListener("click",()=>{const t=e.querySelector(".button-bar").children[1];if(t!==null){t.click();e.scrollIntoView()}});n.insertAdjacentElement("beforeend",l)}};const l=e.querySelector(".panel-area");if(l===null){console.log(e)}if(l.childElementCount===0){const e=Observer.childList(l,n=>{if(n.length>0){t(l);e.forEach(e=>e.stop())}})}else{t(l)}};Observer.childList(e,()=>e.querySelectorAll("div.card").forEach(l))})()}}})();
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name Bilibili Evolved (Preview Offline)
|
||||
// @version 457.21
|
||||
// @version 457.33
|
||||
// @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中.
|
||||
// @author Grant Howard, Coulomb-G
|
||||
// @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
|
||||
@ -1087,9 +1087,9 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.js"] = (()=>{return(e,p)=>{p.applyStyle("expandDescriptionStyle")}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/favorites-redirect.min.js"] = (()=>{return(t,e)=>{function i(){const t=document.querySelectorAll("li[data-aid]>a");t.forEach(t=>{const e=t.getAttribute("href");if(e===null||!e.includes("medialist")){return}const i=t.parentElement.getAttribute("data-aid");t.setAttribute("href",`https://www.bilibili.com/video/av${i}`)})}(async()=>{const t=await SpinQuery.select("#app>.s-space");if(t!==null){Observer.childListSubtree("#app>.s-space",i)}})()}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-apis.min.js"] = (()=>{return(e,t)=>{const r={repost:{id:1,name:"转发"},textWithImages:{id:2,name:"图文"},text:{id:4,name:"文字"},video:{id:8,name:"视频"},miniVideo:{id:16,name:"小视频"},column:{id:64,name:"专栏"},audio:{id:256,name:"音频"},bangumi:{id:512,name:"番剧"},share:{id:2048,name:"分享"}};class n extends EventTarget{constructor(){super(...arguments);this.cards=[]}addEventListener(e,t,r){super.addEventListener(e,t,r)}removeEventListener(e,t,r){super.removeEventListener(e,t,r)}addCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){if(e.querySelector(".skeleton")!==null){const t=Observer.childList(e,()=>{if(e.querySelector(".skeleton")===null){t.forEach(e=>e.stop());this.addCard(e)}})}else{const t=this.parseCard(e);this.cards.push(t);const r=new CustomEvent("addCard",{detail:t});this.dispatchEvent(r)}}}removeCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){const t=this.parseCard(e).id;const r=this.cards.findIndex(e=>e.id===t);const n=this.cards[r];this.cards.splice(r,1);const s=new CustomEvent("removeCard",{detail:n});this.dispatchEvent(s)}}parseCard(e){const t=t=>{if(e.querySelector(t)===null){return""}return e.querySelector(t).innerText};const n=e=>{const r=parseInt(t(e));if(isNaN(r)){return 0}return r};const s=(()=>{if(e.querySelector(".repost")){return r.repost}if(e.querySelector(".imagesbox")){return r.textWithImages}if(e.querySelector(".video-container")){return r.video}if(e.querySelector(".bangumi-container")){return r.bangumi}if(e.querySelector(".article-container")){return r.column}if(e.querySelector(".music-container")){return r.audio}if(e.querySelector(".h5share-container")){return r.share}if(e.querySelector(".vc-ctnr")){return r.miniVideo}return r.text})();const i={id:e.getAttribute("data-did"),username:t(".main-content .user-name"),text:t(".card-content .text.description"),reposts:n(".button-bar .single-button:nth-child(1) .text-offset"),comments:n(".button-bar .single-button:nth-child(2) .text-offset"),likes:n(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:s};e.setAttribute("data-type",s.id.toString());return i}async startWatching(){const e=await SpinQuery.select(".card-list .content");if(!e){return false}const t=[...e.querySelectorAll(".content>.card")];t.forEach(e=>this.addCard(e));Observer.childList(e,e=>{e.forEach(e=>{e.addedNodes.forEach(e=>this.addCard(e));e.removedNodes.forEach(e=>this.removeCard(e))})});return true}}const s=new n;return{export:{feedsCardsManager:s,feedsCardTypes:r}}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-filter-card.vue.min.js"] = (()=>{return(e,t)=>{const d=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div></div>`;t.applyStyleFromText(`body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:12px;margin:0 0 12px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}`,"feeds-filter-card-style");return{export:Object.assign({template:d},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e instanceof RegExp){return e.test(t.text)}return t.text.includes(e)})){t.element.style.display="none"}else{t.element.style.display="block"}}},data(){return{allTypes:[]}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:d}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!")}this.allTypes=Object.entries(d);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)})}})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-filter-card.vue.min.js"] = (()=>{return(e,t)=>{const r=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div><h2>关键词</h2><div class=filter-patterns><div class=pattern v-for="p of patterns":key=p>{{p}}<icon title=删除 type=mdi icon=trash-can-outline @click.native=deletePattern(p)></icon></div></div><div class=add-pattern><input placeholder="支持正则表达式 /^xxx$/"type=text v-model=newPattern @keydown.enter=addPattern(newPattern)><icon title=添加 type=mdi icon=plus @click.native=addPattern(newPattern)></icon></div></div>`;t.applyStyleFromText(`body .feed-card .card.pattern-block,body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:13px;margin:0 0 8px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns:not(:empty){margin-bottom:8px}.feeds-filter .filter-patterns .pattern{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;background-color:#0001;font-size:12px}.feeds-filter .filter-patterns .pattern:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns .pattern .be-icon{font-size:18px;cursor:pointer}.feeds-filter .add-pattern{display:flex;align-items:center}.feeds-filter .add-pattern input{color:inherit;background-color:transparent;font-size:12px;border:1px solid #8884;border-radius:4px;outline:0!important;padding:4px;flex:1 0 0;width:0}.feeds-filter .add-pattern input:focus{border-color:var(--theme-color)}.feeds-filter .add-pattern .be-icon{font-size:18px;cursor:pointer;margin-left:8px}`,"feeds-filter-card-style");return{export:Object.assign({template:r},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue"),Icon:()=>t.importAsync("icon.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e.startsWith("/")&&e.endsWith("/")){return new RegExp(e.slice(1,e.length-1)).test(t.text)}return t.text.includes(e)})){t.element.classList.add("pattern-block")}else{t.element.classList.remove("pattern-block")}},deletePattern(t){const r=e.feedsFilterPatterns.indexOf(t);if(r!==-1){this.patterns.splice(r,1)}},addPattern(e){if(e&&!this.patterns.includes(e)){this.patterns.push(e)}this.newPattern=""}},watch:{patterns(){e.feedsFilterPatterns=this.patterns;if(this.feedsCardsManager!==null){this.feedsCardsManager.cards.forEach(e=>this.updateCard(e))}}},data(){return{allTypes:[],patterns:[...e.feedsFilterPatterns],newPattern:"",feedsCardsManager:null}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:r}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!");return}this.allTypes=Object.entries(r);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)});this.feedsCardsManager=e}})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-filter.min.js"] = (()=>{return(e,r)=>{(async()=>{if(document.URL.replace(location.search,"")!=="https://t.bilibili.com/"){return}const e=await SpinQuery.select(".home-container .left-panel");if(e===null){return}e.insertAdjacentHTML("beforeend",html`<feeds-filter-card></feeds-filter-card>`);new Vue({el:"feeds-filter-card",components:{FeedsFilterCard:()=>r.importAsync("feeds-filter-card.vue")}})})()}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/filter-type-switch.vue.min.js"] = (()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:not(.disabled):hover{background-color:#0002}.filter-type-switch label.disabled{background-color:var(--theme-color-10)}.filter-type-switch label.disabled:hover{background-color:var(--theme-color-20)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/filter-type-switch.vue.min.js"] = (()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:hover{background-color:#0002}.filter-type-switch label.disabled{border-color:var(--theme-color)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fix-fullscreen.min.js"] = (()=>{return(e,n)=>{unsafeWindow.Element.ALLOW_KEYBOARD_INPUT={};const t=unsafeWindow.Element.prototype.requestFullscreen;unsafeWindow.Element.prototype.requestFullscreen=function(){t.call(this)}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fold-comment.min.css"] = `.panel-area .bb-comment .fold-comment{position:-webkit-sticky;position:sticky;bottom:0;height:40px;width:calc(100% + 48px);font-size:14px;transform:translateX(-24px);display:flex;align-items:center;justify-content:center;background-color:#fff;color:#99a2aa;cursor:pointer;transition:.2s ease-out;z-index:1000;border-radius:4px}.panel-area .bb-comment .fold-comment:hover{color:#000}body.dark .panel-area .bb-comment .fold-comment{background-color:#444;color:#eee}body.dark .panel-area .bb-comment .fold-comment:hover{color:var(--theme-color)}`;
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fold-comment.min.js"] = (()=>{return(e,t)=>{if(document.URL.replace(window.location.search,"")==="https://t.bilibili.com/"){(async()=>{t.applyImportantStyle("foldCommentStyle");const e=await SpinQuery.select(".card-list .feed-card>.content");const l=e=>{const t=t=>{const l=document.createElement("div");l.classList.add("fold-comment");l.innerHTML="收起评论";const n=t.querySelector(".bb-comment");if(n===null){console.error("未找到评论区");return}else if(n.querySelector(".fold-comment")!==null){return}else{l.addEventListener("click",()=>{const t=e.querySelector(".button-bar").children[1];if(t!==null){t.click();e.scrollIntoView()}});n.insertAdjacentElement("beforeend",l)}};const l=e.querySelector(".panel-area");if(l===null){console.log(e)}if(l.childElementCount===0){const e=Observer.childList(l,n=>{if(n.length>0){t(l);e.forEach(e=>e.stop())}})}else{t(l)}};Observer.childList(e,()=>e.querySelectorAll("div.card").forEach(l))})()}}})();
|
||||
|
||||
@ -1086,9 +1086,9 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/m
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/expand-description.min.js"] = (()=>{return(e,p)=>{p.applyStyle("expandDescriptionStyle")}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/favorites-redirect.min.js"] = (()=>{return(t,e)=>{function i(){const t=document.querySelectorAll("li[data-aid]>a");t.forEach(t=>{const e=t.getAttribute("href");if(e===null||!e.includes("medialist")){return}const i=t.parentElement.getAttribute("data-aid");t.setAttribute("href",`https://www.bilibili.com/video/av${i}`)})}(async()=>{const t=await SpinQuery.select("#app>.s-space");if(t!==null){Observer.childListSubtree("#app>.s-space",i)}})()}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/feeds-apis.min.js"] = (()=>{return(e,t)=>{const r={repost:{id:1,name:"转发"},textWithImages:{id:2,name:"图文"},text:{id:4,name:"文字"},video:{id:8,name:"视频"},miniVideo:{id:16,name:"小视频"},column:{id:64,name:"专栏"},audio:{id:256,name:"音频"},bangumi:{id:512,name:"番剧"},share:{id:2048,name:"分享"}};class n extends EventTarget{constructor(){super(...arguments);this.cards=[]}addEventListener(e,t,r){super.addEventListener(e,t,r)}removeEventListener(e,t,r){super.removeEventListener(e,t,r)}addCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){if(e.querySelector(".skeleton")!==null){const t=Observer.childList(e,()=>{if(e.querySelector(".skeleton")===null){t.forEach(e=>e.stop());this.addCard(e)}})}else{const t=this.parseCard(e);this.cards.push(t);const r=new CustomEvent("addCard",{detail:t});this.dispatchEvent(r)}}}removeCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){const t=this.parseCard(e).id;const r=this.cards.findIndex(e=>e.id===t);const n=this.cards[r];this.cards.splice(r,1);const s=new CustomEvent("removeCard",{detail:n});this.dispatchEvent(s)}}parseCard(e){const t=t=>{if(e.querySelector(t)===null){return""}return e.querySelector(t).innerText};const n=e=>{const r=parseInt(t(e));if(isNaN(r)){return 0}return r};const s=(()=>{if(e.querySelector(".repost")){return r.repost}if(e.querySelector(".imagesbox")){return r.textWithImages}if(e.querySelector(".video-container")){return r.video}if(e.querySelector(".bangumi-container")){return r.bangumi}if(e.querySelector(".article-container")){return r.column}if(e.querySelector(".music-container")){return r.audio}if(e.querySelector(".h5share-container")){return r.share}if(e.querySelector(".vc-ctnr")){return r.miniVideo}return r.text})();const i={id:e.getAttribute("data-did"),username:t(".main-content .user-name"),text:t(".card-content .text.description"),reposts:n(".button-bar .single-button:nth-child(1) .text-offset"),comments:n(".button-bar .single-button:nth-child(2) .text-offset"),likes:n(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:s};e.setAttribute("data-type",s.id.toString());return i}async startWatching(){const e=await SpinQuery.select(".card-list .content");if(!e){return false}const t=[...e.querySelectorAll(".content>.card")];t.forEach(e=>this.addCard(e));Observer.childList(e,e=>{e.forEach(e=>{e.addedNodes.forEach(e=>this.addCard(e));e.removedNodes.forEach(e=>this.removeCard(e))})});return true}}const s=new n;return{export:{feedsCardsManager:s,feedsCardTypes:r}}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/feeds-filter-card.vue.min.js"] = (()=>{return(e,t)=>{const d=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div></div>`;t.applyStyleFromText(`body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:12px;margin:0 0 12px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}`,"feeds-filter-card-style");return{export:Object.assign({template:d},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e instanceof RegExp){return e.test(t.text)}return t.text.includes(e)})){t.element.style.display="none"}else{t.element.style.display="block"}}},data(){return{allTypes:[]}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:d}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!")}this.allTypes=Object.entries(d);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)})}})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/feeds-filter-card.vue.min.js"] = (()=>{return(e,t)=>{const r=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div><h2>关键词</h2><div class=filter-patterns><div class=pattern v-for="p of patterns":key=p>{{p}}<icon title=删除 type=mdi icon=trash-can-outline @click.native=deletePattern(p)></icon></div></div><div class=add-pattern><input placeholder="支持正则表达式 /^xxx$/"type=text v-model=newPattern @keydown.enter=addPattern(newPattern)><icon title=添加 type=mdi icon=plus @click.native=addPattern(newPattern)></icon></div></div>`;t.applyStyleFromText(`body .feed-card .card.pattern-block,body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:13px;margin:0 0 8px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns:not(:empty){margin-bottom:8px}.feeds-filter .filter-patterns .pattern{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;background-color:#0001;font-size:12px}.feeds-filter .filter-patterns .pattern:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns .pattern .be-icon{font-size:18px;cursor:pointer}.feeds-filter .add-pattern{display:flex;align-items:center}.feeds-filter .add-pattern input{color:inherit;background-color:transparent;font-size:12px;border:1px solid #8884;border-radius:4px;outline:0!important;padding:4px;flex:1 0 0;width:0}.feeds-filter .add-pattern input:focus{border-color:var(--theme-color)}.feeds-filter .add-pattern .be-icon{font-size:18px;cursor:pointer;margin-left:8px}`,"feeds-filter-card-style");return{export:Object.assign({template:r},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue"),Icon:()=>t.importAsync("icon.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e.startsWith("/")&&e.endsWith("/")){return new RegExp(e.slice(1,e.length-1)).test(t.text)}return t.text.includes(e)})){t.element.classList.add("pattern-block")}else{t.element.classList.remove("pattern-block")}},deletePattern(t){const r=e.feedsFilterPatterns.indexOf(t);if(r!==-1){this.patterns.splice(r,1)}},addPattern(e){if(e&&!this.patterns.includes(e)){this.patterns.push(e)}this.newPattern=""}},watch:{patterns(){e.feedsFilterPatterns=this.patterns;if(this.feedsCardsManager!==null){this.feedsCardsManager.cards.forEach(e=>this.updateCard(e))}}},data(){return{allTypes:[],patterns:[...e.feedsFilterPatterns],newPattern:"",feedsCardsManager:null}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:r}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!");return}this.allTypes=Object.entries(r);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)});this.feedsCardsManager=e}})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/feeds-filter.min.js"] = (()=>{return(e,r)=>{(async()=>{if(document.URL.replace(location.search,"")!=="https://t.bilibili.com/"){return}const e=await SpinQuery.select(".home-container .left-panel");if(e===null){return}e.insertAdjacentHTML("beforeend",html`<feeds-filter-card></feeds-filter-card>`);new Vue({el:"feeds-filter-card",components:{FeedsFilterCard:()=>r.importAsync("feeds-filter-card.vue")}})})()}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/filter-type-switch.vue.min.js"] = (()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:not(.disabled):hover{background-color:#0002}.filter-type-switch label.disabled{background-color:var(--theme-color-10)}.filter-type-switch label.disabled:hover{background-color:var(--theme-color-20)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/filter-type-switch.vue.min.js"] = (()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:hover{background-color:#0002}.filter-type-switch label.disabled{border-color:var(--theme-color)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/fix-fullscreen.min.js"] = (()=>{return(e,n)=>{unsafeWindow.Element.ALLOW_KEYBOARD_INPUT={};const t=unsafeWindow.Element.prototype.requestFullscreen;unsafeWindow.Element.prototype.requestFullscreen=function(){t.call(this)}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/fold-comment.min.css"] = `.panel-area .bb-comment .fold-comment{position:-webkit-sticky;position:sticky;bottom:0;height:40px;width:calc(100% + 48px);font-size:14px;transform:translateX(-24px);display:flex;align-items:center;justify-content:center;background-color:#fff;color:#99a2aa;cursor:pointer;transition:.2s ease-out;z-index:1000;border-radius:4px}.panel-area .bb-comment .fold-comment:hover{color:#000}body.dark .panel-area .bb-comment .fold-comment{background-color:#444;color:#eee}body.dark .panel-area .bb-comment .fold-comment:hover{color:var(--theme-color)}`;
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/fold-comment.min.js"] = (()=>{return(e,t)=>{if(document.URL.replace(window.location.search,"")==="https://t.bilibili.com/"){(async()=>{t.applyImportantStyle("foldCommentStyle");const e=await SpinQuery.select(".card-list .feed-card>.content");const l=e=>{const t=t=>{const l=document.createElement("div");l.classList.add("fold-comment");l.innerHTML="收起评论";const n=t.querySelector(".bb-comment");if(n===null){console.error("未找到评论区");return}else if(n.querySelector(".fold-comment")!==null){return}else{l.addEventListener("click",()=>{const t=e.querySelector(".button-bar").children[1];if(t!==null){t.click();e.scrollIntoView()}});n.insertAdjacentElement("beforeend",l)}};const l=e.querySelector(".panel-area");if(l===null){console.log(e)}if(l.childElementCount===0){const e=Observer.childList(l,n=>{if(n.length>0){t(l);e.forEach(e=>e.stop())}})}else{t(l)}};Observer.childList(e,()=>e.querySelectorAll("div.card").forEach(l))})()}}})();
|
||||
|
||||
@ -1086,9 +1086,9 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/mi
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.js"] = (()=>{return(e,p)=>{p.applyStyle("expandDescriptionStyle")}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/favorites-redirect.min.js"] = (()=>{return(t,e)=>{function i(){const t=document.querySelectorAll("li[data-aid]>a");t.forEach(t=>{const e=t.getAttribute("href");if(e===null||!e.includes("medialist")){return}const i=t.parentElement.getAttribute("data-aid");t.setAttribute("href",`https://www.bilibili.com/video/av${i}`)})}(async()=>{const t=await SpinQuery.select("#app>.s-space");if(t!==null){Observer.childListSubtree("#app>.s-space",i)}})()}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-apis.min.js"] = (()=>{return(e,t)=>{const r={repost:{id:1,name:"转发"},textWithImages:{id:2,name:"图文"},text:{id:4,name:"文字"},video:{id:8,name:"视频"},miniVideo:{id:16,name:"小视频"},column:{id:64,name:"专栏"},audio:{id:256,name:"音频"},bangumi:{id:512,name:"番剧"},share:{id:2048,name:"分享"}};class n extends EventTarget{constructor(){super(...arguments);this.cards=[]}addEventListener(e,t,r){super.addEventListener(e,t,r)}removeEventListener(e,t,r){super.removeEventListener(e,t,r)}addCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){if(e.querySelector(".skeleton")!==null){const t=Observer.childList(e,()=>{if(e.querySelector(".skeleton")===null){t.forEach(e=>e.stop());this.addCard(e)}})}else{const t=this.parseCard(e);this.cards.push(t);const r=new CustomEvent("addCard",{detail:t});this.dispatchEvent(r)}}}removeCard(e){if(e instanceof HTMLElement&&e.classList.contains("card")){const t=this.parseCard(e).id;const r=this.cards.findIndex(e=>e.id===t);const n=this.cards[r];this.cards.splice(r,1);const s=new CustomEvent("removeCard",{detail:n});this.dispatchEvent(s)}}parseCard(e){const t=t=>{if(e.querySelector(t)===null){return""}return e.querySelector(t).innerText};const n=e=>{const r=parseInt(t(e));if(isNaN(r)){return 0}return r};const s=(()=>{if(e.querySelector(".repost")){return r.repost}if(e.querySelector(".imagesbox")){return r.textWithImages}if(e.querySelector(".video-container")){return r.video}if(e.querySelector(".bangumi-container")){return r.bangumi}if(e.querySelector(".article-container")){return r.column}if(e.querySelector(".music-container")){return r.audio}if(e.querySelector(".h5share-container")){return r.share}if(e.querySelector(".vc-ctnr")){return r.miniVideo}return r.text})();const i={id:e.getAttribute("data-did"),username:t(".main-content .user-name"),text:t(".card-content .text.description"),reposts:n(".button-bar .single-button:nth-child(1) .text-offset"),comments:n(".button-bar .single-button:nth-child(2) .text-offset"),likes:n(".button-bar .single-button:nth-child(3) .text-offset"),element:e,type:s};e.setAttribute("data-type",s.id.toString());return i}async startWatching(){const e=await SpinQuery.select(".card-list .content");if(!e){return false}const t=[...e.querySelectorAll(".content>.card")];t.forEach(e=>this.addCard(e));Observer.childList(e,e=>{e.forEach(e=>{e.addedNodes.forEach(e=>this.addCard(e));e.removedNodes.forEach(e=>this.removeCard(e))})});return true}}const s=new n;return{export:{feedsCardsManager:s,feedsCardTypes:r}}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-filter-card.vue.min.js"] = (()=>{return(e,t)=>{const d=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div></div>`;t.applyStyleFromText(`body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:12px;margin:0 0 12px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}`,"feeds-filter-card-style");return{export:Object.assign({template:d},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e instanceof RegExp){return e.test(t.text)}return t.text.includes(e)})){t.element.style.display="none"}else{t.element.style.display="block"}}},data(){return{allTypes:[]}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:d}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!")}this.allTypes=Object.entries(d);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)})}})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-filter-card.vue.min.js"] = (()=>{return(e,t)=>{const r=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div><h2>关键词</h2><div class=filter-patterns><div class=pattern v-for="p of patterns":key=p>{{p}}<icon title=删除 type=mdi icon=trash-can-outline @click.native=deletePattern(p)></icon></div></div><div class=add-pattern><input placeholder="支持正则表达式 /^xxx$/"type=text v-model=newPattern @keydown.enter=addPattern(newPattern)><icon title=添加 type=mdi icon=plus @click.native=addPattern(newPattern)></icon></div></div>`;t.applyStyleFromText(`body .feed-card .card.pattern-block,body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:13px;margin:0 0 8px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns:not(:empty){margin-bottom:8px}.feeds-filter .filter-patterns .pattern{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;background-color:#0001;font-size:12px}.feeds-filter .filter-patterns .pattern:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns .pattern .be-icon{font-size:18px;cursor:pointer}.feeds-filter .add-pattern{display:flex;align-items:center}.feeds-filter .add-pattern input{color:inherit;background-color:transparent;font-size:12px;border:1px solid #8884;border-radius:4px;outline:0!important;padding:4px;flex:1 0 0;width:0}.feeds-filter .add-pattern input:focus{border-color:var(--theme-color)}.feeds-filter .add-pattern .be-icon{font-size:18px;cursor:pointer;margin-left:8px}`,"feeds-filter-card-style");return{export:Object.assign({template:r},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue"),Icon:()=>t.importAsync("icon.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e.startsWith("/")&&e.endsWith("/")){return new RegExp(e.slice(1,e.length-1)).test(t.text)}return t.text.includes(e)})){t.element.classList.add("pattern-block")}else{t.element.classList.remove("pattern-block")}},deletePattern(t){const r=e.feedsFilterPatterns.indexOf(t);if(r!==-1){this.patterns.splice(r,1)}},addPattern(e){if(e&&!this.patterns.includes(e)){this.patterns.push(e)}this.newPattern=""}},watch:{patterns(){e.feedsFilterPatterns=this.patterns;if(this.feedsCardsManager!==null){this.feedsCardsManager.cards.forEach(e=>this.updateCard(e))}}},data(){return{allTypes:[],patterns:[...e.feedsFilterPatterns],newPattern:"",feedsCardsManager:null}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:r}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!");return}this.allTypes=Object.entries(r);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)});this.feedsCardsManager=e}})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/feeds-filter.min.js"] = (()=>{return(e,r)=>{(async()=>{if(document.URL.replace(location.search,"")!=="https://t.bilibili.com/"){return}const e=await SpinQuery.select(".home-container .left-panel");if(e===null){return}e.insertAdjacentHTML("beforeend",html`<feeds-filter-card></feeds-filter-card>`);new Vue({el:"feeds-filter-card",components:{FeedsFilterCard:()=>r.importAsync("feeds-filter-card.vue")}})})()}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/filter-type-switch.vue.min.js"] = (()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:not(.disabled):hover{background-color:#0002}.filter-type-switch label.disabled{background-color:var(--theme-color-10)}.filter-type-switch label.disabled:hover{background-color:var(--theme-color-20)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/filter-type-switch.vue.min.js"] = (()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:hover{background-color:#0002}.filter-type-switch label.disabled{border-color:var(--theme-color)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fix-fullscreen.min.js"] = (()=>{return(e,n)=>{unsafeWindow.Element.ALLOW_KEYBOARD_INPUT={};const t=unsafeWindow.Element.prototype.requestFullscreen;unsafeWindow.Element.prototype.requestFullscreen=function(){t.call(this)}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fold-comment.min.css"] = `.panel-area .bb-comment .fold-comment{position:-webkit-sticky;position:sticky;bottom:0;height:40px;width:calc(100% + 48px);font-size:14px;transform:translateX(-24px);display:flex;align-items:center;justify-content:center;background-color:#fff;color:#99a2aa;cursor:pointer;transition:.2s ease-out;z-index:1000;border-radius:4px}.panel-area .bb-comment .fold-comment:hover{color:#000}body.dark .panel-area .bb-comment .fold-comment{background-color:#444;color:#eee}body.dark .panel-area .bb-comment .fold-comment:hover{color:var(--theme-color)}`;
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fold-comment.min.js"] = (()=>{return(e,t)=>{if(document.URL.replace(window.location.search,"")==="https://t.bilibili.com/"){(async()=>{t.applyImportantStyle("foldCommentStyle");const e=await SpinQuery.select(".card-list .feed-card>.content");const l=e=>{const t=t=>{const l=document.createElement("div");l.classList.add("fold-comment");l.innerHTML="收起评论";const n=t.querySelector(".bb-comment");if(n===null){console.error("未找到评论区");return}else if(n.querySelector(".fold-comment")!==null){return}else{l.addEventListener("click",()=>{const t=e.querySelector(".button-bar").children[1];if(t!==null){t.click();e.scrollIntoView()}});n.insertAdjacentElement("beforeend",l)}};const l=e.querySelector(".panel-area");if(l===null){console.log(e)}if(l.childElementCount===0){const e=Observer.childList(l,n=>{if(n.length>0){t(l);e.forEach(e=>e.stop())}})}else{t(l)}};Observer.childList(e,()=>e.querySelectorAll("div.card").forEach(l))})()}}})();
|
||||
|
||||
@ -51,9 +51,9 @@
|
||||
"expand-description.min.js": "A56857AD6B1C9F431B233D188E857D30DD5A2EB644986DE32A21280B1B7BC7A7",
|
||||
"favorites-redirect.min.js": "70D6ECCE0402AA76387D2A3288C1148C60CC88D5378B7A2BDC813F3F78E4EE84",
|
||||
"feeds-apis.min.js": "2C704CF50C6F2C562AC2FCD7E6C9706E63E109D2FB4A6836BFE316C34D4A4FCE",
|
||||
"feeds-filter-card.vue.min.js": "9B3B09C62982448CE4175FE7339585F31E14DE19D4F794C6BB65C45126DD143E",
|
||||
"feeds-filter-card.vue.min.js": "B7D084FC44D0C57D3A0BC88016DE103780A51AEE3D5294628210F00F8946FD72",
|
||||
"feeds-filter.min.js": "C5781B8313AFDE875CE65C7BDF2C6D545847E2A29EC98BA4CD55C0F802567228",
|
||||
"filter-type-switch.vue.min.js": "7FEA6617256698891A5282F18F4ECAAC910586FA582384D054133A43E186E88A",
|
||||
"filter-type-switch.vue.min.js": "86F40D40C2464A56A2A0D32A0B94860DD376D1FE7850836B4CE37B767312BBE7",
|
||||
"fix-fullscreen.min.js": "C0628A7CABB4421FCBD7663700EF9965C96F6D79979B9F7523A9F9B0B009C8B6",
|
||||
"fold-comment.min.css": "74DF4566EB80AD7078E65E8B68633E05FC41D3B4E47A20D6E415E8A743F35378",
|
||||
"fold-comment.min.js": "B149A9A8EA03DCB39BC4FF59591BE9D8E7BA45B2049A545F9611251EBE85FEA9",
|
||||
|
||||
BIN
min/bundle.zip
BIN
min/bundle.zip
Binary file not shown.
2
min/feeds-filter-card.vue.min.js
vendored
2
min/feeds-filter-card.vue.min.js
vendored
@ -1 +1 @@
|
||||
(()=>{return(e,t)=>{const d=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div></div>`;t.applyStyleFromText(`body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:12px;margin:0 0 12px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}`,"feeds-filter-card-style");return{export:Object.assign({template:d},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e instanceof RegExp){return e.test(t.text)}return t.text.includes(e)})){t.element.style.display="none"}else{t.element.style.display="block"}}},data(){return{allTypes:[]}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:d}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!")}this.allTypes=Object.entries(d);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)})}})}}})();
|
||||
(()=>{return(e,t)=>{const r=`<div class=feeds-filter><h1>动态过滤</h1><h2>类型</h2><div class=filter-types><filter-type-switch v-for="[name, type] of allTypes":name=name :type=type :key=type.id></filter-type-switch></div><h2>关键词</h2><div class=filter-patterns><div class=pattern v-for="p of patterns":key=p>{{p}}<icon title=删除 type=mdi icon=trash-can-outline @click.native=deletePattern(p)></icon></div></div><div class=add-pattern><input placeholder="支持正则表达式 /^xxx$/"type=text v-model=newPattern @keydown.enter=addPattern(newPattern)><icon title=添加 type=mdi icon=plus @click.native=addPattern(newPattern)></icon></div></div>`;t.applyStyleFromText(`body .feed-card .card.pattern-block,body.feeds-filter-block-audio .feed-card .card[data-type="256"],body.feeds-filter-block-bangumi .feed-card .card[data-type="512"],body.feeds-filter-block-column .feed-card .card[data-type="64"],body.feeds-filter-block-miniVideo .feed-card .card[data-type="16"],body.feeds-filter-block-repost .feed-card .card[data-type="1"],body.feeds-filter-block-share .feed-card .card[data-type="2048"],body.feeds-filter-block-text .feed-card .card[data-type="4"],body.feeds-filter-block-textWithImages .feed-card .card[data-type="2"],body.feeds-filter-block-video .feed-card .card[data-type="8"]{display:none!important}.feeds-filter{background-color:#fff;width:100%;padding:12px 16px;float:left;border-radius:4px;margin-top:8px;box-sizing:border-box;display:flex;flex-direction:column}.feeds-filter,.feeds-filter *{transition:.2s ease-out}body.dark .feeds-filter{color:#eee;background-color:#444}.feeds-filter h1{font-weight:400;font-size:14px;margin:0 0 14px}.feeds-filter h2{font-weight:700;font-size:13px;margin:0 0 8px}.feeds-filter .filter-types{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.feeds-filter .filter-types .filter-type-switch{flex:0 0 49%}.feeds-filter .filter-types .filter-type-switch:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns:not(:empty){margin-bottom:8px}.feeds-filter .filter-patterns .pattern{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;background-color:#0001;font-size:12px}.feeds-filter .filter-patterns .pattern:not(:last-child){margin-bottom:4px}.feeds-filter .filter-patterns .pattern .be-icon{font-size:18px;cursor:pointer}.feeds-filter .add-pattern{display:flex;align-items:center}.feeds-filter .add-pattern input{color:inherit;background-color:transparent;font-size:12px;border:1px solid #8884;border-radius:4px;outline:0!important;padding:4px;flex:1 0 0;width:0}.feeds-filter .add-pattern input:focus{border-color:var(--theme-color)}.feeds-filter .add-pattern .be-icon{font-size:18px;cursor:pointer;margin-left:8px}`,"feeds-filter-card-style");return{export:Object.assign({template:r},{components:{FilterTypeSwitch:()=>t.importAsync("filter-type-switch.vue"),Icon:()=>t.importAsync("icon.vue")},methods:{updateCard(t){if(e.feedsFilterPatterns.some(e=>{if(e.startsWith("/")&&e.endsWith("/")){return new RegExp(e.slice(1,e.length-1)).test(t.text)}return t.text.includes(e)})){t.element.classList.add("pattern-block")}else{t.element.classList.remove("pattern-block")}},deletePattern(t){const r=e.feedsFilterPatterns.indexOf(t);if(r!==-1){this.patterns.splice(r,1)}},addPattern(e){if(e&&!this.patterns.includes(e)){this.patterns.push(e)}this.newPattern=""}},watch:{patterns(){e.feedsFilterPatterns=this.patterns;if(this.feedsCardsManager!==null){this.feedsCardsManager.cards.forEach(e=>this.updateCard(e))}}},data(){return{allTypes:[],patterns:[...e.feedsFilterPatterns],newPattern:"",feedsCardsManager:null}},async mounted(){const{feedsCardsManager:e,feedsCardTypes:r}=await t.importAsync("feeds-apis");const a=await e.startWatching();if(!a){console.error("feedsCardsManager.startWatching() failed!");return}this.allTypes=Object.entries(r);e.cards.forEach(e=>this.updateCard(e));e.addEventListener("addCard",e=>{const t=e.detail;this.updateCard(t)});this.feedsCardsManager=e}})}}})();
|
||||
2
min/filter-type-switch.vue.min.js
vendored
2
min/filter-type-switch.vue.min.js
vendored
@ -1 +1 @@
|
||||
(()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:not(.disabled):hover{background-color:#0002}.filter-type-switch label.disabled{background-color:var(--theme-color-10)}.filter-type-switch label.disabled:hover{background-color:var(--theme-color-20)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
(()=>{return(e,t)=>{const i=`<div class=filter-type-switch><label :class={disabled}><span class=name :class={disabled}>{{type.name}}</span><input type=checkbox v-model=disabled><icon class=disabled type=mdi icon=cancel v-if=disabled></icon><icon type=mdi icon=check v-else></icon></label></div>`;t.applyStyleFromText(`.filter-type-switch label{cursor:pointer;margin:0;padding:4px 8px;border-radius:4px;background-color:#0001;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent}.filter-type-switch label .name{font-size:12px}.filter-type-switch label .disabled{color:var(--theme-color)!important}.filter-type-switch label:hover{background-color:#0002}.filter-type-switch label.disabled{border-color:var(--theme-color)}.filter-type-switch label input{display:none}.filter-type-switch label .be-icon{font-size:16px}`,"filter-type-switch-style");return{export:Object.assign({template:i},{components:{Icon:()=>t.importAsync("icon.vue")},props:["name","type"],methods:{setFilter(t,i=true){document.body.classList[t?"add":"remove"](`feeds-filter-block-${this.name}`);if(!i){return}if(t){e.feedsFilterTypes.push(this.type.id)}else{const t=e.feedsFilterTypes.indexOf(this.type.id);if(t!==-1){e.feedsFilterTypes.splice(t,1)}}e.feedsFilterTypes=e.feedsFilterTypes}},data(){const t=e.feedsFilterTypes.includes(this.type.id);this.setFilter(t,false);return{disabled:t}},watch:{disabled(e){this.setFilter(e)}}})}}})();
|
||||
@ -5,6 +5,17 @@
|
||||
<div class="filter-types">
|
||||
<filter-type-switch v-for="[name, type] of allTypes" :name="name" :type="type" :key="type.id"></filter-type-switch>
|
||||
</div>
|
||||
<h2>关键词</h2>
|
||||
<div class="filter-patterns">
|
||||
<div class="pattern" v-for="p of patterns" :key="p">
|
||||
{{p}}
|
||||
<icon title="删除" type="mdi" icon="trash-can-outline" @click.native="deletePattern(p)"></icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="add-pattern">
|
||||
<input placeholder="支持正则表达式 /^xxx$/" type="text" v-model="newPattern" @keydown.enter="addPattern(newPattern)" />
|
||||
<icon title="添加" type="mdi" icon="plus" @click.native="addPattern(newPattern)"></icon>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -12,27 +23,53 @@
|
||||
import { FeedsCard, FeedsCardType } from '../feeds-apis'
|
||||
export default {
|
||||
components: {
|
||||
FilterTypeSwitch: () => import('./filter-type-switch.vue')
|
||||
FilterTypeSwitch: () => import('./filter-type-switch.vue'),
|
||||
Icon: () => import('../../style/icon.vue')
|
||||
},
|
||||
methods: {
|
||||
updateCard(card: FeedsCard) {
|
||||
if (
|
||||
settings.feedsFilterPatterns.some(pattern => {
|
||||
if (pattern instanceof RegExp) {
|
||||
return pattern.test(card.text)
|
||||
if (pattern.startsWith('/') && pattern.endsWith('/')) {
|
||||
return new RegExp(pattern.slice(1, pattern.length - 1)).test(card.text)
|
||||
}
|
||||
return card.text.includes(pattern)
|
||||
})
|
||||
) {
|
||||
card.element.style.display = 'none'
|
||||
card.element.classList.add('pattern-block')
|
||||
} else {
|
||||
card.element.style.display = 'block'
|
||||
card.element.classList.remove('pattern-block')
|
||||
}
|
||||
},
|
||||
deletePattern(pattern: Pattern) {
|
||||
const index = settings.feedsFilterPatterns.indexOf(pattern)
|
||||
if (index !== -1) {
|
||||
this.patterns.splice(index, 1)
|
||||
}
|
||||
},
|
||||
addPattern(pattern: Pattern) {
|
||||
if (pattern && !this.patterns.includes(pattern)) {
|
||||
this.patterns.push(pattern)
|
||||
}
|
||||
this.newPattern = ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
patterns() {
|
||||
settings.feedsFilterPatterns = this.patterns
|
||||
if (this.feedsCardsManager !== null) {
|
||||
this.feedsCardsManager.cards.forEach((card: FeedsCard) =>
|
||||
this.updateCard(card)
|
||||
)
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
allTypes: [] as [string, FeedsCardType][]
|
||||
allTypes: [] as [string, FeedsCardType][],
|
||||
patterns: [...settings.feedsFilterPatterns],
|
||||
newPattern: '',
|
||||
feedsCardsManager: null
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
@ -40,6 +77,7 @@ export default {
|
||||
const success = await feedsCardsManager.startWatching()
|
||||
if (!success) {
|
||||
console.error('feedsCardsManager.startWatching() failed!')
|
||||
return
|
||||
}
|
||||
this.allTypes = Object.entries(feedsCardTypes)
|
||||
feedsCardsManager.cards.forEach(card => this.updateCard(card))
|
||||
@ -47,6 +85,7 @@ export default {
|
||||
const card = e.detail as FeedsCard
|
||||
this.updateCard(card)
|
||||
})
|
||||
this.feedsCardsManager = feedsCardsManager
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -71,6 +110,9 @@ body {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
.feed-card .card.pattern-block {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
.feeds-filter {
|
||||
background-color: white;
|
||||
@ -83,8 +125,9 @@ body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
&, & * {
|
||||
transition: .2s ease-out;
|
||||
&,
|
||||
& * {
|
||||
transition: 0.2s ease-out;
|
||||
}
|
||||
body.dark & {
|
||||
color: #eee;
|
||||
@ -93,21 +136,20 @@ body {
|
||||
h1 {
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
margin: 0 {
|
||||
bottom: 14px;
|
||||
}
|
||||
margin: 0;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
h2 {
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
margin: 0 {
|
||||
bottom: 12px;
|
||||
}
|
||||
font-size: 13px;
|
||||
margin: 0;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.filter-types {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 18px;
|
||||
.filter-type-switch {
|
||||
flex: 0 0 49%;
|
||||
&:not(:last-child) {
|
||||
@ -115,5 +157,49 @@ body {
|
||||
}
|
||||
}
|
||||
}
|
||||
.filter-patterns {
|
||||
&:not(:empty) {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.pattern {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 4px 8px;
|
||||
border-radius: 4px;
|
||||
background-color: #0001;
|
||||
font-size: 12px;
|
||||
&:not(:last-child) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.be-icon {
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
.add-pattern {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
input {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
font-size: 12px;
|
||||
border: 1px solid #8884;
|
||||
border-radius: 4px;
|
||||
outline: none !important;
|
||||
padding: 4px;
|
||||
flex: 1 0 0;
|
||||
width: 0;
|
||||
&:focus {
|
||||
border-color: var(--theme-color);
|
||||
}
|
||||
}
|
||||
.be-icon {
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
margin-left: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
Reference in New Issue
Block a user