diff --git a/client/pages/config/users/_id.vue b/client/pages/config/users/_id.vue index fa69fea6..cbee2571 100644 --- a/client/pages/config/users/_id.vue +++ b/client/pages/config/users/_id.vue @@ -19,9 +19,9 @@ >content_copy

-
-
-

Listening Stats (experimental)

+
+
+

Listening Stats

Total Time Listened:  {{ listeningTimePretty }} @@ -55,7 +55,9 @@

{{ item.media && item.media.metadata ? item.media.metadata.title : 'Unknown' }}

by {{ item.media.metadata.authorName }}

- {{ Math.floor(item.progress * 100) }}% + +

{{ Math.floor(item.progress * 100) }}%

+

{{ $dateDistanceFromNow(item.startedAt) }}

diff --git a/server/routers/ApiRouter.js b/server/routers/ApiRouter.js index 17d1ad1e..d40c5416 100644 --- a/server/routers/ApiRouter.js +++ b/server/routers/ApiRouter.js @@ -305,30 +305,35 @@ class ApiRouter { recentSessions: listeningSessions.slice(0, 10) } listeningSessions.forEach((s) => { + var sessionTimeListening = s.timeListening + if (typeof sessionTimeListening == 'string') { + sessionTimeListening = Number(sessionTimeListening) + } + if (s.dayOfWeek) { if (!listeningStats.dayOfWeek[s.dayOfWeek]) listeningStats.dayOfWeek[s.dayOfWeek] = 0 - listeningStats.dayOfWeek[s.dayOfWeek] += s.timeListening + listeningStats.dayOfWeek[s.dayOfWeek] += sessionTimeListening } - if (s.date && s.timeListening > 0) { + if (s.date && sessionTimeListening > 0) { if (!listeningStats.days[s.date]) listeningStats.days[s.date] = 0 - listeningStats.days[s.date] += s.timeListening + listeningStats.days[s.date] += sessionTimeListening if (s.date === today) { - listeningStats.today += s.timeListening + listeningStats.today += sessionTimeListening } } if (!listeningStats.items[s.libraryItemId]) { listeningStats.items[s.libraryItemId] = { id: s.libraryItemId, - timeListening: s.timeListening, + timeListening: sessionTimeListening, mediaMetadata: s.mediaMetadata, lastUpdate: s.lastUpdate } } else { - listeningStats.items[s.libraryItemId].timeListening += s.timeListening + listeningStats.items[s.libraryItemId].timeListening += sessionTimeListening } - listeningStats.totalTime += s.timeListening + listeningStats.totalTime += sessionTimeListening }) return listeningStats }