From 4022f6a6202ddcc115fe694ae47d06f4910f3ef2 Mon Sep 17 00:00:00 2001 From: ArneBo Date: Sun, 19 Jan 2025 14:09:38 +0100 Subject: [PATCH] feat(front): Userprofile listening activity --- front/src/components/audio/track/Widget.vue | 190 +++++++++++++++----- front/src/views/auth/ProfileBase.vue | 189 +++++++------------ 2 files changed, 206 insertions(+), 173 deletions(-) diff --git a/front/src/components/audio/track/Widget.vue b/front/src/components/audio/track/Widget.vue index 842bcdc28..05d1864aa 100644 --- a/front/src/components/audio/track/Widget.vue +++ b/front/src/components/audio/track/Widget.vue @@ -12,6 +12,8 @@ import useWebSocketHandler from '~/composables/useWebSocketHandler' import Button from '~/components/ui/Button.vue' import PlayButton from '~/components/audio/PlayButton.vue' import TagsList from '~/components/tags/List.vue' +import Alert from '~/components/ui/Alert.vue' +import Spacer from '~/components/ui/Spacer.vue' import useErrorHandler from '~/composables/useErrorHandler' @@ -101,16 +103,23 @@ watch(() => props.websocketHandlers.includes('Listen'), (to) => { class="ui tiny circular label" >{{ count }} + + + {{ t('components.audio.track.Widget.empty.noResults') }} + +
-
-
+
props.websocketHandlers.includes('Listen'), (to) => { -
-
-
-
-
- - {{ object.track.title }} - -
+
+
+ + {{ object.track.title }} + +
props.websocketHandlers.includes('Listen'), (to) => { class="extra" > {{ object.actor.name }} @@ -184,47 +193,130 @@ watch(() => props.websocketHandlers.includes('Listen'), (to) => {
-
- -
+
-
-
-
-
-
-
- - {{ t('components.audio.track.Widget.empty.noResults') }} -
-
-
-
-
+ -
+ + + diff --git a/front/src/views/auth/ProfileBase.vue b/front/src/views/auth/ProfileBase.vue index 23e52e111..222a48954 100644 --- a/front/src/views/auth/ProfileBase.vue +++ b/front/src/views/auth/ProfileBase.vue @@ -20,6 +20,11 @@ import Spacer from '~/components/ui/Spacer.vue' import Link from '~/components/ui/Link.vue' import Tabs from '~/components/ui/Tabs.vue' import Tab from '~/components/ui/Tab.vue' +import LibraryWidget from '~/components/federation/LibraryWidget.vue' +import ChannelsWidget from '~/components/audio/ChannelsWidget.vue' +import PlaylistWidget from '~/components/playlists/Widget.vue' +import AlbumWidget from '~/components/album/Widget.vue' +import TrackWidget from '~/components/audio/track/Widget.vue' interface Events { (e: 'updated', value: Actor): void @@ -101,114 +106,6 @@ watch(props, fetchData, { immediate: true }) > {{ store.state.auth.profile?.full_username?.[0] || "" }} -
- - {{ t('views.auth.ProfileBase.link.overview') }} - + +

{{ t('views.auth.ProfileBase.link.overview') }}

- - {{ t('views.auth.ProfileBase.link.collections') }} + +

+ {{ t('views.auth.ProfileOverview.header.libraries') }} +
+
+

+ + +
- - {{ t('views.auth.ProfileBase.link.channels') }} + +

+ {{ t('views.auth.ProfileOverview.header.channels') }} + +

+
- - {{ t('views.auth.ProfileBase.link.activity') }} - + + + + + + + + + + + + + +