Bilibili-Evolved/min/watchlater-expire-warnings.min.js
2019-09-28 15:19:58 +08:00

1 line
1.1 KiB
JavaScript

(()=>{return(e,n)=>{(async()=>{if(!["//www.bilibili.com/watchlater/#/list"].some(e=>document.URL.includes(e))){return}const{getWatchlaterList:e}=await n.importAsync("watchlater-api");const t=await SpinQuery.select(".watch-later-list .list-box");if(t===null){return}n.applyStyleFromText(`\n.expire-warning {\npadding: 3px 25px;\ncolor: #F78C6C;\ndisplay: inline-flex;\nalign-items: center;\n}\n.expire-warning .mdi {\nline-height: 1;\nmargin-right: 8px;\nfont-size: 16px;\n}\n`,"watchlater-expire-warning-style");const i=14;const r=24*3600*1e3;const a=e=>{return(e-Number(new Date))/r};Observer.childListSubtree(t,async()=>{const n=[...t.querySelectorAll(".av-item .state")];const l=await e(true);n.forEach((e,n)=>{const t=l[n].add_at*1e3+60*r;const c=a(t);console.log(l[n].aid,c);if(c<i){if(e.querySelector(".expire-warning")===null){const n=-Math.floor(-c);e.insertAdjacentHTML("afterbegin",`\n<span class="expire-warning" title="到期时间: ${new Date(t).toLocaleString()}"><i class="mdi mdi-alert-circle-outline"></i>还剩${n}天过期</span>`)}}else{e.querySelectorAll(".expire-warning").forEach(e=>e.remove())}})})})()}})();