diff --git a/src/api/types.ts b/src/api/types.ts
index 41d70894..45682289 100644
--- a/src/api/types.ts
+++ b/src/api/types.ts
@@ -1386,6 +1386,8 @@ export interface MediaStatistic {
tv_count_month: number
// 本月新增剧集数量
episode_count_month: number
+ // 本月新增音乐数量
+ music_count_month: number
}
// 后台进程
diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts
index a60afc77..2ef049b4 100644
--- a/src/locales/en-US.ts
+++ b/src/locales/en-US.ts
@@ -1161,7 +1161,6 @@ export default {
episodes: 'Episodes',
users: 'Users',
activeUsers: 'Active users',
- musicLibrary: 'Music library',
noSchedulers: 'No Background Services',
transferQueue: 'Transfer Queue',
transferProgress: '{completed} / {total} files',
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
index 74c138f9..13b98de4 100644
--- a/src/locales/zh-CN.ts
+++ b/src/locales/zh-CN.ts
@@ -1152,7 +1152,6 @@ export default {
episodes: '剧集',
users: '用户',
activeUsers: '活跃用户',
- musicLibrary: '音乐媒体库',
noSchedulers: '没有后台服务',
transferQueue: '整理队列',
transferProgress: '{completed} / {total} 个文件',
diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts
index 89e1eda6..0b5fb135 100644
--- a/src/locales/zh-TW.ts
+++ b/src/locales/zh-TW.ts
@@ -1152,7 +1152,6 @@ export default {
episodes: '劇集',
users: '用戶',
activeUsers: '活躍用戶',
- musicLibrary: '音樂媒體庫',
noSchedulers: '沒有後台服務',
transferQueue: '整理隊列',
transferProgress: '{completed} / {total} 個文件',
diff --git a/src/views/dashboard/AnalyticsMediaStatistic.vue b/src/views/dashboard/AnalyticsMediaStatistic.vue
index 020233ef..c64a3890 100644
--- a/src/views/dashboard/AnalyticsMediaStatistic.vue
+++ b/src/views/dashboard/AnalyticsMediaStatistic.vue
@@ -20,6 +20,7 @@ const musicCount = ref(Number(currentSnapshot?.value.music_count) || 0)
const movieCountMonth = ref(Number(currentSnapshot?.value.movie_count_month) || 0)
const tvCountMonth = ref(Number(currentSnapshot?.value.tv_count_month) || 0)
const episodeCountMonth = ref(Number(currentSnapshot?.value.episode_count_month) || 0)
+const musicCountMonth = ref(Number(currentSnapshot?.value.music_count_month) || 0)
let statisticLoadId = 0
const animatedMovieCount = useAnimatedDashboardNumber(movieCount, {
@@ -71,7 +72,7 @@ const statistics = computed(() => [
stats: formatDashboardCount(animatedMusicCount.value),
icon: 'mdi-music-box-multiple',
color: 'info',
- addition: null,
+ addition: musicCountMonth.value,
},
])
@@ -90,6 +91,7 @@ async function loadMediaStatistic() {
movie_count_month: Number(res.movie_count_month) || 0,
tv_count_month: Number(res.tv_count_month) || 0,
episode_count_month: Number(res.episode_count_month) || 0,
+ music_count_month: Number(res.music_count_month) || 0,
}
movieCount.value = statistic.movie_count
@@ -99,6 +101,7 @@ async function loadMediaStatistic() {
movieCountMonth.value = statistic.movie_count_month
tvCountMonth.value = statistic.tv_count_month
episodeCountMonth.value = statistic.episode_count_month
+ musicCountMonth.value = statistic.music_count_month
writeSnapshot(statistic)
} catch (e) {
console.log(e)
@@ -132,7 +135,6 @@ onActivated(() => {
{{ t('dashboard.monthlyAddition', { count: item.addition }) }}
- {{ t('dashboard.musicLibrary') }}
diff --git a/src/views/dashboard/__tests__/AnalyticsMediaStatistic.spec.ts b/src/views/dashboard/__tests__/AnalyticsMediaStatistic.spec.ts
index 5fdbfe84..f131964b 100644
--- a/src/views/dashboard/__tests__/AnalyticsMediaStatistic.spec.ts
+++ b/src/views/dashboard/__tests__/AnalyticsMediaStatistic.spec.ts
@@ -39,6 +39,7 @@ describe('AnalyticsMediaStatistic', () => {
movie_count_month: 1,
tv_count_month: 2,
episode_count_month: 3,
+ music_count_month: 7,
},
}),
)
@@ -51,6 +52,7 @@ describe('AnalyticsMediaStatistic', () => {
expect(screen.getByText('34')).toBeInTheDocument()
expect(screen.getByText('56')).toBeInTheDocument()
expect(screen.getByText('7')).toBeInTheDocument()
+ expect(screen.getByText('+7 本月新增')).toBeInTheDocument()
expect(apiGet).toHaveBeenCalledWith('dashboard/statistic')
request.resolve({
@@ -61,14 +63,17 @@ describe('AnalyticsMediaStatistic', () => {
movie_count_month: 4,
tv_count_month: 5,
episode_count_month: 6,
+ music_count_month: 9,
})
await waitFor(() => expect(screen.getByText('21')).toBeInTheDocument())
+ expect(screen.getByText('+9 本月新增')).toBeInTheDocument()
expect(JSON.parse(localStorage.getItem(snapshotKey) ?? '{}').value).toMatchObject({
movie_count: 21,
tv_count: 43,
episode_count: 65,
music_count: 8,
+ music_count_month: 9,
})
})
@@ -85,6 +90,7 @@ describe('AnalyticsMediaStatistic', () => {
movie_count_month: 1,
tv_count_month: 2,
episode_count_month: 3,
+ music_count_month: 7,
},
}),
)