Dismiss toast after click update link

This commit is contained in:
the1812 2018-12-29 20:17:30 +08:00
parent 8a503f7245
commit 8562eeab33
6 changed files with 16 additions and 14 deletions

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved (Offline)
// @version 166.16
// @version 166.19
// @description 增强哔哩哔哩Web端体验(离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
// @author Grant Howard, Coulomb-G
// @copyright 2018, Grant Howrad (https://github.com/the1812)
@ -1064,8 +1064,8 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/remove-watermark.min.js"] = (()=>{return(i,l)=>{const n="bilibili-live-watermark";if($(`#${n}`).length===0){l.applyStyleFromText(`\n <style id='${n}'>\n .bilibili-live-player-video-logo\n {\n display: none !important;\n }\n </style>\n `)}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/full-tweets-title.min.js"] = (()=>{return(e,l)=>{l.applyStyle("fullTweetsTitleStyle")}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/view-cover.min.js"] = (()=>{return(e,t)=>{const n=t.attributes.videoInfo.export.VideoInfo;class i{constructor(e){this.url=e;if($(".image-viewer").length===0){this.createDom()}this.viewer=$(".image-viewer-container");this.downloadImage()}createDom(){$("body").append(t.data.imageViewerDom.text);$(".image-viewer-container .close").on("click",()=>this.hide());t.applyStyle("imageViewerStyle")}downloadImage(){const e=new XMLHttpRequest;e.open("GET",this.url.replace("http:","https:"),true);e.responseType="blob";e.onload=(()=>{const t=document.title.replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace("_番剧_bilibili_哔哩哔哩","");const n=URL.createObjectURL(e.response);this.imageData=n;this.viewer.find(".download").attr("href",n).attr("download",t);this.viewer.find(".image").prop("src",n)});e.send()}show(){this.viewer.addClass("opened")}hide(){this.viewer.removeClass("opened")}}if($("meta[itemprop='image'],meta[property='og:image']").length>0){return{widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="view-cover">\n <i class="icon-view"></i>\n <span>查看封面</span>\n </button>`,condition:async()=>{const e=await SpinQuery.condition(()=>(unsafeWindow||window).aid,e=>e!==undefined);return e!=="undefined"},success:async()=>{async function e(){const e=(unsafeWindow||window).aid;const t=new n(e);await t.fetchInfo();return t.coverUrl}let t=new i(await e());$("#view-cover").on("click",()=>{t.show()});(Observer.childList||Observer.subtree)("#bofqi",async()=>{t=new i(await e())})}}}}else{return{widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="view-cover">\n <i class="icon-view"></i>\n <span>查看封面</span>\n </button>`,condition:async()=>{const e=await SpinQuery.any(()=>$(".header-info-ctnr .room-cover"));return typeof e!=="undefined"},success:async()=>{const e=$(".header-info-ctnr .room-cover");const t=e.attr("href").match(/space\.bilibili\.com\/([\d]+)/);if(t&&t[1]){const e=t[1];const n=`https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=${e}`;const o=await downloadText(n);const s=JSON.parse(o).data.cover;const a=new i(s);$("#view-cover").on("click",()=>{a.show()})}}}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/notify-new-version.min.js"] = (()=>{return(t,n)=>{const e={less:-1,equal:0,greater:1,incomparable:NaN};class s{constructor(t){this.parts=t.split(".").map(t=>parseInt(t));this.versionString=t}compareTo(t){for(let n=0;n<this.parts.length;++n){if(t.parts.length===n){return e.greater}if(this.parts[n]===t.parts[n]){continue}if(this.parts[n]>t.parts[n]){return e.greater}return e.less}if(this.parts.length!==t.parts.length){return e.less}return e.equal}greaterThan(t){return this.compareTo(t)===e.greater}lessThan(t){return this.compareTo(t)===e.less}equals(t){return this.compareTo(t)===e.equal}}const i=new s(n.data.latestVersion.text);const a=new s(t.currentVersion);if(i.greaterThan(a)){return{settingsWidget:{after:()=>$(".gui-settings-content"),content:`<div class="gui-settings-footer${t.blurSettingsPanel?" blur":""}">\n <span class="gui-settings-label">新版本${i.versionString}已发布.</span>\n <a href="${t.latestVersionLink}">\n <button\n class="gui-settings-button"\n id="new-version-update">\n 安装\n </button>\n </a>\n <a target="blank" href="https://github.com/the1812/Bilibili-Evolved/releases">\n <button\n class="gui-settings-button">\n 查看\n </button>\n </a>\n </div>`,success:()=>{const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;Toast.info(n,"检查更新")}},widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="new-version-update">\n <a href="${t.latestVersionLink}" style="display:none"></a>\n <i class="icon-update"></i>\n <span>安装更新</span>\n </button>\n <button\n class="gui-settings-flat-button"\n id="new-version-info">\n <a target="blank" style="display:none" href="https://github.com/the1812/Bilibili-Evolved/releases"></a>\n <i class="icon-info"></i>\n <span>查看更新</span>\n </button>\n `,success:()=>{const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;Toast.info(n,"检查更新");$("#new-version-update").on("click",()=>document.querySelector("#new-version-update a").click());$("#new-version-info").on("click",()=>document.querySelector("#new-version-info a").click())}}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.js"] = (()=>{return(t,s)=>{class i{constructor(t="",s="",i="default"){this.type=i;this.message=t;this.title=s;this.duration=3e3;this.element=$(this.cardHtml)[0];this.$element=$(this.element);$(".toast-card-container").append(this.$element)}show(){this.element.classList.add("visible");this.$element.find(".toast-card-dismiss").on("click",()=>this.dismiss());if(this.duration){setTimeout(()=>this.dismiss(),this.duration)}}dismiss(){if(this.element.classList.contains("visible")){this.$element.on("transitionend",()=>this.$element.remove());this.element.classList.remove("visible")}}get cardHtml(){return`\n <div class="toast-card icons-enabled toast-${this.type}">\n <div class="toast-card-header">\n <h1 class="toast-card-title">${this.title}</h1>\n <div class="toast-card-dismiss">\n <i class="icon-cancel"></i>\n </div>\n </div>\n <p class="toast-card-message">${this.message}</p>\n </div>\n `}static get container(){return $(".toast-card-container")}static createToastContainer(){if($(".toast-card-container").length===0){$("body").append(`<div class="toast-card-container"></div>`)}}static internalShow(t,s,e,a){const n=new i(t,s,a);n.duration=e;n.show()}static show(t,s,i){this.internalShow(t,s,i,"default")}static info(t,s,i){this.internalShow(t,s,i,"info")}static success(t,s,i){this.internalShow(t,s,i,"success")}static error(t,s,i){this.internalShow(t,s,i,"error")}}s.applyStyle("toastStyle");i.createToastContainer();return{export:i}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/notify-new-version.min.js"] = (()=>{return(t,n)=>{const e={less:-1,equal:0,greater:1,incomparable:NaN};class s{constructor(t){this.parts=t.split(".").map(t=>parseInt(t));this.versionString=t}compareTo(t){for(let n=0;n<this.parts.length;++n){if(t.parts.length===n){return e.greater}if(this.parts[n]===t.parts[n]){continue}if(this.parts[n]>t.parts[n]){return e.greater}return e.less}if(this.parts.length!==t.parts.length){return e.less}return e.equal}greaterThan(t){return this.compareTo(t)===e.greater}lessThan(t){return this.compareTo(t)===e.less}equals(t){return this.compareTo(t)===e.equal}}const i=new s(n.data.latestVersion.text);const a=new s(t.currentVersion);if(i.greaterThan(a)){return{settingsWidget:{after:()=>$(".gui-settings-content"),content:`<div class="gui-settings-footer${t.blurSettingsPanel?" blur":""}">\n <span class="gui-settings-label">新版本${i.versionString}已发布.</span>\n <a href="${t.latestVersionLink}">\n <button\n class="gui-settings-button"\n id="new-version-update">\n 安装\n </button>\n </a>\n <a target="blank" href="https://github.com/the1812/Bilibili-Evolved/releases">\n <button\n class="gui-settings-button">\n 查看\n </button>\n </a>\n </div>`,success:()=>{const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;Toast.info(n,"检查更新")}},widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="new-version-update">\n <a href="${t.latestVersionLink}" style="display:none"></a>\n <i class="icon-update"></i>\n <span>安装更新</span>\n </button>\n <button\n class="gui-settings-flat-button"\n id="new-version-info">\n <a target="blank" style="display:none" href="https://github.com/the1812/Bilibili-Evolved/releases"></a>\n <i class="icon-info"></i>\n <span>查看更新</span>\n </button>\n `,success:()=>{const n=`新版本${i.versionString}已发布. <a id="new-version-link" class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;const e=Toast.info(n,"检查更新");$("#new-version-update").on("click",()=>document.querySelector("#new-version-update a").click());$("#new-version-link").on("click",()=>e&&e.dismiss());$("#new-version-info").on("click",()=>document.querySelector("#new-version-info a").click())}}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.js"] = (()=>{return(t,s)=>{class e{constructor(t="",s="",e="default"){this.type=e;this.message=t;this.title=s;this.duration=3e3;this.element=$(this.cardHtml)[0];this.$element=$(this.element);$(".toast-card-container").append(this.$element)}show(){this.element.classList.add("visible");this.$element.find(".toast-card-dismiss").on("click",()=>this.dismiss());if(this.duration){setTimeout(()=>this.dismiss(),this.duration)}}dismiss(){if(this.element.classList.contains("visible")){this.$element.on("transitionend",()=>this.$element.remove());this.element.classList.remove("visible")}}get cardHtml(){return`\n <div class="toast-card icons-enabled toast-${this.type}">\n <div class="toast-card-header">\n <h1 class="toast-card-title">${this.title}</h1>\n <div class="toast-card-dismiss">\n <i class="icon-cancel"></i>\n </div>\n </div>\n <p class="toast-card-message">${this.message}</p>\n </div>\n `}static get container(){return $(".toast-card-container")}static createToastContainer(){if($(".toast-card-container").length===0){$("body").append(`<div class="toast-card-container"></div>`)}}static internalShow(t,s,i,n){const a=new e(t,s,n);a.duration=i;a.show();return a}static show(t,s,e){return this.internalShow(t,s,e,"default")}static info(t,s,e){return this.internalShow(t,s,e,"info")}static success(t,s,e){return this.internalShow(t,s,e,"success")}static error(t,s,e){return this.internalShow(t,s,e,"error")}}s.applyStyle("toastStyle");e.createToastContainer();return{export:e}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/remove-top-mask.min.js"] = (()=>{return(i,n)=>{const l="bilibili-video-top-mask";if($(`#${l}`).length===0){n.applyStyleFromText(`\n <style id='${l}'>\n .bilibili-player-video-top\n {\n display: none !important;\n }\n </style>\n `)}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/blur-video-control.min.js"] = (()=>{return(r,e)=>{(Observer.childListSubtree||Observer.subtree)("#bofqi",()=>{SpinQuery.count(()=>$(".bui-slider .bui-track.bui-track-video-progress,.bilibili-player-video-control-bottom"),2,r=>{if(!r.hasClass("video-control-blur-container")){r.addClass("video-control-blur-container");r.prepend(`<div class="video-control-blur-layer"></div>`)}})});e.applyStyle("blurVideoControlStyle")}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-schedule.min.js"] = (()=>{return(e,t)=>{class s{constructor(...e){if(e.length===0){const e=new Date;this.hour=e.getHours();this.minute=e.getMinutes()}else if(e.length===1){const[t]=e;[this.hour,this.minute]=t.split(":").slice(0,2).map(e=>this.validatePart(e));this.normalize()}else if(v.length===2){[this.hour,this.minute]=e}}validatePart(e){const t=parseInt(e);if(!isNaN(t)&&0<=t&&t<=59){return t}else{return null}}normalize(){while(this.minute<0){this.minute+=60;this.hour-=1}while(this.minute>=60){this.minute-=60;this.hour+=1}while(this.hour<0){this.hour+=24}while(this.hour>=24){this.hour-=24}}lessThan(e){if(this.hour<e.hour||this.hour===e.hour&&this.minute<e.minute){return true}return false}greaterThan(e){if(this.hour>e.hour||this.hour===e.hour&&this.minute>e.minute){return true}return false}equals(e){return this.hour===e.hour&&this.minute===e.minute}isInRange(e,t){if(e.equals(t)){return false}let s=this.greaterThan(e)&&this.lessThan(t);if(e.greaterThan(t)){s=this.greaterThan(e)||this.lessThan(t)}const i=s||this.equals(e);return i}static millisecondsBefore(e){const t=new s;const i=(new Date).getSeconds();const r=1e3*(t.hour*3600+t.minute*60+i);const n=1e3*(e.hour*3600+e.minute*60);let h=n-r;if(t.greaterThan(e)||t.equals(e)&&i!==0){h+=24*3600*1e3}return h}}function i(){if(e.darkSchedule){const t=new s(e.darkScheduleStart);const r=new s(e.darkScheduleEnd);const n=new s;const h=n.isInRange(t,r);if(e.useDarkStyle!==h){e.useDarkStyle=h;saveSettings(e)}let u=0;if(h){u=s.millisecondsBefore(r)}else{u=s.millisecondsBefore(t)}if(u!==0){setTimeout(()=>i(),u)}}}i();return{export:s}}})();

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved (Preview Offline)
// @version 166.16
// @version 166.19
// @description 增强哔哩哔哩Web端体验(预览离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
// @author Grant Howard, Coulomb-G
// @copyright 2018, Grant Howrad (https://github.com/the1812)
@ -1064,8 +1064,8 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/remove-watermark.min.js"] = (()=>{return(i,l)=>{const n="bilibili-live-watermark";if($(`#${n}`).length===0){l.applyStyleFromText(`\n <style id='${n}'>\n .bilibili-live-player-video-logo\n {\n display: none !important;\n }\n </style>\n `)}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/full-tweets-title.min.js"] = (()=>{return(e,l)=>{l.applyStyle("fullTweetsTitleStyle")}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/view-cover.min.js"] = (()=>{return(e,t)=>{const n=t.attributes.videoInfo.export.VideoInfo;class i{constructor(e){this.url=e;if($(".image-viewer").length===0){this.createDom()}this.viewer=$(".image-viewer-container");this.downloadImage()}createDom(){$("body").append(t.data.imageViewerDom.text);$(".image-viewer-container .close").on("click",()=>this.hide());t.applyStyle("imageViewerStyle")}downloadImage(){const e=new XMLHttpRequest;e.open("GET",this.url.replace("http:","https:"),true);e.responseType="blob";e.onload=(()=>{const t=document.title.replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace("_番剧_bilibili_哔哩哔哩","");const n=URL.createObjectURL(e.response);this.imageData=n;this.viewer.find(".download").attr("href",n).attr("download",t);this.viewer.find(".image").prop("src",n)});e.send()}show(){this.viewer.addClass("opened")}hide(){this.viewer.removeClass("opened")}}if($("meta[itemprop='image'],meta[property='og:image']").length>0){return{widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="view-cover">\n <i class="icon-view"></i>\n <span>查看封面</span>\n </button>`,condition:async()=>{const e=await SpinQuery.condition(()=>(unsafeWindow||window).aid,e=>e!==undefined);return e!=="undefined"},success:async()=>{async function e(){const e=(unsafeWindow||window).aid;const t=new n(e);await t.fetchInfo();return t.coverUrl}let t=new i(await e());$("#view-cover").on("click",()=>{t.show()});(Observer.childList||Observer.subtree)("#bofqi",async()=>{t=new i(await e())})}}}}else{return{widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="view-cover">\n <i class="icon-view"></i>\n <span>查看封面</span>\n </button>`,condition:async()=>{const e=await SpinQuery.any(()=>$(".header-info-ctnr .room-cover"));return typeof e!=="undefined"},success:async()=>{const e=$(".header-info-ctnr .room-cover");const t=e.attr("href").match(/space\.bilibili\.com\/([\d]+)/);if(t&&t[1]){const e=t[1];const n=`https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=${e}`;const o=await downloadText(n);const s=JSON.parse(o).data.cover;const a=new i(s);$("#view-cover").on("click",()=>{a.show()})}}}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/notify-new-version.min.js"] = (()=>{return(t,n)=>{const e={less:-1,equal:0,greater:1,incomparable:NaN};class s{constructor(t){this.parts=t.split(".").map(t=>parseInt(t));this.versionString=t}compareTo(t){for(let n=0;n<this.parts.length;++n){if(t.parts.length===n){return e.greater}if(this.parts[n]===t.parts[n]){continue}if(this.parts[n]>t.parts[n]){return e.greater}return e.less}if(this.parts.length!==t.parts.length){return e.less}return e.equal}greaterThan(t){return this.compareTo(t)===e.greater}lessThan(t){return this.compareTo(t)===e.less}equals(t){return this.compareTo(t)===e.equal}}const i=new s(n.data.latestVersion.text);const a=new s(t.currentVersion);if(i.greaterThan(a)){return{settingsWidget:{after:()=>$(".gui-settings-content"),content:`<div class="gui-settings-footer${t.blurSettingsPanel?" blur":""}">\n <span class="gui-settings-label">新版本${i.versionString}已发布.</span>\n <a href="${t.latestVersionLink}">\n <button\n class="gui-settings-button"\n id="new-version-update">\n 安装\n </button>\n </a>\n <a target="blank" href="https://github.com/the1812/Bilibili-Evolved/releases">\n <button\n class="gui-settings-button">\n 查看\n </button>\n </a>\n </div>`,success:()=>{const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;Toast.info(n,"检查更新")}},widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="new-version-update">\n <a href="${t.latestVersionLink}" style="display:none"></a>\n <i class="icon-update"></i>\n <span>安装更新</span>\n </button>\n <button\n class="gui-settings-flat-button"\n id="new-version-info">\n <a target="blank" style="display:none" href="https://github.com/the1812/Bilibili-Evolved/releases"></a>\n <i class="icon-info"></i>\n <span>查看更新</span>\n </button>\n `,success:()=>{const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;Toast.info(n,"检查更新");$("#new-version-update").on("click",()=>document.querySelector("#new-version-update a").click());$("#new-version-info").on("click",()=>document.querySelector("#new-version-info a").click())}}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.js"] = (()=>{return(t,s)=>{class i{constructor(t="",s="",i="default"){this.type=i;this.message=t;this.title=s;this.duration=3e3;this.element=$(this.cardHtml)[0];this.$element=$(this.element);$(".toast-card-container").append(this.$element)}show(){this.element.classList.add("visible");this.$element.find(".toast-card-dismiss").on("click",()=>this.dismiss());if(this.duration){setTimeout(()=>this.dismiss(),this.duration)}}dismiss(){if(this.element.classList.contains("visible")){this.$element.on("transitionend",()=>this.$element.remove());this.element.classList.remove("visible")}}get cardHtml(){return`\n <div class="toast-card icons-enabled toast-${this.type}">\n <div class="toast-card-header">\n <h1 class="toast-card-title">${this.title}</h1>\n <div class="toast-card-dismiss">\n <i class="icon-cancel"></i>\n </div>\n </div>\n <p class="toast-card-message">${this.message}</p>\n </div>\n `}static get container(){return $(".toast-card-container")}static createToastContainer(){if($(".toast-card-container").length===0){$("body").append(`<div class="toast-card-container"></div>`)}}static internalShow(t,s,e,a){const n=new i(t,s,a);n.duration=e;n.show()}static show(t,s,i){this.internalShow(t,s,i,"default")}static info(t,s,i){this.internalShow(t,s,i,"info")}static success(t,s,i){this.internalShow(t,s,i,"success")}static error(t,s,i){this.internalShow(t,s,i,"error")}}s.applyStyle("toastStyle");i.createToastContainer();return{export:i}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/notify-new-version.min.js"] = (()=>{return(t,n)=>{const e={less:-1,equal:0,greater:1,incomparable:NaN};class s{constructor(t){this.parts=t.split(".").map(t=>parseInt(t));this.versionString=t}compareTo(t){for(let n=0;n<this.parts.length;++n){if(t.parts.length===n){return e.greater}if(this.parts[n]===t.parts[n]){continue}if(this.parts[n]>t.parts[n]){return e.greater}return e.less}if(this.parts.length!==t.parts.length){return e.less}return e.equal}greaterThan(t){return this.compareTo(t)===e.greater}lessThan(t){return this.compareTo(t)===e.less}equals(t){return this.compareTo(t)===e.equal}}const i=new s(n.data.latestVersion.text);const a=new s(t.currentVersion);if(i.greaterThan(a)){return{settingsWidget:{after:()=>$(".gui-settings-content"),content:`<div class="gui-settings-footer${t.blurSettingsPanel?" blur":""}">\n <span class="gui-settings-label">新版本${i.versionString}已发布.</span>\n <a href="${t.latestVersionLink}">\n <button\n class="gui-settings-button"\n id="new-version-update">\n 安装\n </button>\n </a>\n <a target="blank" href="https://github.com/the1812/Bilibili-Evolved/releases">\n <button\n class="gui-settings-button">\n 查看\n </button>\n </a>\n </div>`,success:()=>{const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;Toast.info(n,"检查更新")}},widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="new-version-update">\n <a href="${t.latestVersionLink}" style="display:none"></a>\n <i class="icon-update"></i>\n <span>安装更新</span>\n </button>\n <button\n class="gui-settings-flat-button"\n id="new-version-info">\n <a target="blank" style="display:none" href="https://github.com/the1812/Bilibili-Evolved/releases"></a>\n <i class="icon-info"></i>\n <span>查看更新</span>\n </button>\n `,success:()=>{const n=`新版本${i.versionString}已发布. <a id="new-version-link" class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;const e=Toast.info(n,"检查更新");$("#new-version-update").on("click",()=>document.querySelector("#new-version-update a").click());$("#new-version-link").on("click",()=>e&&e.dismiss());$("#new-version-info").on("click",()=>document.querySelector("#new-version-info a").click())}}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.js"] = (()=>{return(t,s)=>{class e{constructor(t="",s="",e="default"){this.type=e;this.message=t;this.title=s;this.duration=3e3;this.element=$(this.cardHtml)[0];this.$element=$(this.element);$(".toast-card-container").append(this.$element)}show(){this.element.classList.add("visible");this.$element.find(".toast-card-dismiss").on("click",()=>this.dismiss());if(this.duration){setTimeout(()=>this.dismiss(),this.duration)}}dismiss(){if(this.element.classList.contains("visible")){this.$element.on("transitionend",()=>this.$element.remove());this.element.classList.remove("visible")}}get cardHtml(){return`\n <div class="toast-card icons-enabled toast-${this.type}">\n <div class="toast-card-header">\n <h1 class="toast-card-title">${this.title}</h1>\n <div class="toast-card-dismiss">\n <i class="icon-cancel"></i>\n </div>\n </div>\n <p class="toast-card-message">${this.message}</p>\n </div>\n `}static get container(){return $(".toast-card-container")}static createToastContainer(){if($(".toast-card-container").length===0){$("body").append(`<div class="toast-card-container"></div>`)}}static internalShow(t,s,i,n){const a=new e(t,s,n);a.duration=i;a.show();return a}static show(t,s,e){return this.internalShow(t,s,e,"default")}static info(t,s,e){return this.internalShow(t,s,e,"info")}static success(t,s,e){return this.internalShow(t,s,e,"success")}static error(t,s,e){return this.internalShow(t,s,e,"error")}}s.applyStyle("toastStyle");e.createToastContainer();return{export:e}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/remove-top-mask.min.js"] = (()=>{return(i,n)=>{const l="bilibili-video-top-mask";if($(`#${l}`).length===0){n.applyStyleFromText(`\n <style id='${l}'>\n .bilibili-player-video-top\n {\n display: none !important;\n }\n </style>\n `)}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/blur-video-control.min.js"] = (()=>{return(r,e)=>{(Observer.childListSubtree||Observer.subtree)("#bofqi",()=>{SpinQuery.count(()=>$(".bui-slider .bui-track.bui-track-video-progress,.bilibili-player-video-control-bottom"),2,r=>{if(!r.hasClass("video-control-blur-container")){r.addClass("video-control-blur-container");r.prepend(`<div class="video-control-blur-layer"></div>`)}})});e.applyStyle("blurVideoControlStyle")}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-schedule.min.js"] = (()=>{return(e,t)=>{class s{constructor(...e){if(e.length===0){const e=new Date;this.hour=e.getHours();this.minute=e.getMinutes()}else if(e.length===1){const[t]=e;[this.hour,this.minute]=t.split(":").slice(0,2).map(e=>this.validatePart(e));this.normalize()}else if(v.length===2){[this.hour,this.minute]=e}}validatePart(e){const t=parseInt(e);if(!isNaN(t)&&0<=t&&t<=59){return t}else{return null}}normalize(){while(this.minute<0){this.minute+=60;this.hour-=1}while(this.minute>=60){this.minute-=60;this.hour+=1}while(this.hour<0){this.hour+=24}while(this.hour>=24){this.hour-=24}}lessThan(e){if(this.hour<e.hour||this.hour===e.hour&&this.minute<e.minute){return true}return false}greaterThan(e){if(this.hour>e.hour||this.hour===e.hour&&this.minute>e.minute){return true}return false}equals(e){return this.hour===e.hour&&this.minute===e.minute}isInRange(e,t){if(e.equals(t)){return false}let s=this.greaterThan(e)&&this.lessThan(t);if(e.greaterThan(t)){s=this.greaterThan(e)||this.lessThan(t)}const i=s||this.equals(e);return i}static millisecondsBefore(e){const t=new s;const i=(new Date).getSeconds();const r=1e3*(t.hour*3600+t.minute*60+i);const n=1e3*(e.hour*3600+e.minute*60);let h=n-r;if(t.greaterThan(e)||t.equals(e)&&i!==0){h+=24*3600*1e3}return h}}function i(){if(e.darkSchedule){const t=new s(e.darkScheduleStart);const r=new s(e.darkScheduleEnd);const n=new s;const h=n.isInRange(t,r);if(e.useDarkStyle!==h){e.useDarkStyle=h;saveSettings(e)}let u=0;if(h){u=s.millisecondsBefore(r)}else{u=s.millisecondsBefore(t)}if(u!==0){setTimeout(()=>i(),u)}}}i();return{export:s}}})();

View File

@ -1 +1 @@
(()=>{return(t,n)=>{const e={less:-1,equal:0,greater:1,incomparable:NaN};class s{constructor(t){this.parts=t.split(".").map(t=>parseInt(t));this.versionString=t}compareTo(t){for(let n=0;n<this.parts.length;++n){if(t.parts.length===n){return e.greater}if(this.parts[n]===t.parts[n]){continue}if(this.parts[n]>t.parts[n]){return e.greater}return e.less}if(this.parts.length!==t.parts.length){return e.less}return e.equal}greaterThan(t){return this.compareTo(t)===e.greater}lessThan(t){return this.compareTo(t)===e.less}equals(t){return this.compareTo(t)===e.equal}}const i=new s(n.data.latestVersion.text);const a=new s(t.currentVersion);if(i.greaterThan(a)){return{settingsWidget:{after:()=>$(".gui-settings-content"),content:`<div class="gui-settings-footer${t.blurSettingsPanel?" blur":""}">\n <span class="gui-settings-label">新版本${i.versionString}已发布.</span>\n <a href="${t.latestVersionLink}">\n <button\n class="gui-settings-button"\n id="new-version-update">\n 安装\n </button>\n </a>\n <a target="blank" href="https://github.com/the1812/Bilibili-Evolved/releases">\n <button\n class="gui-settings-button">\n 查看\n </button>\n </a>\n </div>`,success:()=>{const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;Toast.info(n,"检查更新")}},widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="new-version-update">\n <a href="${t.latestVersionLink}" style="display:none"></a>\n <i class="icon-update"></i>\n <span>安装更新</span>\n </button>\n <button\n class="gui-settings-flat-button"\n id="new-version-info">\n <a target="blank" style="display:none" href="https://github.com/the1812/Bilibili-Evolved/releases"></a>\n <i class="icon-info"></i>\n <span>查看更新</span>\n </button>\n `,success:()=>{const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;Toast.info(n,"检查更新");$("#new-version-update").on("click",()=>document.querySelector("#new-version-update a").click());$("#new-version-info").on("click",()=>document.querySelector("#new-version-info a").click())}}}}}})();
(()=>{return(t,n)=>{const e={less:-1,equal:0,greater:1,incomparable:NaN};class s{constructor(t){this.parts=t.split(".").map(t=>parseInt(t));this.versionString=t}compareTo(t){for(let n=0;n<this.parts.length;++n){if(t.parts.length===n){return e.greater}if(this.parts[n]===t.parts[n]){continue}if(this.parts[n]>t.parts[n]){return e.greater}return e.less}if(this.parts.length!==t.parts.length){return e.less}return e.equal}greaterThan(t){return this.compareTo(t)===e.greater}lessThan(t){return this.compareTo(t)===e.less}equals(t){return this.compareTo(t)===e.equal}}const i=new s(n.data.latestVersion.text);const a=new s(t.currentVersion);if(i.greaterThan(a)){return{settingsWidget:{after:()=>$(".gui-settings-content"),content:`<div class="gui-settings-footer${t.blurSettingsPanel?" blur":""}">\n <span class="gui-settings-label">新版本${i.versionString}已发布.</span>\n <a href="${t.latestVersionLink}">\n <button\n class="gui-settings-button"\n id="new-version-update">\n 安装\n </button>\n </a>\n <a target="blank" href="https://github.com/the1812/Bilibili-Evolved/releases">\n <button\n class="gui-settings-button">\n 查看\n </button>\n </a>\n </div>`,success:()=>{const n=`新版本${i.versionString}已发布. <a class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;Toast.info(n,"检查更新")}},widget:{content:`\n <button\n class="gui-settings-flat-button"\n id="new-version-update">\n <a href="${t.latestVersionLink}" style="display:none"></a>\n <i class="icon-update"></i>\n <span>安装更新</span>\n </button>\n <button\n class="gui-settings-flat-button"\n id="new-version-info">\n <a target="blank" style="display:none" href="https://github.com/the1812/Bilibili-Evolved/releases"></a>\n <i class="icon-info"></i>\n <span>查看更新</span>\n </button>\n `,success:()=>{const n=`新版本${i.versionString}已发布. <a id="new-version-link" class="link" href="${t.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;const e=Toast.info(n,"检查更新");$("#new-version-update").on("click",()=>document.querySelector("#new-version-update a").click());$("#new-version-link").on("click",()=>e&&e.dismiss());$("#new-version-info").on("click",()=>document.querySelector("#new-version-info a").click())}}}}}})();

2
min/toast.min.js vendored
View File

@ -1 +1 @@
(()=>{return(t,s)=>{class i{constructor(t="",s="",i="default"){this.type=i;this.message=t;this.title=s;this.duration=3e3;this.element=$(this.cardHtml)[0];this.$element=$(this.element);$(".toast-card-container").append(this.$element)}show(){this.element.classList.add("visible");this.$element.find(".toast-card-dismiss").on("click",()=>this.dismiss());if(this.duration){setTimeout(()=>this.dismiss(),this.duration)}}dismiss(){if(this.element.classList.contains("visible")){this.$element.on("transitionend",()=>this.$element.remove());this.element.classList.remove("visible")}}get cardHtml(){return`\n <div class="toast-card icons-enabled toast-${this.type}">\n <div class="toast-card-header">\n <h1 class="toast-card-title">${this.title}</h1>\n <div class="toast-card-dismiss">\n <i class="icon-cancel"></i>\n </div>\n </div>\n <p class="toast-card-message">${this.message}</p>\n </div>\n `}static get container(){return $(".toast-card-container")}static createToastContainer(){if($(".toast-card-container").length===0){$("body").append(`<div class="toast-card-container"></div>`)}}static internalShow(t,s,e,a){const n=new i(t,s,a);n.duration=e;n.show()}static show(t,s,i){this.internalShow(t,s,i,"default")}static info(t,s,i){this.internalShow(t,s,i,"info")}static success(t,s,i){this.internalShow(t,s,i,"success")}static error(t,s,i){this.internalShow(t,s,i,"error")}}s.applyStyle("toastStyle");i.createToastContainer();return{export:i}}})();
(()=>{return(t,s)=>{class e{constructor(t="",s="",e="default"){this.type=e;this.message=t;this.title=s;this.duration=3e3;this.element=$(this.cardHtml)[0];this.$element=$(this.element);$(".toast-card-container").append(this.$element)}show(){this.element.classList.add("visible");this.$element.find(".toast-card-dismiss").on("click",()=>this.dismiss());if(this.duration){setTimeout(()=>this.dismiss(),this.duration)}}dismiss(){if(this.element.classList.contains("visible")){this.$element.on("transitionend",()=>this.$element.remove());this.element.classList.remove("visible")}}get cardHtml(){return`\n <div class="toast-card icons-enabled toast-${this.type}">\n <div class="toast-card-header">\n <h1 class="toast-card-title">${this.title}</h1>\n <div class="toast-card-dismiss">\n <i class="icon-cancel"></i>\n </div>\n </div>\n <p class="toast-card-message">${this.message}</p>\n </div>\n `}static get container(){return $(".toast-card-container")}static createToastContainer(){if($(".toast-card-container").length===0){$("body").append(`<div class="toast-card-container"></div>`)}}static internalShow(t,s,i,n){const a=new e(t,s,n);a.duration=i;a.show();return a}static show(t,s,e){return this.internalShow(t,s,e,"default")}static info(t,s,e){return this.internalShow(t,s,e,"info")}static success(t,s,e){return this.internalShow(t,s,e,"success")}static error(t,s,e){return this.internalShow(t,s,e,"error")}}s.applyStyle("toastStyle");e.createToastContainer();return{export:e}}})();

View File

@ -103,10 +103,11 @@
`,
success: () =>
{
const message = `新版本${latestVersion.versionString}已发布. <a class="link" href="${settings.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;
Toast.info(message, "检查更新");
const message = `新版本${latestVersion.versionString}已发布. <a id="new-version-link" class="link" href="${settings.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`;
const toast = Toast.info(message, "检查更新");
$("#new-version-update").on("click",
() => document.querySelector("#new-version-update a").click());
$("#new-version-link").on("click", () => toast && toast.dismiss());
$("#new-version-info").on("click",
() => document.querySelector("#new-version-info a").click());
},

View File

@ -61,22 +61,23 @@
const toast = new Toast(message, title, type);
toast.duration = duration;
toast.show();
return toast;
}
static show(message, title, duration)
{
this.internalShow(message, title, duration, "default");
return this.internalShow(message, title, duration, "default");
}
static info(message, title, duration)
{
this.internalShow(message, title, duration, "info");
return this.internalShow(message, title, duration, "info");
}
static success(message, title, duration)
{
this.internalShow(message, title, duration, "success");
return this.internalShow(message, title, duration, "success");
}
static error(message, title, duration)
{
this.internalShow(message, title, duration, "error");
return this.internalShow(message, title, duration, "error");
}
}