refactor(fron): Tag detail page
This commit is contained in:
parent
d045478804
commit
b0ef62498d
|
@ -8,6 +8,9 @@ import TrackWidget from '~/components/audio/track/Widget.vue'
|
||||||
import AlbumWidget from '~/components/album/Widget.vue'
|
import AlbumWidget from '~/components/album/Widget.vue'
|
||||||
import ArtistWidget from '~/components/artist/Widget.vue'
|
import ArtistWidget from '~/components/artist/Widget.vue'
|
||||||
import RadioButton from '~/components/radios/Button.vue'
|
import RadioButton from '~/components/radios/Button.vue'
|
||||||
|
import Layout from '~/components/ui/Layout.vue'
|
||||||
|
import Button from '~/components/ui/Button.vue'
|
||||||
|
import Spacer from '~/components/ui/Spacer.vue'
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
id: string
|
id: string
|
||||||
|
@ -24,25 +27,28 @@ const labels = computed(() => ({
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<main v-title="labels.title">
|
<Layout main stack v-title="labels.title">
|
||||||
<section class="ui vertical stripe segment">
|
<h1 class="ui header">
|
||||||
<h2 class="ui header">
|
<span class="funkwhale solid raised secondary pill">
|
||||||
<span class="ui circular huge hashtag label component-label">
|
<span class="pill-content">
|
||||||
{{ labels.title }}
|
{{ labels.title }}
|
||||||
</span>
|
</span>
|
||||||
</h2>
|
</span>
|
||||||
|
</h1>
|
||||||
|
<Layout flex class="buttons">
|
||||||
<radio-button
|
<radio-button
|
||||||
type="tag"
|
type="tag"
|
||||||
:object-id="id"
|
:object-id="id"
|
||||||
/>
|
/>
|
||||||
<router-link
|
<Button
|
||||||
v-if="store.state.auth.availablePermissions['library']"
|
v-if="store.state.auth.availablePermissions['library']"
|
||||||
class="ui right floated button"
|
icon="bi-wrench"
|
||||||
|
secondary
|
||||||
:to="{name: 'manage.library.tags.detail', params: {id: id}}"
|
:to="{name: 'manage.library.tags.detail', params: {id: id}}"
|
||||||
>
|
>
|
||||||
<i class="wrench icon" />
|
|
||||||
{{ t('components.library.TagDetail.link.moderation') }}
|
{{ t('components.library.TagDetail.link.moderation') }}
|
||||||
</router-link>
|
</Button>
|
||||||
|
</Layout>
|
||||||
|
|
||||||
<div class="ui hidden divider" />
|
<div class="ui hidden divider" />
|
||||||
<div class="ui row">
|
<div class="ui row">
|
||||||
|
@ -57,8 +63,7 @@ const labels = computed(() => ({
|
||||||
</router-link>
|
</router-link>
|
||||||
</template>
|
</template>
|
||||||
</artist-widget>
|
</artist-widget>
|
||||||
<div class="ui hidden divider" />
|
<Spacer />
|
||||||
<div class="ui hidden divider" />
|
|
||||||
<h3 class="ui header">
|
<h3 class="ui header">
|
||||||
{{ t('components.library.TagDetail.header.channels') }}
|
{{ t('components.library.TagDetail.header.channels') }}
|
||||||
</h3>
|
</h3>
|
||||||
|
@ -68,8 +73,7 @@ const labels = computed(() => ({
|
||||||
:limit="12"
|
:limit="12"
|
||||||
:filters="{tag: id, ordering: '-creation_date'}"
|
:filters="{tag: id, ordering: '-creation_date'}"
|
||||||
/>
|
/>
|
||||||
<div class="ui hidden divider" />
|
<Spacer />
|
||||||
<div class="ui hidden divider" />
|
|
||||||
<album-widget
|
<album-widget
|
||||||
:key="'album' + id"
|
:key="'album' + id"
|
||||||
:show-count="true"
|
:show-count="true"
|
||||||
|
@ -82,8 +86,7 @@ const labels = computed(() => ({
|
||||||
</router-link>
|
</router-link>
|
||||||
</template>
|
</template>
|
||||||
</album-widget>
|
</album-widget>
|
||||||
<div class="ui hidden divider" />
|
<Spacer />
|
||||||
<div class="ui hidden divider" />
|
|
||||||
<track-widget
|
<track-widget
|
||||||
:key="'track' + id"
|
:key="'track' + id"
|
||||||
:show-count="true"
|
:show-count="true"
|
||||||
|
@ -97,8 +100,14 @@ const labels = computed(() => ({
|
||||||
{{ t('components.library.TagDetail.header.tracks') }}
|
{{ t('components.library.TagDetail.header.tracks') }}
|
||||||
</template>
|
</template>
|
||||||
</track-widget>
|
</track-widget>
|
||||||
<div class="ui clearing hidden divider" />
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</Layout>
|
||||||
</main>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
h1 > .pill > .pill-content {
|
||||||
|
font-size: 48px;
|
||||||
|
line-height: 48px;
|
||||||
|
padding: 20px 30px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
Loading…
Reference in New Issue