Add sub regions

This commit is contained in:
the1812 2019-04-07 14:22:23 +08:00
parent 6293acfd51
commit cc1a8da1b3
6 changed files with 109 additions and 30 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
@font-face{font-family:custom-navbar-font;src:url(//s1.hdslb.com/bfs/seed/jinkela/header/asserts/iconfont.ttf) format('truetype')}.custom-navbar-iconfont{color:inherit;font-family:custom-navbar-font!important;font-size:24px;font-style:normal}.custom-navbar-icon-logo::before{content:"\\E725"}.custom-navbar{--navbar-height:50px;position:absolute;top:0;left:0;height:var(--navbar-height);width:100vw;background:#fff;color:#000;z-index:10001}.custom-navbar.shadow{box-shadow:#0004 0 2px 10px 1px}.custom-navbar .popup,.custom-navbar.dark:not(.fill){color:#eee;background:#222}.custom-navbar,.custom-navbar *{transition:.2s ease-out}.custom-navbar.fill{background-color:var(--theme-color);color:#fffd}.custom-navbar.fill.shadow{box-shadow:var(--theme-color-30) 0 2px 10px 1px}.custom-navbar>ul{display:flex;align-items:center;justify-content:space-between;margin:0 5%;height:100%}.custom-navbar>ul>li{position:relative;height:100%;display:flex;align-items:center}.custom-navbar>ul>li:not(.disabled){cursor:pointer}.custom-navbar>ul>li:not(.disabled):hover{background:rgba(0,0,0,.1)}.custom-navbar .main-content{font-size:10pt;height:100%;display:flex;align-items:center;padding:0 16px}.custom-navbar .popup{position:absolute;top:100%;left:50%;transform:translateX(-50%) scale(0);padding:16px;box-shadow:#0002 0 4px 8px 8px;pointer-events:none;opacity:0;transform-origin:top;transition:.15s cubic-bezier(.18,.89,.38,1.15)}.custom-navbar>ul>li:not(.disabled):hover .popup{transform:translateX(-50%) scale(1);pointer-events:initial;opacity:1}.custom-navbar a{color:inherit}#custom-navbar-home-popup{max-height:50vh;display:flex;flex-direction:column;flex-wrap:wrap;width:300px}#custom-navbar-home-popup .category-item{font-size:12pt;padding:8px 16px;cursor:pointer}#custom-navbar-home-popup .category-item:hover{background-color:#0001}#custom-navbar-home-popup .category-item a{display:flex;justify-content:space-between}#custom-navbar-home-popup .category-item span{opacity:.5}
@font-face{font-family:custom-navbar-font;src:url(//s1.hdslb.com/bfs/seed/jinkela/header/asserts/iconfont.ttf) format('truetype')}.custom-navbar-iconfont{color:inherit;font-family:custom-navbar-font!important;font-size:24px;font-style:normal}.custom-navbar-icon-logo::before{content:"\\E725"}.custom-navbar{--navbar-height:50px;position:absolute;top:0;left:0;height:var(--navbar-height);width:100vw;background:#fff;color:#000;z-index:10001}.custom-navbar.shadow{box-shadow:#0004 0 2px 10px 1px}.custom-navbar .popup,.custom-navbar.dark:not(.fill){color:#eee;background:#222}.custom-navbar,.custom-navbar *{transition:.2s ease-out}.custom-navbar.fill{background-color:var(--theme-color);color:#fffd}.custom-navbar.fill.shadow{box-shadow:var(--theme-color-30) 0 2px 10px 1px}.custom-navbar>ul{display:flex;align-items:center;justify-content:space-between;margin:0 5%;height:100%}.custom-navbar>ul>li{position:relative;height:100%;display:flex;align-items:center}.custom-navbar>ul>li:not(.disabled){cursor:pointer}.custom-navbar>ul>li:not(.disabled):hover{background:rgba(0,0,0,.1)}#custom-navbar-home-popup .category-item .popup a:hover{border-bottom:2px solid var(--theme-color)}.custom-navbar .main-content{font-size:10pt;height:100%;display:flex;align-items:center;padding:0 16px}.custom-navbar .popup{position:absolute;top:100%;left:50%;transform:translateX(-50%) scale(0);padding:16px;box-shadow:#0002 0 4px 8px 8px;pointer-events:none;opacity:0;transform-origin:top;transition:.15s cubic-bezier(.18,.89,.38,1.15)}#custom-navbar-home-popup .category-item:hover .popup,.custom-navbar>ul>li:not(.disabled):hover>.popup{transform:translateX(-50%) scale(1);pointer-events:initial;opacity:1}.custom-navbar a{color:inherit}#custom-navbar-home-popup{max-height:50vh;display:flex;flex-direction:column;flex-wrap:wrap;width:300px}#custom-navbar-home-popup .category-item{font-size:12pt;padding:8px 16px;cursor:pointer;position:relative}#custom-navbar-home-popup .category-item:hover{background-color:#0001}#custom-navbar-home-popup .category-item a{display:flex;justify-content:space-between}#custom-navbar-home-popup .category-item .popup{z-index:10002;width:max-content}#custom-navbar-home-popup .category-item .popup a{padding:8px 16px;display:flex;justify-content:center;border-bottom:2px solid transparent}#custom-navbar-home-popup .category-item span{opacity:.5}

File diff suppressed because one or more lines are too long

View File

@ -74,6 +74,10 @@
{
background: rgba(0,0,0,0.1);
}
#custom-navbar-home-popup .category-item .popup a:hover
{
border-bottom: 2px solid var(--theme-color);
}
.custom-navbar .main-content
{
font-size: 10pt;
@ -95,7 +99,8 @@
transform-origin: top;
transition: all 0.15s cubic-bezier(0.18, 0.89, 0.38, 1.15);
}
.custom-navbar>ul>li:not(.disabled):hover .popup
.custom-navbar>ul>li:not(.disabled):hover>.popup,
#custom-navbar-home-popup .category-item:hover .popup
{
transform: translateX(-50%) scale(1);
pointer-events: initial;
@ -119,6 +124,7 @@
font-size: 12pt;
padding: 8px 16px;
cursor: pointer;
position: relative;
}
#custom-navbar-home-popup .category-item:hover
{
@ -129,6 +135,19 @@
display: flex;
justify-content: space-between;
}
#custom-navbar-home-popup .category-item .popup
{
z-index: 10002;
width: max-content;
}
#custom-navbar-home-popup .category-item .popup a
{
padding: 8px 16px;
display: flex;
justify-content: center;
border-bottom: 2px solid transparent;
}
#custom-navbar-home-popup .category-item span
{
opacity: 0.5;

View File

@ -60,6 +60,11 @@ class Category extends NavbarComponent
<a v-bind:href="item[1].link">
{{item[0]}}<span>{{item[1].count}}</span>
</a>
<div class="popup" v-if="item[1].subRegions">
<a v-for="region of Object.entries(item[1].subRegions)" v-bind:href="region[1]">
{{region[0]}}
</a>
</div>
</li>
</ul>
`;
@ -83,27 +88,82 @@ class Category extends NavbarComponent
const regionCount = json.data.region_count;
await SpinQuery.select("#custom-navbar-home-popup");
return {
动画: { count: regionCount[1], link: `https://www.bilibili.com/v/douga/` },
番剧: { count: regionCount[13], link: `https://www.bilibili.com/anime/` },
国创: { count: regionCount[167], link: `https://www.bilibili.com/guochuang/` },
音乐: { count: regionCount[3], link: `https://www.bilibili.com/v/music/` },
舞蹈: { count: regionCount[129], link: `https://www.bilibili.com/v/dance/` },
游戏: { count: regionCount[4], link: `https://www.bilibili.com/v/game/` },
科技: { count: regionCount[36], link: `https://www.bilibili.com/v/technology/` },
数码: { count: regionCount[188], link: `https://www.bilibili.com/v/digital/` },
生活: { count: regionCount[160], link: `https://www.bilibili.com/v/life/` },
鬼畜: { count: regionCount[119], link: `https://www.bilibili.com/v/kichiku/` },
时尚: { count: regionCount[155], link: `https://www.bilibili.com/v/fashion/` },
广告: { count: regionCount[165], link: `https://www.bilibili.com/v/ad/ad/` },
娱乐: { count: regionCount[5], link: `https://www.bilibili.com/v/ent/` },
影视: { count: regionCount[181], link: `https://www.bilibili.com/v/cinephile/` },
放映厅: { count: regionCount[177] + regionCount[23], link: `https://www.bilibili.com/cinema/` },
// TODO: regionCount[11]?
专栏: { count: ``, link: `https://www.bilibili.com/read/home` },
直播: { count: ``, link: `https://live.bilibili.com` },
小黑屋: { count: ``, link: `https://www.bilibili.com/blackroom/` },
话题: { count: ``, link: `https://www.bilibili.com/blackboard/topic_list.html` },
活动: { count: ``, link: `https://www.bilibili.com/blackboard/x/act_list` },
动画: {
count: regionCount[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/`,
},
},
番剧: {
count: regionCount[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/`,
},
},
国创: {
count: regionCount[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/`,
},
},
音乐: {
count: regionCount[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",
},
},
舞蹈: {
count: regionCount[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/" },
},
游戏: {
count: regionCount[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/" },
},
科技: {
count: regionCount[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/" },
},
数码: { count: regionCount[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/" }, },
生活: {
count: regionCount[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/" },
},
鬼畜: {
count: regionCount[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/" },
},
时尚: { count: regionCount[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/" }, },
广告: { count: regionCount[165], link: `https://www.bilibili.com/v/ad/ad/`, },
娱乐: {
count: regionCount[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/" },
},
影视: {
count: regionCount[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/" },
},
放映厅: { count: regionCount[177] + regionCount[23] + regionCount[11], link: `https://www.bilibili.com/cinema/`, subRegions: { "纪录片": "https://www.bilibili.com/documentary/", "电影": "https://www.bilibili.com/movie/", "电视剧": "https://www.bilibili.com/tv/" }, },
专栏: { count: ``, link: `https://www.bilibili.com/read/home`, },
直播: {
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" },
},
小黑屋: { count: ``, link: `https://www.bilibili.com/blackroom/`, },
话题: { count: ``, link: `https://www.bilibili.com/blackboard/topic_list.html`, },
活动: { count: ``, link: `https://www.bilibili.com/blackboard/x/act_list`, },
};
}
}