fix(front): federated profile view

This commit is contained in:
ArneBo 2025-04-09 16:31:21 +02:00
parent 817787db06
commit 22e9e3f363
2 changed files with 10 additions and 13 deletions

View File

@ -11,7 +11,7 @@ import AlbumWidget from '~/components/album/Widget.vue'
import RadioButton from '~/components/radios/Button.vue' import RadioButton from '~/components/radios/Button.vue'
import Layout from '~/components/ui/Layout.vue' import Layout from '~/components/ui/Layout.vue'
import Spacer from '~/components/ui/Spacer.vue' import Spacer from '~/components/ui/Spacer.vue'
import Heading from '~/components/ui/Header.vue' import Header from '~/components/ui/Header.vue'
interface Props { interface Props {
object?: Actor object?: Actor
@ -31,12 +31,9 @@ const { t } = useI18n()
<Layout <Layout
stack stack
> >
<Heading <Header
align-left
page-heading
:columns-per-item="4"
:h1="t('views.auth.ProfileBase.link.overview')" :h1="t('views.auth.ProfileBase.link.overview')"
no-items page-heading
> >
<template #action> <template #action>
<radio-button <radio-button
@ -47,11 +44,11 @@ const { t } = useI18n()
:client-only="true" :client-only="true"
/> />
</template> </template>
</Heading> </Header>
<track-widget <track-widget
:url="'history/listenings/'" :url="'history/listenings/'"
:filters="{ scope: `actor:${object?.full_username}`, ordering: '-creation_date', ...qualityFilters}" :filters="{ username: object?.preferred_username, domain: object?.domain, ordering: '-creation_date', playable: true, ...qualityFilters}"
:websocket-handlers="['Listen']" :websocket-handlers="['Listen']"
:title="t('components.library.Home.header.recentlyListened')" :title="t('components.library.Home.header.recentlyListened')"
@count="recentActivity = $event" @count="recentActivity = $event"
@ -59,18 +56,18 @@ const { t } = useI18n()
<Spacer :size="64" /> <Spacer :size="64" />
<track-widget <track-widget
:url="'favorites/tracks/'" :url="'favorites/tracks/'"
:filters="{scope: `actor:${object?.full_username}`, ordering: '-creation_date'}" :filters="{ username: object?.preferred_username ?? '', domain: object?.domain ?? '', playable: true, ordering: '-creation_date'}"
:title="t('components.library.Home.header.recentlyFavorited')" :title="t('components.library.Home.header.recentlyFavorited')"
/> />
<Spacer /> <Spacer />
<playlist-widget <playlist-widget
:url="'playlists/'" :url="'playlists/'"
:filters="{scope: `actor:${object?.full_username}`, playable: true, ordering: '-modification_date'}" :filters="{ username: object?.preferred_username, domain: object?.domain, playable: true, ordering: '-modification_date'}"
:title="t('views.auth.ProfileActivity.header.playlists')" :title="t('views.auth.ProfileActivity.header.playlists')"
/> />
<Spacer /> <Spacer />
<album-widget <album-widget
:filters="{scope: `actor:${object?.full_username}`, playable: true, ordering: '-creation_date', ...qualityFilters}" :filters="{ username: object?.preferred_username, domain: object?.domain, playable: true, ordering: '-creation_date', ...qualityFilters}"
:title="t('components.library.Home.header.recentlyAdded')" :title="t('components.library.Home.header.recentlyAdded')"
/> />
</Layout> </Layout>

View File

@ -145,12 +145,12 @@ const isOpen = useModal('artist-description').isOpen
:style="defaultAvatarStyle" :style="defaultAvatarStyle"
class="ui avatar circular label" class="ui avatar circular label"
> >
{{ object?.full_username?.[0] || "" }} {{ fullUsername[0] || "" }}
</span> </span>
</template> </template>
<Layout flex> <Layout flex>
<span style="grid-column: 1 / -1"> <span style="grid-column: 1 / -1">
{{ object?.full_username }} {{ fullUsername }}
<Button <Button
icon="bi-copy" icon="bi-copy"
style="margin-left: 8px;" style="margin-left: 8px;"