diff --git a/client/components/app/BookShelfToolbar.vue b/client/components/app/BookShelfToolbar.vue index 74157b1841..898250fda2 100644 --- a/client/components/app/BookShelfToolbar.vue +++ b/client/components/app/BookShelfToolbar.vue @@ -131,7 +131,8 @@ export default { totalEntities: 0, processingSeries: false, processingIssues: false, - processingAuthors: false + processingAuthors: false, + showAllLibraryStats: false } }, computed: { @@ -235,6 +236,9 @@ export default { currentLibraryId() { return this.$store.state.libraries.currentLibraryId }, + currentLibraryName() { + return this.$store.getters['libraries/getCurrentLibraryName'] + }, libraryProvider() { return this.$store.getters['libraries/getLibraryProvider'](this.currentLibraryId) || 'google' }, diff --git a/client/components/app/ConfigSideNav.vue b/client/components/app/ConfigSideNav.vue index b42a560ea3..fe71db4994 100644 --- a/client/components/app/ConfigSideNav.vue +++ b/client/components/app/ConfigSideNav.vue @@ -114,9 +114,9 @@ export default { if (this.currentLibraryId) { configRoutes.push({ - id: 'library-stats', - title: this.$strings.HeaderLibraryStats, - path: `/library/${this.currentLibraryId}/stats` + id: 'config-server-stats', + title: this.$strings.HeaderServerStats, + path: `/config/server-stats` }) configRoutes.push({ id: 'config-stats', diff --git a/client/components/app/SideRail.vue b/client/components/app/SideRail.vue index 2c6fd5a239..7bc9cab8d9 100644 --- a/client/components/app/SideRail.vue +++ b/client/components/app/SideRail.vue @@ -79,14 +79,6 @@
-{{ $strings.ButtonStats }}
- - -{{ $strings.ButtonStats }}
+ + +{{ $formatNumber(numAudioTracks) }}
+{{ $strings.LabelEpisodes }}
+{{ $formatNumber(numAudioTracks) }}
@@ -52,18 +60,22 @@ export default { libraryStats: { type: Object, default: () => {} - } + }, + mediaType: null }, data() { return {} }, computed: { currentLibraryMediaType() { - return this.$store.getters['libraries/getCurrentLibraryMediaType'] + return this.mediaType || this.$store.getters['libraries/getCurrentLibraryMediaType'] }, isBookLibrary() { return this.currentLibraryMediaType === 'book' }, + isOverView(){ + return this.mediaType === 'overview' + }, user() { return this.$store.state.user.user }, diff --git a/client/pages/config/server-stats.vue b/client/pages/config/server-stats.vue new file mode 100644 index 0000000000..c8edcc3501 --- /dev/null +++ b/client/pages/config/server-stats.vue @@ -0,0 +1,168 @@ + + +{{ $strings.LabelName }} | +{{ $strings.LabelStatsItemsInLibrary }} | +{{ $strings.LabelStatsOverallHours }} | +{{ $strings.LabelStatsAuthors }} | +{{ $strings.LabelSize }} | +{{ $strings.LabelStatsAudioTracks }} | +
---|---|---|---|---|---|
+ + | +
+ {{ library.stats.totalItems }} + |
+
+ {{ $formatNumber(totalHours(library.stats.totalDuration)) }} + |
+
+ {{ library.stats.totalAuthors }} + |
+
+ {{ $formatNumber(totalSizeNum(library.stats.totalSize)) }} {{totalSizeMod(library.stats.totalSize)}} + |
+
+ {{ library.stats.numAudioTracks }} + |
+
{{ $strings.LabelName }} | +{{ $strings.LabelStatsItemsInLibrary }} | +{{ $strings.LabelEpisodes }} | +{{ $strings.LabelStatsOverallHours }} | +{{ $strings.LabelSize }} | +
---|---|---|---|---|
+ + | +
+ {{ library.stats.totalItems }} + |
+
+ {{ library.stats.numAudioTracks }} + |
+
+ {{ $formatNumber(totalHours(library.stats.totalDuration)) }} + |
+
+ {{ $formatNumber(totalSizeNum(library.stats.totalSize)) }} {{totalSizeMod(library.stats.totalSize)}} + |
+