[web] Fix spacing in lists of items

This commit is contained in:
Alain Nussbaumer 2025-01-01 17:36:09 +01:00
parent 02307e86cd
commit 2d0747dbe9
11 changed files with 129 additions and 98 deletions

View File

@ -7,26 +7,31 @@
v-text="item.index"
/>
</div>
<div v-else class="media is-align-items-center" @click="open(item.item)">
<div
v-else
class="media is-align-items-center is-clickable mb-0"
@click="open(item.item)"
>
<cover-artwork
v-if="settingsStore.show_cover_artwork_in_album_lists"
:url="item.item.artwork_url"
:artist="item.item.artist"
:album="item.item.name"
class="media-left is-clickable fd-has-shadow fd-cover fd-cover-small-image"
class="media-left fd-has-shadow fd-cover fd-cover-small-image"
/>
<div class="media-content is-clickable">
<p class="title is-6" v-text="item.item.name" />
<p
class="subtitle is-7 has-text-grey has-text-weight-bold"
v-text="item.item.artist"
/>
<p
v-if="item.item.date_released && item.item.media_kind === 'music'"
class="subtitle is-7 has-text-grey"
v-text="$filters.date(item.item.date_released)"
/>
<div class="media-content">
<div class="content is-small">
<div class="is-size-6 has-text-weight-bold" v-text="item.item.name" />
<div
class="has-text-grey has-text-weight-bold"
v-text="item.item.artist"
/>
<div
v-if="item.item.date_released && item.item.media_kind === 'music'"
class="has-text-grey"
v-text="$filters.date(item.item.date_released)"
/>
</div>
</div>
<div class="media-right">
<a @click.prevent.stop="open_dialog(item.item)">

View File

@ -1,6 +1,9 @@
<template>
<template v-for="item in items" :key="item.id">
<div class="media is-align-items-center is-clickable" @click="open(item)">
<div
class="media is-align-items-center is-clickable mb-0"
@click="open(item)"
>
<div
v-if="settingsStore.show_cover_artwork_in_album_lists"
class="media-left"
@ -12,18 +15,18 @@
class="fd-has-shadow fd-cover fd-cover-small-image"
/>
</div>
<div class="media-content is-clipped">
<p class="title is-6" v-text="item.name" />
<p
class="subtitle is-7 has-text-grey has-text-weight-bold"
v-text="item.artists[0]?.name"
/>
<p
class="subtitle is-7 has-text-grey"
v-text="
[item.album_type, $filters.date(item.release_date)].join(', ')
"
/>
<div class="media-content">
<div class="content is-small">
<div class="is-size-6 has-text-weight-bold" v-text="item.name" />
<div
class="has-text-weight-bold has-text-grey"
v-text="item.artists[0]?.name"
/>
<div
class="has-text-grey"
v-text="$filters.date(item.release_date)"
/>
</div>
</div>
<div class="media-right">
<a @click.prevent.stop="open_dialog(item)">

View File

@ -9,8 +9,12 @@
/>
</div>
</div>
<div v-else class="media is-align-items-center" @click="open(item.item)">
<div class="media-content is-clickable is-clipped">
<div
v-else
class="media is-align-items-center is-clickable mb-0"
@click="open(item.item)"
>
<div class="media-content">
<p class="title is-6" v-text="item.item.name" />
</div>
<div class="media-right">

View File

@ -1,7 +1,7 @@
<template>
<template v-for="item in items" :key="item.id">
<div class="media is-align-items-center">
<div class="media-content is-clickable is-clipped" @click="open(item)">
<div class="media is-align-items-center mb-0">
<div class="media-content is-clickable" @click="open(item)">
<p class="title is-6" v-text="item.name" />
</div>
<div class="media-right">

View File

@ -9,8 +9,12 @@
/>
</div>
</div>
<div v-else class="media is-align-items-center" @click="open(item.item)">
<div class="media-content is-clickable is-clipped">
<div
v-else
class="media is-align-items-center is-clickable mb-0"
@click="open(item.item)"
>
<div class="media-content">
<p class="title is-6" v-text="item.item.name" />
</div>
<div class="media-right">

View File

@ -1,5 +1,5 @@
<template>
<div v-if="$route.query.directory" class="media is-align-items-center">
<div v-if="$route.query.directory" class="media is-align-items-center mb-0">
<mdicon
class="icon media-left is-clickable"
name="chevron-left"
@ -21,9 +21,12 @@
</div>
</div>
<template v-for="item in items" :key="item.path">
<div class="media is-align-items-center" @click="open(item)">
<mdicon class="media-left is-clickable icon" name="folder" />
<div class="media-content is-clickable is-clipped">
<div
class="media is-align-items-center is-clickable mb-0"
@click="open(item)"
>
<mdicon class="media-left icon" name="folder" />
<div class="media-content">
<p class="title is-6" v-text="item.name" />
</div>
<div class="media-right">

View File

