diff --git a/bilibili-evolved.offline.user.js b/bilibili-evolved.offline.user.js
index 960344dee..90ef992a1 100644
--- a/bilibili-evolved.offline.user.js
+++ b/bilibili-evolved.offline.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved (Offline)
-// @version 612.78
+// @version 612.80
// @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中.
// @author Grant Howard, Coulomb-G
// @copyright 2020, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
@@ -1222,7 +1222,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-category.min.js"] = (()=>{return(i,t)=>{const{NavbarComponent:l}=t.import("custom-navbar-component");class o extends l{constructor(){super();this.boundingWidth=350;this.html=`主站`;this.popupHtml=`\n
\n`;const i=async()=>{const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"专题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}};this.initialPopup=(async()=>{new Vue({el:await SpinQuery.select("#custom-navbar-home-popup"),data:{info:[],loading:true},async mounted(){try{this.info=Object.entries(await i())}finally{this.loading=false}}})})}get name(){return"category"}}return{export:{Category:o}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-component.min.js"] = (()=>{return(t,n)=>{class e{constructor(n="",e="",s="0 0 auto",i=false,a=false,o=null,r=null,u=null,l=0,c=t.touchNavBar,h=false){this.html=n;this.popupHtml=e;this.flex=s;this.disabled=i;this.requestedPopup=a;this.initialPopup=o;this.onPopup=r;this.href=u;this.notifyCount=l;this.touch=c;this.active=h;this.noPadding=false;this.transparent=false;this.boundingWidth=0}get name(){return"blank1"}get order(){return t.customNavbarOrder[this.name]}get hidden(){return t.customNavbarHidden.includes(this.name)}get element(){return dq(`.custom-navbar li[data-name='${this.name}']`)}async setNotifyCount(t){const n=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!n||!t){n.innerHTML="";return}n.innerHTML=t.toString()}async setNotifyStyle(t){const n=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!n){return}const e={1:"number",2:"dot",3:"hidden"};n.classList.remove(...Object.values(e));n.classList.add(e[t])}async checkPosition(){if(this.boundingWidth===0){return}const t=this.element;const n=t.querySelector(".main-content ~ .popup-container");if(!n){return}const e=t.getBoundingClientRect();const s=e.left+e.width/2;const i=document.documentElement.clientWidth;const a=s-this.boundingWidth/2;const o=s+this.boundingWidth/2;if(a<0){n.style.transform=`translateX(${Math.abs(a)}px)`}else if(o>i){n.style.transform=`translateX(${-(o-i)}px)`}else{n.style.transform=""}}}return{export:{NavbarComponent:e}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-favorites-list.min.js"] = (()=>{return(t,i)=>{const{NavbarComponent:a}=i.import("custom-navbar-component");class e extends a{constructor(){super();this.boundingWidth=380;this.noPadding=true;this.href=`https://space.bilibili.com/${getUID()}/favlist`;this.html=`收藏`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n\n 加载中...\n
\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"favoritesList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .favorites-list`),store:store,filters:{formatDate(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}},components:{DpiImg:()=>i.importAsync("dpi-img.vue"),VDropdown:()=>i.importAsync("v-dropdown.vue")},data:{list:[],cards:[],selectedListName:"",cardsLoading:true,cardsPage:1},computed:{listNames(){return this.list.map(t=>t.name)},selectedListId(){const t=this.list.find(t=>t.name===this.selectedListName);return t?t.id:0},moreLink(){const t=this.selectedListId;if(t===0){return`https://space.bilibili.com/${getUID()}/favlist`}return`https://space.bilibili.com/${getUID()}/favlist?fid=${t}`},playLink(){const t=this.selectedListId;if(t===0){return undefined}return`https://www.bilibili.com/medialist/play/ml${t}`}},methods:{async getCards(){const t=`https://api.bilibili.com/medialist/gateway/base/spaceDetail?media_id=${this.selectedListId}&pn=${this.cardsPage}&ps=20`;const i=await Ajax.getJsonWithCredentials(t);if(i.code!==0){throw new Error(`加载收藏夹内容失败: ${i.message}`)}if(!i.data.medias){return[]}return i.data.medias.filter(t=>{return t.attr!==9}).map(t=>{return{id:t.id,aid:t.id,coverUrl:t.cover.replace("http:","https:"),favoriteTimestamp:t.fav_time*1e3,favoriteTime:new Date(t.fav_time*1e3),title:t.title,description:t.intro,duration:t.duration,durationText:formatDuration(t.duration),playCount:t.cnt_info.play,danmakuCount:t.cnt_info.danmaku,upName:t.upper.name,upFaceUrl:t.upper.face.replace("http:","https:"),upID:t.upper.mid}})},async changeList(){try{this.cards=[];this.cardsPage=1;this.cardsLoading=true;this.cards=await this.getCards();this.setInfiniteScroll()}catch(t){logError(t)}finally{this.cardsLoading=false}},async loadNextPage(){try{this.cardsLoading=true;this.cardsPage++;const t=await this.getCards();this.cards.push(...t);if(t.length>0){this.setInfiniteScroll()}}catch(t){logError(t)}finally{this.cardsLoading=false}},setInfiniteScroll(){const t=this.$el.querySelector(".cards");const i=_.debounce(()=>{if(t.scrollTop+t.clientHeight>=t.scrollHeight-48){t.removeEventListener("scroll",i);this.loadNextPage()}},200);t.addEventListener("scroll",i)}},async mounted(){try{const t=`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${getUID()}&is_space=0`;const i=await Ajax.getJsonWithCredentials(t);if(i.code!==0){throw new Error(`获取收藏夹列表失败: ${i.message}`)}this.list=i.data.list.map(t=>{return{id:t.id,name:t.title,count:t.media_count}});if(this.list.length>0){this.selectedListName=this.list[0].name;this.changeList()}}catch(t){logError(t)}finally{this.$el.classList.remove("loading")}}})}}return{export:{FavoritesList:e}}}})();
-offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-history-list.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
+offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-history-list.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-iframe.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:r}=e.import("custom-navbar-component");class s extends r{constructor(t,e,r){super();const{src:s,width:a,height:i,lazy:n,iframeName:h}=r;this.boundingWidth=parseInt(a);this.iframeName=h;this.html=t;this.href=e;this.popupHtml=`\n\n`;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}return{export:{Iframe:s}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-logo.min.js"] = (()=>{return(t,o)=>{const{NavbarComponent:s}=o.import("custom-navbar-component");class e extends s{constructor(){super();this.href=`https://www.bilibili.com/`;this.touch=false;addSettingsListener("customNavbarSeasonLogo",()=>this.getLogo(),true)}async getLogo(){if(t.customNavbarSeasonLogo){const t=await Ajax.getJson("https://api.bilibili.com/x/web-show/res/locs?pf=0&ids=142");if(t.code===0){this.html=`
`;return}}this.html=``}get name(){return"logo"}}return{export:{Logo:e}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-messages.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:a}=e.import("custom-navbar-component");class i extends a{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n\n`;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.fetchSettings().then(t=>{if(t){this.init()}})}get name(){return"messages"}async fetchSettings(){const t=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/link_setting/v1/link_setting/get?msg_notify=1`);if(t.code!==0){return}await this.setNotifyStyle(t.data.msg_notify);return t.data.msg_notify!==3}async init(){const t=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/msgfeed/unread`);const e=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread`);const a=await SpinQuery.select("#message-list");const i=[...a.querySelectorAll("a[data-name]")];const s=i.map(t=>t.getAttribute("data-name"));if(t.code!==0||e.code!==0){return}t.data["user_msg"]=e.data.unfollow_unread+e.data.follow_unread;let n=s.reduce((e,a)=>e+t.data[a],0);if(!n){return}await this.setNotifyCount(n);s.forEach((e,a)=>{const s=t.data[e];if(s>0){i[a].setAttribute("data-count",s.toString())}else{i[a].removeAttribute("data-count")}});i.forEach(t=>{t.addEventListener("click",()=>{const e=parseInt(t.getAttribute("data-count"));t.removeAttribute("data-count");n-=e;this.setNotifyCount(n)})})}}return{export:{Messages:i}}}})();
diff --git a/bilibili-evolved.preview-offline.user.js b/bilibili-evolved.preview-offline.user.js
index b8c39c8ea..737ae3be3 100644
--- a/bilibili-evolved.preview-offline.user.js
+++ b/bilibili-evolved.preview-offline.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved (Preview Offline)
-// @version 612.78
+// @version 612.80
// @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中.
// @author Grant Howard, Coulomb-G
// @copyright 2020, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
@@ -1222,7 +1222,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-category.min.js"] = (()=>{return(i,t)=>{const{NavbarComponent:l}=t.import("custom-navbar-component");class o extends l{constructor(){super();this.boundingWidth=350;this.html=`主站`;this.popupHtml=`\n\n`;const i=async()=>{const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"专题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}};this.initialPopup=(async()=>{new Vue({el:await SpinQuery.select("#custom-navbar-home-popup"),data:{info:[],loading:true},async mounted(){try{this.info=Object.entries(await i())}finally{this.loading=false}}})})}get name(){return"category"}}return{export:{Category:o}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-component.min.js"] = (()=>{return(t,n)=>{class e{constructor(n="",e="",s="0 0 auto",i=false,a=false,o=null,r=null,u=null,l=0,c=t.touchNavBar,h=false){this.html=n;this.popupHtml=e;this.flex=s;this.disabled=i;this.requestedPopup=a;this.initialPopup=o;this.onPopup=r;this.href=u;this.notifyCount=l;this.touch=c;this.active=h;this.noPadding=false;this.transparent=false;this.boundingWidth=0}get name(){return"blank1"}get order(){return t.customNavbarOrder[this.name]}get hidden(){return t.customNavbarHidden.includes(this.name)}get element(){return dq(`.custom-navbar li[data-name='${this.name}']`)}async setNotifyCount(t){const n=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!n||!t){n.innerHTML="";return}n.innerHTML=t.toString()}async setNotifyStyle(t){const n=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!n){return}const e={1:"number",2:"dot",3:"hidden"};n.classList.remove(...Object.values(e));n.classList.add(e[t])}async checkPosition(){if(this.boundingWidth===0){return}const t=this.element;const n=t.querySelector(".main-content ~ .popup-container");if(!n){return}const e=t.getBoundingClientRect();const s=e.left+e.width/2;const i=document.documentElement.clientWidth;const a=s-this.boundingWidth/2;const o=s+this.boundingWidth/2;if(a<0){n.style.transform=`translateX(${Math.abs(a)}px)`}else if(o>i){n.style.transform=`translateX(${-(o-i)}px)`}else{n.style.transform=""}}}return{export:{NavbarComponent:e}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-favorites-list.min.js"] = (()=>{return(t,i)=>{const{NavbarComponent:a}=i.import("custom-navbar-component");class e extends a{constructor(){super();this.boundingWidth=380;this.noPadding=true;this.href=`https://space.bilibili.com/${getUID()}/favlist`;this.html=`收藏`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n\n 加载中...\n
\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"favoritesList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .favorites-list`),store:store,filters:{formatDate(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}},components:{DpiImg:()=>i.importAsync("dpi-img.vue"),VDropdown:()=>i.importAsync("v-dropdown.vue")},data:{list:[],cards:[],selectedListName:"",cardsLoading:true,cardsPage:1},computed:{listNames(){return this.list.map(t=>t.name)},selectedListId(){const t=this.list.find(t=>t.name===this.selectedListName);return t?t.id:0},moreLink(){const t=this.selectedListId;if(t===0){return`https://space.bilibili.com/${getUID()}/favlist`}return`https://space.bilibili.com/${getUID()}/favlist?fid=${t}`},playLink(){const t=this.selectedListId;if(t===0){return undefined}return`https://www.bilibili.com/medialist/play/ml${t}`}},methods:{async getCards(){const t=`https://api.bilibili.com/medialist/gateway/base/spaceDetail?media_id=${this.selectedListId}&pn=${this.cardsPage}&ps=20`;const i=await Ajax.getJsonWithCredentials(t);if(i.code!==0){throw new Error(`加载收藏夹内容失败: ${i.message}`)}if(!i.data.medias){return[]}return i.data.medias.filter(t=>{return t.attr!==9}).map(t=>{return{id:t.id,aid:t.id,coverUrl:t.cover.replace("http:","https:"),favoriteTimestamp:t.fav_time*1e3,favoriteTime:new Date(t.fav_time*1e3),title:t.title,description:t.intro,duration:t.duration,durationText:formatDuration(t.duration),playCount:t.cnt_info.play,danmakuCount:t.cnt_info.danmaku,upName:t.upper.name,upFaceUrl:t.upper.face.replace("http:","https:"),upID:t.upper.mid}})},async changeList(){try{this.cards=[];this.cardsPage=1;this.cardsLoading=true;this.cards=await this.getCards();this.setInfiniteScroll()}catch(t){logError(t)}finally{this.cardsLoading=false}},async loadNextPage(){try{this.cardsLoading=true;this.cardsPage++;const t=await this.getCards();this.cards.push(...t);if(t.length>0){this.setInfiniteScroll()}}catch(t){logError(t)}finally{this.cardsLoading=false}},setInfiniteScroll(){const t=this.$el.querySelector(".cards");const i=_.debounce(()=>{if(t.scrollTop+t.clientHeight>=t.scrollHeight-48){t.removeEventListener("scroll",i);this.loadNextPage()}},200);t.addEventListener("scroll",i)}},async mounted(){try{const t=`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${getUID()}&is_space=0`;const i=await Ajax.getJsonWithCredentials(t);if(i.code!==0){throw new Error(`获取收藏夹列表失败: ${i.message}`)}this.list=i.data.list.map(t=>{return{id:t.id,name:t.title,count:t.media_count}});if(this.list.length>0){this.selectedListName=this.list[0].name;this.changeList()}}catch(t){logError(t)}finally{this.$el.classList.remove("loading")}}})}}return{export:{FavoritesList:e}}}})();
-offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-history-list.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
+offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-history-list.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-iframe.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:r}=e.import("custom-navbar-component");class s extends r{constructor(t,e,r){super();const{src:s,width:a,height:i,lazy:n,iframeName:h}=r;this.boundingWidth=parseInt(a);this.iframeName=h;this.html=t;this.href=e;this.popupHtml=`\n\n`;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}return{export:{Iframe:s}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-logo.min.js"] = (()=>{return(t,o)=>{const{NavbarComponent:s}=o.import("custom-navbar-component");class e extends s{constructor(){super();this.href=`https://www.bilibili.com/`;this.touch=false;addSettingsListener("customNavbarSeasonLogo",()=>this.getLogo(),true)}async getLogo(){if(t.customNavbarSeasonLogo){const t=await Ajax.getJson("https://api.bilibili.com/x/web-show/res/locs?pf=0&ids=142");if(t.code===0){this.html=`
`;return}}this.html=``}get name(){return"logo"}}return{export:{Logo:e}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-messages.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:a}=e.import("custom-navbar-component");class i extends a{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n\n`;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.fetchSettings().then(t=>{if(t){this.init()}})}get name(){return"messages"}async fetchSettings(){const t=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/link_setting/v1/link_setting/get?msg_notify=1`);if(t.code!==0){return}await this.setNotifyStyle(t.data.msg_notify);return t.data.msg_notify!==3}async init(){const t=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/msgfeed/unread`);const e=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread`);const a=await SpinQuery.select("#message-list");const i=[...a.querySelectorAll("a[data-name]")];const s=i.map(t=>t.getAttribute("data-name"));if(t.code!==0||e.code!==0){return}t.data["user_msg"]=e.data.unfollow_unread+e.data.follow_unread;let n=s.reduce((e,a)=>e+t.data[a],0);if(!n){return}await this.setNotifyCount(n);s.forEach((e,a)=>{const s=t.data[e];if(s>0){i[a].setAttribute("data-count",s.toString())}else{i[a].removeAttribute("data-count")}});i.forEach(t=>{t.addEventListener("click",()=>{const e=parseInt(t.getAttribute("data-count"));t.removeAttribute("data-count");n-=e;this.setNotifyCount(n)})})}}return{export:{Messages:i}}}})();
diff --git a/bilibili-evolved.preview.user.js b/bilibili-evolved.preview.user.js
index 7d99e2a8c..4ddab64c2 100644
--- a/bilibili-evolved.preview.user.js
+++ b/bilibili-evolved.preview.user.js
@@ -1221,7 +1221,7 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/m
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/custom-navbar-category.min.js"] = (()=>{return(i,t)=>{const{NavbarComponent:l}=t.import("custom-navbar-component");class o extends l{constructor(){super();this.boundingWidth=350;this.html=`主站`;this.popupHtml=`\n\n`;const i=async()=>{const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"专题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}};this.initialPopup=(async()=>{new Vue({el:await SpinQuery.select("#custom-navbar-home-popup"),data:{info:[],loading:true},async mounted(){try{this.info=Object.entries(await i())}finally{this.loading=false}}})})}get name(){return"category"}}return{export:{Category:o}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/custom-navbar-component.min.js"] = (()=>{return(t,n)=>{class e{constructor(n="",e="",s="0 0 auto",i=false,a=false,o=null,r=null,u=null,l=0,c=t.touchNavBar,h=false){this.html=n;this.popupHtml=e;this.flex=s;this.disabled=i;this.requestedPopup=a;this.initialPopup=o;this.onPopup=r;this.href=u;this.notifyCount=l;this.touch=c;this.active=h;this.noPadding=false;this.transparent=false;this.boundingWidth=0}get name(){return"blank1"}get order(){return t.customNavbarOrder[this.name]}get hidden(){return t.customNavbarHidden.includes(this.name)}get element(){return dq(`.custom-navbar li[data-name='${this.name}']`)}async setNotifyCount(t){const n=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!n||!t){n.innerHTML="";return}n.innerHTML=t.toString()}async setNotifyStyle(t){const n=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!n){return}const e={1:"number",2:"dot",3:"hidden"};n.classList.remove(...Object.values(e));n.classList.add(e[t])}async checkPosition(){if(this.boundingWidth===0){return}const t=this.element;const n=t.querySelector(".main-content ~ .popup-container");if(!n){return}const e=t.getBoundingClientRect();const s=e.left+e.width/2;const i=document.documentElement.clientWidth;const a=s-this.boundingWidth/2;const o=s+this.boundingWidth/2;if(a<0){n.style.transform=`translateX(${Math.abs(a)}px)`}else if(o>i){n.style.transform=`translateX(${-(o-i)}px)`}else{n.style.transform=""}}}return{export:{NavbarComponent:e}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/custom-navbar-favorites-list.min.js"] = (()=>{return(t,i)=>{const{NavbarComponent:a}=i.import("custom-navbar-component");class e extends a{constructor(){super();this.boundingWidth=380;this.noPadding=true;this.href=`https://space.bilibili.com/${getUID()}/favlist`;this.html=`收藏`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n\n 加载中...\n
\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"favoritesList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .favorites-list`),store:store,filters:{formatDate(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}},components:{DpiImg:()=>i.importAsync("dpi-img.vue"),VDropdown:()=>i.importAsync("v-dropdown.vue")},data:{list:[],cards:[],selectedListName:"",cardsLoading:true,cardsPage:1},computed:{listNames(){return this.list.map(t=>t.name)},selectedListId(){const t=this.list.find(t=>t.name===this.selectedListName);return t?t.id:0},moreLink(){const t=this.selectedListId;if(t===0){return`https://space.bilibili.com/${getUID()}/favlist`}return`https://space.bilibili.com/${getUID()}/favlist?fid=${t}`},playLink(){const t=this.selectedListId;if(t===0){return undefined}return`https://www.bilibili.com/medialist/play/ml${t}`}},methods:{async getCards(){const t=`https://api.bilibili.com/medialist/gateway/base/spaceDetail?media_id=${this.selectedListId}&pn=${this.cardsPage}&ps=20`;const i=await Ajax.getJsonWithCredentials(t);if(i.code!==0){throw new Error(`加载收藏夹内容失败: ${i.message}`)}if(!i.data.medias){return[]}return i.data.medias.filter(t=>{return t.attr!==9}).map(t=>{return{id:t.id,aid:t.id,coverUrl:t.cover.replace("http:","https:"),favoriteTimestamp:t.fav_time*1e3,favoriteTime:new Date(t.fav_time*1e3),title:t.title,description:t.intro,duration:t.duration,durationText:formatDuration(t.duration),playCount:t.cnt_info.play,danmakuCount:t.cnt_info.danmaku,upName:t.upper.name,upFaceUrl:t.upper.face.replace("http:","https:"),upID:t.upper.mid}})},async changeList(){try{this.cards=[];this.cardsPage=1;this.cardsLoading=true;this.cards=await this.getCards();this.setInfiniteScroll()}catch(t){logError(t)}finally{this.cardsLoading=false}},async loadNextPage(){try{this.cardsLoading=true;this.cardsPage++;const t=await this.getCards();this.cards.push(...t);if(t.length>0){this.setInfiniteScroll()}}catch(t){logError(t)}finally{this.cardsLoading=false}},setInfiniteScroll(){const t=this.$el.querySelector(".cards");const i=_.debounce(()=>{if(t.scrollTop+t.clientHeight>=t.scrollHeight-48){t.removeEventListener("scroll",i);this.loadNextPage()}},200);t.addEventListener("scroll",i)}},async mounted(){try{const t=`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${getUID()}&is_space=0`;const i=await Ajax.getJsonWithCredentials(t);if(i.code!==0){throw new Error(`获取收藏夹列表失败: ${i.message}`)}this.list=i.data.list.map(t=>{return{id:t.id,name:t.title,count:t.media_count}});if(this.list.length>0){this.selectedListName=this.list[0].name;this.changeList()}}catch(t){logError(t)}finally{this.$el.classList.remove("loading")}}})}}return{export:{FavoritesList:e}}}})();
-onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/custom-navbar-history-list.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
+onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/custom-navbar-history-list.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/custom-navbar-iframe.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:r}=e.import("custom-navbar-component");class s extends r{constructor(t,e,r){super();const{src:s,width:a,height:i,lazy:n,iframeName:h}=r;this.boundingWidth=parseInt(a);this.iframeName=h;this.html=t;this.href=e;this.popupHtml=`\n\n`;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}return{export:{Iframe:s}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/custom-navbar-logo.min.js"] = (()=>{return(t,o)=>{const{NavbarComponent:s}=o.import("custom-navbar-component");class e extends s{constructor(){super();this.href=`https://www.bilibili.com/`;this.touch=false;addSettingsListener("customNavbarSeasonLogo",()=>this.getLogo(),true)}async getLogo(){if(t.customNavbarSeasonLogo){const t=await Ajax.getJson("https://api.bilibili.com/x/web-show/res/locs?pf=0&ids=142");if(t.code===0){this.html=`
`;return}}this.html=``}get name(){return"logo"}}return{export:{Logo:e}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/custom-navbar-messages.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:a}=e.import("custom-navbar-component");class i extends a{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n\n`;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.fetchSettings().then(t=>{if(t){this.init()}})}get name(){return"messages"}async fetchSettings(){const t=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/link_setting/v1/link_setting/get?msg_notify=1`);if(t.code!==0){return}await this.setNotifyStyle(t.data.msg_notify);return t.data.msg_notify!==3}async init(){const t=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/msgfeed/unread`);const e=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread`);const a=await SpinQuery.select("#message-list");const i=[...a.querySelectorAll("a[data-name]")];const s=i.map(t=>t.getAttribute("data-name"));if(t.code!==0||e.code!==0){return}t.data["user_msg"]=e.data.unfollow_unread+e.data.follow_unread;let n=s.reduce((e,a)=>e+t.data[a],0);if(!n){return}await this.setNotifyCount(n);s.forEach((e,a)=>{const s=t.data[e];if(s>0){i[a].setAttribute("data-count",s.toString())}else{i[a].removeAttribute("data-count")}});i.forEach(t=>{t.addEventListener("click",()=>{const e=parseInt(t.getAttribute("data-count"));t.removeAttribute("data-count");n-=e;this.setNotifyCount(n)})})}}return{export:{Messages:i}}}})();
diff --git a/bilibili-evolved.user.js b/bilibili-evolved.user.js
index d90809e4c..09dea7d35 100644
--- a/bilibili-evolved.user.js
+++ b/bilibili-evolved.user.js
@@ -1221,7 +1221,7 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/mi
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-category.min.js"] = (()=>{return(i,t)=>{const{NavbarComponent:l}=t.import("custom-navbar-component");class o extends l{constructor(){super();this.boundingWidth=350;this.html=`主站`;this.popupHtml=`\n\n`;const i=async()=>{const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{icon:"douga",count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{icon:"anime",count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{icon:"guochuang",count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{icon:"music",count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{icon:"dance",count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{icon:"game",count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{icon:"technology",count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{icon:"digital",count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{icon:"life",count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{icon:"kichiku",count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{icon:"fashion",count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{icon:"ad",count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{icon:"ent",count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{icon:"cinephile",count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{icon:"cinema",count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{icon:"read",count:``,link:`https://www.bilibili.com/read/home`},"直播":{icon:"zhibo",count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{icon:"blackroom",count:``,link:`https://www.bilibili.com/blackroom/`},"专题":{icon:"topic",count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{icon:"activit",count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}};this.initialPopup=(async()=>{new Vue({el:await SpinQuery.select("#custom-navbar-home-popup"),data:{info:[],loading:true},async mounted(){try{this.info=Object.entries(await i())}finally{this.loading=false}}})})}get name(){return"category"}}return{export:{Category:o}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-component.min.js"] = (()=>{return(t,n)=>{class e{constructor(n="",e="",s="0 0 auto",i=false,a=false,o=null,r=null,u=null,l=0,c=t.touchNavBar,h=false){this.html=n;this.popupHtml=e;this.flex=s;this.disabled=i;this.requestedPopup=a;this.initialPopup=o;this.onPopup=r;this.href=u;this.notifyCount=l;this.touch=c;this.active=h;this.noPadding=false;this.transparent=false;this.boundingWidth=0}get name(){return"blank1"}get order(){return t.customNavbarOrder[this.name]}get hidden(){return t.customNavbarHidden.includes(this.name)}get element(){return dq(`.custom-navbar li[data-name='${this.name}']`)}async setNotifyCount(t){const n=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!n||!t){n.innerHTML="";return}n.innerHTML=t.toString()}async setNotifyStyle(t){const n=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);if(!n){return}const e={1:"number",2:"dot",3:"hidden"};n.classList.remove(...Object.values(e));n.classList.add(e[t])}async checkPosition(){if(this.boundingWidth===0){return}const t=this.element;const n=t.querySelector(".main-content ~ .popup-container");if(!n){return}const e=t.getBoundingClientRect();const s=e.left+e.width/2;const i=document.documentElement.clientWidth;const a=s-this.boundingWidth/2;const o=s+this.boundingWidth/2;if(a<0){n.style.transform=`translateX(${Math.abs(a)}px)`}else if(o>i){n.style.transform=`translateX(${-(o-i)}px)`}else{n.style.transform=""}}}return{export:{NavbarComponent:e}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-favorites-list.min.js"] = (()=>{return(t,i)=>{const{NavbarComponent:a}=i.import("custom-navbar-component");class e extends a{constructor(){super();this.boundingWidth=380;this.noPadding=true;this.href=`https://space.bilibili.com/${getUID()}/favlist`;this.html=`收藏`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n\n 加载中...\n
\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"favoritesList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .favorites-list`),store:store,filters:{formatDate(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}},components:{DpiImg:()=>i.importAsync("dpi-img.vue"),VDropdown:()=>i.importAsync("v-dropdown.vue")},data:{list:[],cards:[],selectedListName:"",cardsLoading:true,cardsPage:1},computed:{listNames(){return this.list.map(t=>t.name)},selectedListId(){const t=this.list.find(t=>t.name===this.selectedListName);return t?t.id:0},moreLink(){const t=this.selectedListId;if(t===0){return`https://space.bilibili.com/${getUID()}/favlist`}return`https://space.bilibili.com/${getUID()}/favlist?fid=${t}`},playLink(){const t=this.selectedListId;if(t===0){return undefined}return`https://www.bilibili.com/medialist/play/ml${t}`}},methods:{async getCards(){const t=`https://api.bilibili.com/medialist/gateway/base/spaceDetail?media_id=${this.selectedListId}&pn=${this.cardsPage}&ps=20`;const i=await Ajax.getJsonWithCredentials(t);if(i.code!==0){throw new Error(`加载收藏夹内容失败: ${i.message}`)}if(!i.data.medias){return[]}return i.data.medias.filter(t=>{return t.attr!==9}).map(t=>{return{id:t.id,aid:t.id,coverUrl:t.cover.replace("http:","https:"),favoriteTimestamp:t.fav_time*1e3,favoriteTime:new Date(t.fav_time*1e3),title:t.title,description:t.intro,duration:t.duration,durationText:formatDuration(t.duration),playCount:t.cnt_info.play,danmakuCount:t.cnt_info.danmaku,upName:t.upper.name,upFaceUrl:t.upper.face.replace("http:","https:"),upID:t.upper.mid}})},async changeList(){try{this.cards=[];this.cardsPage=1;this.cardsLoading=true;this.cards=await this.getCards();this.setInfiniteScroll()}catch(t){logError(t)}finally{this.cardsLoading=false}},async loadNextPage(){try{this.cardsLoading=true;this.cardsPage++;const t=await this.getCards();this.cards.push(...t);if(t.length>0){this.setInfiniteScroll()}}catch(t){logError(t)}finally{this.cardsLoading=false}},setInfiniteScroll(){const t=this.$el.querySelector(".cards");const i=_.debounce(()=>{if(t.scrollTop+t.clientHeight>=t.scrollHeight-48){t.removeEventListener("scroll",i);this.loadNextPage()}},200);t.addEventListener("scroll",i)}},async mounted(){try{const t=`https://api.bilibili.com/medialist/gateway/base/created?pn=1&ps=100&up_mid=${getUID()}&is_space=0`;const i=await Ajax.getJsonWithCredentials(t);if(i.code!==0){throw new Error(`获取收藏夹列表失败: ${i.message}`)}this.list=i.data.list.map(t=>{return{id:t.id,name:t.title,count:t.media_count}});if(this.list.length>0){this.selectedListName=this.list[0].name;this.changeList()}}catch(t){logError(t)}finally{this.$el.classList.remove("loading")}}})}}return{export:{FavoritesList:e}}}})();
-onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-history-list.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
+onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-history-list.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-iframe.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:r}=e.import("custom-navbar-component");class s extends r{constructor(t,e,r){super();const{src:s,width:a,height:i,lazy:n,iframeName:h}=r;this.boundingWidth=parseInt(a);this.iframeName=h;this.html=t;this.href=e;this.popupHtml=`\n\n`;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false;this.transparent=true}get name(){return this.iframeName+"Iframe"}}return{export:{Iframe:s}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-logo.min.js"] = (()=>{return(t,o)=>{const{NavbarComponent:s}=o.import("custom-navbar-component");class e extends s{constructor(){super();this.href=`https://www.bilibili.com/`;this.touch=false;addSettingsListener("customNavbarSeasonLogo",()=>this.getLogo(),true)}async getLogo(){if(t.customNavbarSeasonLogo){const t=await Ajax.getJson("https://api.bilibili.com/x/web-show/res/locs?pf=0&ids=142");if(t.code===0){this.html=`
`;return}}this.html=``}get name(){return"logo"}}return{export:{Logo:e}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-navbar-messages.min.js"] = (()=>{return(t,e)=>{const{NavbarComponent:a}=e.import("custom-navbar-component");class i extends a{constructor(){super();this.href="https://message.bilibili.com/";this.html="消息";this.popupHtml=`\n\n`;this.requestedPopup=true;this.active=document.URL.startsWith("https://message.bilibili.com/");this.fetchSettings().then(t=>{if(t){this.init()}})}get name(){return"messages"}async fetchSettings(){const t=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/link_setting/v1/link_setting/get?msg_notify=1`);if(t.code!==0){return}await this.setNotifyStyle(t.data.msg_notify);return t.data.msg_notify!==3}async init(){const t=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/msgfeed/unread`);const e=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread`);const a=await SpinQuery.select("#message-list");const i=[...a.querySelectorAll("a[data-name]")];const s=i.map(t=>t.getAttribute("data-name"));if(t.code!==0||e.code!==0){return}t.data["user_msg"]=e.data.unfollow_unread+e.data.follow_unread;let n=s.reduce((e,a)=>e+t.data[a],0);if(!n){return}await this.setNotifyCount(n);s.forEach((e,a)=>{const s=t.data[e];if(s>0){i[a].setAttribute("data-count",s.toString())}else{i[a].removeAttribute("data-count")}});i.forEach(t=>{t.addEventListener("click",()=>{const e=parseInt(t.getAttribute("data-count"));t.removeAttribute("data-count");n-=e;this.setNotifyCount(n)})})}}return{export:{Messages:i}}}})();
diff --git a/min/bundle.json b/min/bundle.json
index c4b395df4..5c07a340b 100644
--- a/min/bundle.json
+++ b/min/bundle.json
@@ -38,7 +38,7 @@
"custom-navbar-category.min.js": "945624CB0CD6BC2D0AA4C018491095E530B9CF7B8D20EFB0A32B6C395016E764",
"custom-navbar-component.min.js": "111FC82161C042AE5D3FA73570D87DBB4C2301B62EF56840915BC0EAA9DE65BC",
"custom-navbar-favorites-list.min.js": "71931EEBCF0BA3B33D8E72FF56BD92F2A089907F7E54E863D1EDDE0EAA9242FE",
- "custom-navbar-history-list.min.js": "5B5538E43536E99399DBDEACDB9DDFE829D838C27446797C05466EE41ED459AB",
+ "custom-navbar-history-list.min.js": "117EA03267C36C7DFCA17FE3270851135AA1FB8E49C9D2E875C3783B710B9BD6",
"custom-navbar-iframe.min.js": "DBE5844C2AA36057DBD33BBC5724D7D7F881AB15EC45A80228961942CD810A32",
"custom-navbar-logo.min.js": "236CCC887A3917A6D4840889B7380B648197765B8CDA27CB233F3F1E3215F7BB",
"custom-navbar-messages.min.js": "D7B315A4D8FD9E2EF9C1E40C1F3CA7EC18C5A87AC7A9410049061A0D851868DE",
diff --git a/min/bundle.zip b/min/bundle.zip
index 572928bff..dd4e1a0e9 100644
Binary files a/min/bundle.zip and b/min/bundle.zip differ
diff --git a/min/custom-navbar-history-list.min.js b/min/custom-navbar-history-list.min.js
index 0f34861ed..b435474eb 100644
--- a/min/custom-navbar-history-list.min.js
+++ b/min/custom-navbar-history-list.min.js
@@ -1 +1 @@
-(()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
\ No newline at end of file
+(()=>{return(t,e)=>{const{NavbarComponent:i}=e.import("custom-navbar-component");const n=()=>{const t=new Date;const e=Number(new Date(t.getFullYear(),t.getMonth(),t.getDate()));const i=24*36e5;const n=e-i;const s=e-7*i;return{now:t,today:e,oneDay:i,yesterday:n,lastWeek:s}};const s=t=>{const{today:e,yesterday:i,lastWeek:s}=n();const a=_.groupBy(t,t=>{if(t.timestamp>=e){return"今天"}if(t.timestamp>=i){return"昨天"}if(t.timestamp>=s){return"本周"}return"更早"});return Object.entries(a).map(([t,e])=>{return{name:t,items:e}})};const a=t=>{const{yesterday:e}=n();const i=Number(t);if(i>=e){return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}return`${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`};const r=[{name:"视频",type:"video",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=archive&ps=30",moreLink:"https://www.bilibili.com/account/history",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=Boolean(t.uri);const n=t.progress>0?`t=${t.progress}`:"t=0";const s=t.progress===-1?1:t.progress/t.duration;const r={isBangumi:i,id:t.kid,title:t.title,coverUrl:t.cover,upName:t.author_name||t.show_title,upID:t.author_mid||t.kid,href:i?t.uri+`?${n}`:`https://www.bilibili.com/video/av${t.kid}?p=${t.history.page}&${n}`,duration:t.duration,durationText:formatDuration(t.duration),progress:s,progressText:fixed(s*100,1)+"%",timestamp:e,time:new Date(e)};r.timeText=a(r.time);return r});return s(i)}},{name:"专栏",type:"article",api:"https://api.bilibili.com/x/web-interface/history/cursor?type=article&ps=30",moreLink:"",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{const e=t.view_at*1e3;const i=t.history.cid||t.kid;const n={id:i,title:t.title,coverUrl:t.covers[0],upName:t.author_name,upID:t.author_mid,href:`https://www.bilibili.com/read/cv${i}`,timestamp:e,time:new Date(e)};n.timeText=a(n.time);return n});return s(i)}},{name:"直播",type:"live",api:"https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid",moreLink:"https://link.bilibili.com/p/center/index#/user-center/view-history/live",getTimeline:t=>{const e=t.data.list;const i=e.map(t=>{return{id:t.roomid,href:`https://live.bilibili.com/${t.roomid}`,upID:t.uid,upName:t.uname,coverUrl:t.user_cover,title:t.title}});return[{name:"最近观看",items:i}]}}];class o extends i{constructor(){super();this.boundingWidth=350;this.noPadding=true;this.href=`https://www.bilibili.com/account/history`;this.html=`历史`;this.active=document.URL.replace(/\?.*$/,"")===this.href;this.popupHtml=`\n\n
\n 加载中...\n
\n
\n\n
\n\n 空空如也哦 = ̄ω ̄=\n
\n\n 加载中...\n
\n\n\n
\n
\n`;this.initialPopup=(()=>this.init())}get name(){return"historyList"}async init(){new Vue({el:await SpinQuery.select(`.custom-navbar [data-name="${this.name}"] .history-list`),store:store,components:{DpiImg:()=>e.importAsync("dpi-img.vue"),Icon:()=>e.importAsync("icon.vue")},data:{tabs:r,selectedTab:r[0],timeline:[],timelineLoading:true},methods:{async updateTimeline(){try{this.timelineLoading=true;this.timeline=[];const t=this.selectedTab;const e=await Ajax.getJsonWithCredentials(t.api);if(e.code!==0){throw new Error(`加载历史记录失败: ${e.message}`)}this.timeline=t.getTimeline(e)}catch(t){logError(t)}finally{this.timelineLoading=false}},viewMore(){const t=this.selectedTab;if(t.moreLink){open(t.moreLink,"_blank")}}},watch:{selectedTab(){this.updateTimeline()}},async created(){this.updateTimeline()},async mounted(){this.$el.classList.remove("loading")}})}}return{export:{HistoryList:o}}}})();
\ No newline at end of file
diff --git a/src/style/custom-navbar/history-list/custom-navbar-history-list.ts b/src/style/custom-navbar/history-list/custom-navbar-history-list.ts
index 2fc97a4b5..0ac33470d 100644
--- a/src/style/custom-navbar/history-list/custom-navbar-history-list.ts
+++ b/src/style/custom-navbar/history-list/custom-navbar-history-list.ts
@@ -204,7 +204,7 @@ export class HistoryList extends NavbarComponent {
{{h.durationText}}
- {{h.title}}
+ {{h.title || h.upName + '的直播间'}}