fix(front): playable playlists with description

This commit is contained in:
ArneBo 2025-04-01 11:42:31 +02:00
parent ad14b2ec98
commit d0819c9ffa
3 changed files with 23 additions and 7 deletions

View File

@ -35,7 +35,7 @@ const props = withDefaults(defineProps<Props>(), {
canUpdate: true, canUpdate: true,
fetchHtml: false, fetchHtml: false,
permissive: false, permissive: false,
truncateLength: 150 truncateLength: 200
}) })
const preview = ref('') const preview = ref('')
@ -100,7 +100,7 @@ const submit = async () => {
<a <a
v-if="showMore === false" v-if="showMore === false"
class="more" class="more"
style="float: right; margin-top: -32px; color: var(--fw-primary);" style="align-self:end; color: var(--fw-primary);"
href="" href=""
@click.stop.prevent="showMore = true" @click.stop.prevent="showMore = true"
> >
@ -109,7 +109,7 @@ const submit = async () => {
<a <a
v-else v-else
class="more" class="more"
style="float: right; margin-top: -32px; color: var(--fw-primary);" style="align-self:end; color: var(--fw-primary);"
href="" href=""
@click.stop.prevent="showMore = false" @click.stop.prevent="showMore = false"
> >

View File

@ -152,6 +152,16 @@ const submit = async () => {
:label="t('components.playlists.Form.label.visibility')" :label="t('components.playlists.Form.label.visibility')"
/> />
</div> </div>
<!-- TODO: Add description to model and types -->
<div class="field">
<Textarea
v-model="playlist?.description"
:label="t('components.playlists.Form.label.description')"
:placeholder="t('components.playlists.Form.placeholder.description')"
:rows="3"
:max-length="500"
/>
</div>
<div class="field"> <div class="field">
<span id="updatePlaylistLabel" /> <span id="updatePlaylistLabel" />
<Button <Button

View File

@ -147,9 +147,10 @@ const deletePlaylist = async () => {
> >
</div> </div>
<Layout <Layout
stack stack
style="flex: 1; gap: 8px;" style="flex: 1; gap: 8px;"
> >
<Spacer />
<h1>{{ playlist.name }}</h1> <h1>{{ playlist.name }}</h1>
<div class="meta"> <div class="meta">
{{ playlist.tracks_count }} {{ playlist.tracks_count }}
@ -157,7 +158,7 @@ const deletePlaylist = async () => {
<i class="bi bi-dot" /> <i class="bi bi-dot" />
<Duration :seconds="playlist.duration" /> <Duration :seconds="playlist.duration" />
</div> </div>
<div class="meta"> <Layout flex gap-8>
<!-- TODO: Translations --> <!-- TODO: Translations -->
by by
<ActorLink <ActorLink
@ -170,7 +171,12 @@ const deletePlaylist = async () => {
<HumanDate <HumanDate
:date="playlist.modification_date" :date="playlist.modification_date"
/> />
</div> </Layout>
<RenderedDescription
:description="playlist.description"
:max-length="200"
:show-more="true"
/>
<Layout <Layout
flex flex
class="header-buttons" class="header-buttons"