From 76c524eb9b8b0bd51c317118b8c57fad49f0951a Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Sat, 25 Jul 2026 12:57:28 +0800 Subject: [PATCH] fix(dashboard): show media empty and retry states (#589) --- src/components/misc/DashboardMediaState.vue | 78 ++++++++++++++ src/components/misc/DashboardRetryButton.vue | 58 ++++++++++ src/locales/en-US.ts | 5 + src/locales/zh-CN.ts | 5 + src/locales/zh-TW.ts | 5 + src/views/dashboard/MediaRecommend.vue | 95 +++++++++++------ src/views/dashboard/MediaServerLatest.vue | 44 +++++++- src/views/dashboard/MediaServerLibrary.vue | 47 +++++++- src/views/dashboard/MediaServerPlaying.vue | 44 +++++++- .../__tests__/MediaRecommend.spec.ts | 20 +++- .../__tests__/MediaServerCards.spec.ts | 100 +++++++++++++++++- 11 files changed, 461 insertions(+), 40 deletions(-) create mode 100644 src/components/misc/DashboardMediaState.vue create mode 100644 src/components/misc/DashboardRetryButton.vue diff --git a/src/components/misc/DashboardMediaState.vue b/src/components/misc/DashboardMediaState.vue new file mode 100644 index 00000000..c06a225f --- /dev/null +++ b/src/components/misc/DashboardMediaState.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/components/misc/DashboardRetryButton.vue b/src/components/misc/DashboardRetryButton.vue new file mode 100644 index 00000000..b0a1d879 --- /dev/null +++ b/src/components/misc/DashboardRetryButton.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index ffafd510..93374401 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -1017,6 +1017,11 @@ export default { library: 'My Media Library', playing: 'Continue Watching', latest: 'Latest Imports', + noLatest: 'No recent imports', + noPlaying: 'No continue-watching items', + noLibrary: 'No media library data', + mediaServerLoadFailed: 'Failed to load media server data', + staleData: 'Refresh failed. Showing the last successful data.', recentImports: 'Recent Transfers', viewAll: 'View All', settings: 'Dashboard Settings', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index bafd6e6c..039157f8 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -1009,6 +1009,11 @@ export default { library: '我的媒体库', playing: '继续观看', latest: '最新入库', + noLatest: '暂无最近入库记录', + noPlaying: '暂无继续观看记录', + noLibrary: '暂无媒体库数据', + mediaServerLoadFailed: '媒体服务器数据加载失败', + staleData: '刷新失败,当前显示上次数据', recentImports: '近期整理', viewAll: '查看全部', settings: '设置仪表板', diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts index b0a4b88f..1e6518cb 100644 --- a/src/locales/zh-TW.ts +++ b/src/locales/zh-TW.ts @@ -1009,6 +1009,11 @@ export default { library: '我的媒體庫', playing: '繼續觀看', latest: '最新入庫', + noLatest: '暫無最近入庫記錄', + noPlaying: '暫無繼續觀看記錄', + noLibrary: '暫無媒體庫數據', + mediaServerLoadFailed: '媒體伺服器數據加載失敗', + staleData: '刷新失敗,當前顯示上次數據', recentImports: '近期整理', viewAll: '查看全部', settings: '設置儀表板', diff --git a/src/views/dashboard/MediaRecommend.vue b/src/views/dashboard/MediaRecommend.vue index d1bfb594..c1f7a805 100644 --- a/src/views/dashboard/MediaRecommend.vue +++ b/src/views/dashboard/MediaRecommend.vue @@ -1,6 +1,7 @@