From e1a71a0c7955e9ac20b67402635e7fb747adc839 Mon Sep 17 00:00:00 2001
From: Hakadao
Date: Mon, 10 Apr 2023 00:55:04 +0800
Subject: [PATCH] feat: add skeleton loading animation for anime page
---
src/contentScripts/views/Anime/Anime.vue | 176 ++++++------------
.../views/Anime/components/AnimeCard.vue | 61 ++++++
.../Anime/components/AnimeCardSkeleton.vue | 16 ++
src/contentScripts/views/Anime/types.ts | 2 +
4 files changed, 139 insertions(+), 116 deletions(-)
create mode 100644 src/contentScripts/views/Anime/components/AnimeCard.vue
create mode 100644 src/contentScripts/views/Anime/components/AnimeCardSkeleton.vue
diff --git a/src/contentScripts/views/Anime/Anime.vue b/src/contentScripts/views/Anime/Anime.vue
index 52ac77ae..f7f5e132 100644
--- a/src/contentScripts/views/Anime/Anime.vue
+++ b/src/contentScripts/views/Anime/Anime.vue
@@ -1,16 +1,18 @@
@@ -121,60 +126,34 @@ function getPopularAnimeList() {
-
+
+
+
-
-
-
-
-
- {{ item.title }}
-
-
-
- {{
- item.is_finish
- ? $t('anime.total_episodes', { ep: item.total_count })
- : $t('anime.update_to_n_episodes', {
- ep: item.total_count,
- })
- }}
- {{
- item.progress !== '' ? item.progress : $t('anime.havent_seen')
- }}
-
-
+ />
@@ -194,7 +173,17 @@ function getPopularAnimeList() {
-
+
+
+
-
-
- {{ item.rank }}
-
-
-
-
-
- {{ item.title }}
-
-
-
- {{ item.rating.replace('分', '') }}
-
- {{
- $t('anime.follow', {
- num: numFormatter(item.stat.series_follow),
- })
- }}
-
-
+ :url="item.url"
+ :cover="item.cover"
+ :title="item.title"
+ :desc="$t('anime.follow', { num: numFormatter(item.stat.series_follow) })"
+ :capsule-text="item.rating ? item.rating.replace('分', '') : '-:-'"
+ :rank="item.rank"
+ />
@@ -386,11 +325,16 @@ function getPopularAnimeList() {
{{ item.sub_title }}
+
+
+
-
+
diff --git a/src/contentScripts/views/Anime/components/AnimeCard.vue b/src/contentScripts/views/Anime/components/AnimeCard.vue
new file mode 100644
index 00000000..53f75e9b
--- /dev/null
+++ b/src/contentScripts/views/Anime/components/AnimeCard.vue
@@ -0,0 +1,61 @@
+
+
+
+
+
diff --git a/src/contentScripts/views/Anime/components/AnimeCardSkeleton.vue b/src/contentScripts/views/Anime/components/AnimeCardSkeleton.vue
new file mode 100644
index 00000000..9fed1c76
--- /dev/null
+++ b/src/contentScripts/views/Anime/components/AnimeCardSkeleton.vue
@@ -0,0 +1,16 @@
+
+
+
diff --git a/src/contentScripts/views/Anime/types.ts b/src/contentScripts/views/Anime/types.ts
index 8e1c48a8..89f231a9 100644
--- a/src/contentScripts/views/Anime/types.ts
+++ b/src/contentScripts/views/Anime/types.ts
@@ -47,6 +47,7 @@ export interface AnimeItem {
danmaku: number
duration: number
view: number
+ series_follow: number
}
sub_title: string
subtitle: string
@@ -59,6 +60,7 @@ export interface AnimeItem {
is_finish: 1 | 0 // 是否已經完結
total_count: number // 當前集數
styles: string[] // 番劇風格
+ rank: number
}
// https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/bangumi/timeline.md#%E8%8E%B7%E5%8F%96%E7%95%AA%E5%89%A7%E6%88%96%E5%BD%B1%E8%A7%86%E6%97%B6%E9%97%B4%E7%BA%BF