From 014588180e136d7a344ec4c61cd072953abc9043 Mon Sep 17 00:00:00 2001 From: benonymity Date: Wed, 3 Aug 2022 22:17:11 -0400 Subject: [PATCH 1/3] feat: add stats page to mobile --- components/app/SideDrawer.vue | 7 +- components/stats/DailyListeningChart.vue | 221 +++++++++++++++++++++++ pages/stats.vue | 139 ++++++++++++++ plugins/init.client.js | 19 +- 4 files changed, 382 insertions(+), 4 deletions(-) create mode 100644 components/stats/DailyListeningChart.vue create mode 100644 pages/stats.vue diff --git a/components/app/SideDrawer.vue b/components/app/SideDrawer.vue index 8506812f..81d8ca13 100644 --- a/components/app/SideDrawer.vue +++ b/components/app/SideDrawer.vue @@ -100,6 +100,11 @@ export default { to: '/account' }) } + items.push({ + icon: 'equalizer', + text: 'User Stats', + to: '/stats' + }) if (this.$platform !== 'ios') { items.push({ @@ -162,4 +167,4 @@ export default { this.show = false } } - \ No newline at end of file + diff --git a/components/stats/DailyListeningChart.vue b/components/stats/DailyListeningChart.vue new file mode 100644 index 00000000..db69783e --- /dev/null +++ b/components/stats/DailyListeningChart.vue @@ -0,0 +1,221 @@ + + + diff --git a/pages/stats.vue b/pages/stats.vue new file mode 100644 index 00000000..01206f63 --- /dev/null +++ b/pages/stats.vue @@ -0,0 +1,139 @@ + + + diff --git a/plugins/init.client.js b/plugins/init.client.js index c540d14f..b50e5474 100644 --- a/plugins/init.client.js +++ b/plugins/init.client.js @@ -2,7 +2,7 @@ import Vue from 'vue' import { App } from '@capacitor/app' import { Dialog } from '@capacitor/dialog' import { StatusBar, Style } from '@capacitor/status-bar'; -import { formatDistance, format } from 'date-fns' +import { formatDistance, format, addDays, isDate } from 'date-fns' import { Capacitor } from '@capacitor/core'; Vue.prototype.$eventBus = new Vue() @@ -24,7 +24,20 @@ Vue.prototype.$formatDate = (unixms, fnsFormat = 'MM/dd/yyyy HH:mm') => { if (!unixms) return '' return format(unixms, fnsFormat) } - +Vue.prototype.$formatJsDate = (jsdate, fnsFormat = 'MM/dd/yyyy HH:mm') => { + if (!jsdate || !isDate(jsdate)) return '' + return format(jsdate, fnsFormat) +} +Vue.prototype.$addDaysToToday = (daysToAdd) => { + var date = addDays(new Date(), daysToAdd) + if (!date || !isDate(date)) return null + return date +} +Vue.prototype.$addDaysToDate = (jsdate, daysToAdd) => { + var date = addDays(jsdate, daysToAdd) + if (!date || !isDate(date)) return null + return date +} Vue.prototype.$bytesPretty = (bytes, decimals = 2) => { if (isNaN(bytes) || bytes === null) return 'Invalid Bytes' if (bytes === 0) { @@ -162,4 +175,4 @@ export default ({ store, app }) => { export { encode, decode -} \ No newline at end of file +} From 87e277fad1fa46610f74882125fc81b69a2a11d1 Mon Sep 17 00:00:00 2001 From: benonymity Date: Wed, 3 Aug 2022 22:20:20 -0400 Subject: [PATCH 2/3] fix: lint comments --- pages/stats.vue | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/pages/stats.vue b/pages/stats.vue index 01206f63..9780947e 100644 --- a/pages/stats.vue +++ b/pages/stats.vue @@ -5,13 +5,7 @@
- - - - - - -
+

{{ userItemsFinished.length }}

Items Finished

@@ -26,10 +20,7 @@
- - - -
+

{{ totalDaysListened }}

Days Listened

@@ -37,10 +28,7 @@
- - - -
+

{{ totalMinutesListening }}

Minutes Listening

watch_later @@ -53,7 +41,6 @@

Recent Sessions

-

No Listening Sessions