@ -9,8 +9,12 @@
/>
</div>
</div>
<div v-else class="media is-align-items-center" @click="open(item.item)">
<div class="media-content is-clickable is-clipped">
<div
v-else
class="media is-align-items-center is-clickable mb-0"
@click="open(item.item)"
>
<div class="media-content">
<p class="title is-6" v-text="item.item.name" />
</div>
<div class="media-right">

View File

@ -1,8 +1,11 @@
<template>
<template v-for="item in items" :key="item.itemId">
<div class="media is-align-items-center" @click="open(item.item)">
<mdicon class="media-left is-clickable icon" :name="icon(item.item)" />
<div class="media-content is-clickable is-clipped">
<div
class="media is-align-items-center is-clickable mb-0"
@click="open(item.item)"
>
<mdicon class="media-left icon" :name="icon(item.item)" />
<div class="media-content">
<p class="title is-6" v-text="item.item.name" />
</div>
<div class="media-right">

View File

@ -1,9 +1,14 @@
<template>
<template v-for="item in items" :key="item.id">
<div class="media is-align-items-center">
<div class="media-content is-clickable is-clipped" @click="open(item)">
<p class="title is-6" v-text="item.name" />
<p class="subtitle is-7" v-text="item.owner.display_name" />
<div class="media is-align-items-center mb-0">
<div class="media-content is-clickable" @click="open(item)">
<div class="content is-small">
<div class="is-size-6 has-text-weight-bold" v-text="item.name" />
<div
class="has-text-weight-bold has-text-grey"
v-text="item.owner.display_name"
/>
</div>
</div>
<div class="media-right">
<a @click.prevent.stop="open_dialog(item)">

View File

@ -9,35 +9,33 @@
</div>
<div
v-else
class="media is-align-items-center"
class="media is-align-items-center is-clickable mb-0"
:class="{ 'with-progress': show_progress }"
@click="play(item.item)"
>
<mdicon
v-if="show_icon"
class="media-left icon is-clickable"
name="file-outline"
/>
<div class="media-content is-clipped">
<p
class="title is-6"
:class="{
'has-text-grey':
item.item.media_kind === 'podcast' && item.item.play_count > 0
}"
v-text="item.item.title"
/>
<p
class="subtitle is-7 has-text-grey has-text-weight-bold"
v-text="item.item.artist"
/>
<p class="subtitle is-7 has-text-grey" v-text="item.item.album" />
<progress
v-if="show_progress && item.item.seek_ms > 0"
class="progress is-info"
:max="item.item.length_ms"
:value="item.item.seek_ms"
/>
<mdicon v-if="show_icon" class="media-left icon" name="file-outline" />
<div class="media-content">
<div class="content is-small">
<div
class="is-size-6 has-text-weight-bold"
:class="{
'has-text-grey':
item.item.media_kind === 'podcast' && item.item.play_count > 0
}"
v-text="item.item.title"
/>
<div
class="has-text-weight-bold has-text-grey"
v-text="item.item.artist"
/>
<div class="has-text-grey" v-text="item.item.album" />
<progress
v-if="show_progress && item.item.seek_ms > 0"
class="progress is-info"
:max="item.item.length_ms"
:value="item.item.seek_ms"
/>
</div>
</div>
<div class="media-right">
<a @click.prevent.stop="open_dialog(item.item)">

View File

@ -1,6 +1,6 @@
<template>
<template v-for="item in items" :key="item.id">
<div class="media is-align-items-center">
<div class="media is-align-items-center mb-0">
<div
class="media-content"
:class="{
@ -9,31 +9,33 @@
}"
@click="play(item)"
>
<p
class="title is-6"
:class="{ 'has-text-grey-light': !item.is_playable }"
v-text="item.name"
/>
<p
class="subtitle is-7 has-text-weight-bold"
:class="{
'has-text-grey': item.is_playable,
'has-text-grey-light': !item.is_playable
}"
v-text="item.artists[0].name"
/>
<p class="subtitle is-7 has-text-grey" v-text="item.album.name" />
<p v-if="!item.is_playable" class="subtitle is-7">
(<span v-text="$t('list.spotify.not-playable-track')" />
<span
v-if="item.restrictions?.reason"
v-text="
$t('list.spotify.restriction-reason', {
reason: item.restrictions.reason
})
"
/>)
</p>
<div class="content is-small">
<div
class="is-size-6 has-text-weight-bold"
:class="{ 'has-text-grey-light': !item.is_playable }"
v-text="item.name"
/>
<div
class="has-text-weight-bold"
:class="{
'has-text-grey': item.is_playable,
'has-text-grey-light': !item.is_playable
}"
v-text="item.artists[0].name"
/>
<div class="has-text-grey" v-text="item.album.name" />
<div v-if="!item.is_playable" class="has-text-grey">
(<span v-text="$t('list.spotify.not-playable-track')" />
<span
v-if="item.restrictions?.reason"
v-text="
$t('list.spotify.restriction-reason', {
reason: item.restrictions.reason
})
"
/>)
</div>
</div>
</div>
<div class="media-right">
<a @click.prevent.stop="open_dialog(item)">