fix(front): tags display
This commit is contained in:
parent
aee2eaa0ec
commit
ad14b2ec98
|
@ -78,7 +78,7 @@ watch(
|
||||||
<Section
|
<Section
|
||||||
align-left
|
align-left
|
||||||
:h2="title"
|
:h2="title"
|
||||||
:columns-per-item="3"
|
:columns-per-item="1"
|
||||||
>
|
>
|
||||||
<inline-search-bar
|
<inline-search-bar
|
||||||
v-if="search"
|
v-if="search"
|
||||||
|
|
|
@ -79,6 +79,7 @@ watch(
|
||||||
<template>
|
<template>
|
||||||
<Section
|
<Section
|
||||||
align-left
|
align-left
|
||||||
|
columns-per-item=1
|
||||||
:h2="title"
|
:h2="title"
|
||||||
>
|
>
|
||||||
<Loader
|
<Loader
|
||||||
|
|
|
@ -73,7 +73,7 @@ watch([() => props.filters, page],
|
||||||
<template>
|
<template>
|
||||||
<Section
|
<Section
|
||||||
align-left
|
align-left
|
||||||
:columns-per-item="3"
|
:columns-per-item="1"
|
||||||
:h2="title || undefined"
|
:h2="title || undefined"
|
||||||
>
|
>
|
||||||
<Loader
|
<Loader
|
||||||
|
|
|
@ -186,6 +186,7 @@ watch(() => props.websocketHandlers.includes('Listen'), (to) => {
|
||||||
<span v-if="ac.joinphrase">{{ ac.joinphrase }}</span>
|
<span v-if="ac.joinphrase">{{ ac.joinphrase }}</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
<Spacer :size="8" />
|
||||||
<TagsList
|
<TagsList
|
||||||
label-classes="tiny"
|
label-classes="tiny"
|
||||||
:truncate-size="20"
|
:truncate-size="20"
|
||||||
|
|
|
@ -27,11 +27,6 @@ const labels = computed(() => ({
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Layout
|
|
||||||
v-title="labels.title"
|
|
||||||
main
|
|
||||||
stack
|
|
||||||
>
|
|
||||||
<h1 class="ui header">
|
<h1 class="ui header">
|
||||||
<span class="funkwhale solid raised secondary pill">
|
<span class="funkwhale solid raised secondary pill">
|
||||||
<span class="pill-content">
|
<span class="pill-content">
|
||||||
|
@ -57,64 +52,71 @@ const labels = computed(() => ({
|
||||||
</Button>
|
</Button>
|
||||||
</Layout>
|
</Layout>
|
||||||
|
|
||||||
<div class="ui hidden divider" />
|
<Spacer :size=64 />
|
||||||
<div class="ui row">
|
<artist-widget
|
||||||
<artist-widget
|
:key="'artist' + id"
|
||||||
:key="'artist' + id"
|
:controls="false"
|
||||||
:controls="false"
|
:title="t('components.library.TagDetail.header.artists')"
|
||||||
:filters="{playable: true, ordering: '-creation_date', tag: id, include_channels: 'false'}"
|
:action="{
|
||||||
>
|
text: t('components.library.TagDetail.link.artists'),
|
||||||
<template #title>
|
to: {name: 'library.artists.browse', query: {tag: id}},
|
||||||
<router-link :to="{name: 'library.artists.browse', query: {tag: id}}">
|
secondary: true,
|
||||||
{{ t('components.library.TagDetail.link.artists') }}
|
solid: true
|
||||||
</router-link>
|
}"
|
||||||
</template>
|
:filters="{playable: true, ordering: '-creation_date', tag: id, include_channels: 'false'}"
|
||||||
</artist-widget>
|
>
|
||||||
<Spacer />
|
</artist-widget>
|
||||||
<h3 class="ui header">
|
<Spacer :size=64 />
|
||||||
{{ t('components.library.TagDetail.header.channels') }}
|
<channels-widget
|
||||||
</h3>
|
:key="'channels' + id"
|
||||||
<channels-widget
|
:show-modification-date="true"
|
||||||
:key="'channels' + id"
|
:limit="12"
|
||||||
:show-modification-date="true"
|
:title="t('components.library.TagDetail.header.channels')"
|
||||||
:limit="12"
|
:action="{
|
||||||
:filters="{tag: id, ordering: '-creation_date'}"
|
text: t('components.library.TagDetail.link.channels'),
|
||||||
/>
|
to: {name: 'library.channels.browse', query: {tag: id}},
|
||||||
<Spacer />
|
secondary: true,
|
||||||
<album-widget
|
solid: true
|
||||||
:key="'album' + id"
|
}"
|
||||||
:show-count="true"
|
:filters="{tag: id, ordering: '-creation_date'}"
|
||||||
:controls="false"
|
/>
|
||||||
:filters="{playable: true, ordering: '-creation_date', tag: id}"
|
<Spacer :size=64 />
|
||||||
>
|
<album-widget
|
||||||
<template #title>
|
:key="'album' + id"
|
||||||
<router-link :to="{name: 'library.albums.browse', query: {tag: id}}">
|
:show-count="true"
|
||||||
{{ t('components.library.TagDetail.link.albums') }}
|
:controls="false"
|
||||||
</router-link>
|
:filters="{playable: true, ordering: '-creation_date', tag: id}"
|
||||||
</template>
|
:title="t('components.library.TagDetail.header.albums')"
|
||||||
</album-widget>
|
:action="{
|
||||||
<Spacer />
|
text: t('components.library.TagDetail.link.albums'),
|
||||||
<track-widget
|
to: {name: 'library.albums.browse', query: {tag: id}},
|
||||||
:key="'track' + id"
|
secondary: true,
|
||||||
:show-count="true"
|
solid: true
|
||||||
:limit="12"
|
}"
|
||||||
item-classes="track-item inline"
|
/>
|
||||||
:url="'/tracks/'"
|
<Spacer :size=64 />
|
||||||
:is-activity="false"
|
<track-widget
|
||||||
:filters="{playable: true, ordering: '-creation_date', tag: id}"
|
:key="'track' + id"
|
||||||
>
|
:show-count="true"
|
||||||
<template #title>
|
:limit="12"
|
||||||
{{ t('components.library.TagDetail.header.tracks') }}
|
item-classes="track-item inline"
|
||||||
</template>
|
:url="'/tracks/'"
|
||||||
</track-widget>
|
:is-activity="false"
|
||||||
</div>
|
:filters="{playable: true, ordering: '-creation_date', tag: id}"
|
||||||
</Layout>
|
:title="t('components.library.TagDetail.header.tracks')"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
h1 > .pill > .pill-content {
|
h1 > .pill {
|
||||||
font-size: 48px;
|
border-radius: 100vh;
|
||||||
line-height: 48px;
|
display: inline-block;
|
||||||
padding: 20px 30px;
|
padding: 10px;
|
||||||
|
|
||||||
|
> .pill-content {
|
||||||
|
font-size: 48px;
|
||||||
|
line-height: 48px;
|
||||||
|
padding: 20px 30px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -354,7 +354,7 @@ watch(showDeleteModal, (newValue) => {
|
||||||
{{ momentFormat(new Date(track.creation_date), 'LL') }}
|
{{ momentFormat(new Date(track.creation_date), 'LL') }}
|
||||||
</time>
|
</time>
|
||||||
</Layout>
|
</Layout>
|
||||||
<Spacer :size="32" />
|
<Spacer :size=16 />
|
||||||
|
|
||||||
<Modal
|
<Modal
|
||||||
v-if="isEmbedable"
|
v-if="isEmbedable"
|
||||||
|
|
|
@ -148,6 +148,7 @@ const trackDetails: {
|
||||||
flex
|
flex
|
||||||
style="gap: 24px;"
|
style="gap: 24px;"
|
||||||
>
|
>
|
||||||
|
<Spacer />
|
||||||
<Layout
|
<Layout
|
||||||
stack
|
stack
|
||||||
style="flex: 1; gap: 0;"
|
style="flex: 1; gap: 0;"
|
||||||
|
|
|
@ -38,7 +38,7 @@ const tags = computed(() => {
|
||||||
<template>
|
<template>
|
||||||
<Layout
|
<Layout
|
||||||
flex
|
flex
|
||||||
gap-8
|
gap-16
|
||||||
class="component-tags-list"
|
class="component-tags-list"
|
||||||
>
|
>
|
||||||
<router-link
|
<router-link
|
||||||
|
@ -46,6 +46,7 @@ const tags = computed(() => {
|
||||||
:key="tag"
|
:key="tag"
|
||||||
:to="{name: props.detailRoute, params: { id: tag } }"
|
:to="{name: props.detailRoute, params: { id: tag } }"
|
||||||
:class="props.labelClasses"
|
:class="props.labelClasses"
|
||||||
|
style="text-decoration: none;"
|
||||||
>
|
>
|
||||||
<Pill raised>
|
<Pill raised>
|
||||||
{{ `#${truncate(tag, props.truncateSize)}` }}
|
{{ `#${truncate(tag, props.truncateSize)}` }}
|
||||||
|
|
|
@ -1866,13 +1866,18 @@
|
||||||
},
|
},
|
||||||
"TagDetail": {
|
"TagDetail": {
|
||||||
"header": {
|
"header": {
|
||||||
|
"albums": "Albums",
|
||||||
|
"artists": "Artists",
|
||||||
"channels": "Channels",
|
"channels": "Channels",
|
||||||
"tracks": "Tracks"
|
"tracks": "Tracks"
|
||||||
},
|
},
|
||||||
"link": {
|
"link": {
|
||||||
"albums": "Albums",
|
"albums": "View all Albums with this tag",
|
||||||
"artists": "Artists",
|
"artists": "View all Artists with this tag",
|
||||||
"moderation": "Open in moderation interface"
|
"channels": "View all Channels with this tag",
|
||||||
|
"django": "View in Django's admin",
|
||||||
|
"localProfile": "Open local profile",
|
||||||
|
"tracks": "View all Tracks with this tag"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"TagSelector": {
|
"TagSelector": {
|
||||||
|
@ -3590,13 +3595,6 @@
|
||||||
"audioContent": "Audio content",
|
"audioContent": "Audio content",
|
||||||
"tagData": "Tag data"
|
"tagData": "Tag data"
|
||||||
},
|
},
|
||||||
"link": {
|
|
||||||
"albums": "Albums",
|
|
||||||
"artists": "Artists",
|
|
||||||
"django": "View in Django's admin",
|
|
||||||
"localProfile": "Open local profile",
|
|
||||||
"tracks": "Tracks"
|
|
||||||
},
|
|
||||||
"modal": {
|
"modal": {
|
||||||
"delete": {
|
"delete": {
|
||||||
"content": {
|
"content": {
|
||||||
|
|
Loading…
Reference in New Issue