mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
2.8 KiB
JavaScript
1 line
2.8 KiB
JavaScript
(()=>{return(e,t)=>{const r=`<div class=categories><div class=header><div class=title>分区</div><div class=tabs ref=reorderContainer><div class=tab v-for="t of tabs":key=t.key :data-key=t.key :style="{order: getOrder(t.key)}":class="{active: selectedTab === t.key}"@click="selectedTab = t.key"><div class=tab-name>{{t.name}}</div></div></div><div class=buttons><div class=toggle-reorder @click="reordering = !reordering; reorder.toggle()"><icon type=mdi :icon="reordering ? 'check' : 'swap-horizontal'"></icon>{{reordering ? '完成' : '排序'}}</div></div></div><transition><component class=category-content :is=content :rid=rid></component></transition></div>`;t.applyStyleFromText(`.simple-home .categories{display:flex;flex-direction:column}.simple-home .categories,.simple-home .categories *,.simple-home .categories ::after,.simple-home .categories ::before{transition:.2s ease-out}.simple-home .categories .header .tabs{display:flex;flex:1 1 0;margin:0 32px;justify-content:flex-start;overflow:auto;width:0;height:42px;scrollbar-width:none!important}.simple-home .categories .header .tabs::-webkit-scrollbar{height:0!important;width:0!important}.simple-home .categories .header .tabs .tab{transition:none;margin-right:24px}.simple-home .categories .category-content{margin-top:12px;margin-bottom:36px}.simple-home .categories .category-content-enter,.simple-home .categories .category-content-leave-to{opacity:0}`,"simple-home-categories-style");const o={anime:"动画",bangumi:"番剧",china:"国创",manga:"漫画",music:"音乐",dance:"舞蹈",game:"游戏",tech:"科技",digital:"数码",life:"生活",kichiku:"鬼畜",fashion:"时尚",ads:"广告",entertainment:"娱乐",column:"专栏",movie:"电影",tv:"TV剧",film:"影视",documentary:"纪录片"};return{export:Object.assign({template:r},{components:{Icon:()=>t.importAsync("icon.vue"),NormalCategory:()=>t.importAsync("simple-home-normal-category.vue")},data(){return{tabs:Object.entries(o).map(([e,t])=>{return{key:e,name:t}}),selectedTab:Object.entries(e.simpleHomeCategoryOrders).sort((e,t)=>e[1]-t[1])[0][0],reordering:false,reorder:null,regionCodes:null}},async mounted(){const r=this.$refs.reorderContainer;const{RegionCodes:o}=await t.importAsync("category-regions");this.regionCodes=o;const{Reorder:i}=await t.importAsync("reorder");const s=new i(r);this.reorder=s;s.addEventListener("reorder",t=>{const r=t.detail;for(const t of r){const{element:r,order:o}=t;e.simpleHomeCategoryOrders[r.getAttribute("data-key")]=o}e.simpleHomeCategoryOrders=e.simpleHomeCategoryOrders})},methods:{getOrder(t){return e.simpleHomeCategoryOrders[t]}},computed:{content(){if(["bangumi","china"].includes(this.selectedTab)){return null}else if(this.selectedTab==="manga"){return null}else if(this.selectedTab==="column"){return null}else{return"NormalCategory"}},rid(){if(!this.regionCodes){return-1}else{return this.regionCodes[this.selectedTab]}}}})}}})(); |