[web] Fix icon when track is not playable

Spotify tracks that are not playable have now a "not allowed" cursor when hovered.
Moreover, the Bulma CSS class is now used for clickable items instead of a custom one.
This commit is contained in:
Alain Nussbaumer 2023-06-10 19:22:29 +02:00
parent 6a2f85e04f
commit bbe29a7a63
26 changed files with 45 additions and 45 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -13,11 +13,11 @@
:artwork_url="album.item.artwork_url"
:artist="album.item.artist"
:album="album.item.name"
class="fd-has-action fd-has-shadow fd-cover fd-cover-small-image"
class="is-clickable fd-has-shadow fd-cover fd-cover-small-image"
@click="show_album_details_modal = true"
/>
</div>
<div class="media-content fd-has-action is-clipped">
<div class="media-content is-clickable is-clipped">
<div style="margin-top: 0.7rem">
<h1 class="title is-6" v-text="album.item.name" />
<h2 class="subtitle is-7 has-text-grey">

View File

@ -14,7 +14,7 @@
class="media"
@click="open_artist(artist.item)"
>
<div class="media-content fd-has-action is-clipped">
<div class="media-content is-clickable is-clipped">
<h1 class="title is-6" v-text="artist.item.name" />
</div>
<div class="media-right">

View File

@ -14,7 +14,7 @@
class="media"
@click="open_composer(composer.item)"
>
<div class="media-content fd-has-action is-clipped">
<div class="media-content is-clickable is-clipped">
<h1 class="title is-6" v-text="composer.item.name" />
</div>
<div class="media-right">

View File

@ -4,12 +4,12 @@
class="media"
@click="open_parent_directory()"
>
<figure class="media-left fd-has-action">
<figure class="media-left is-clickable">
<span class="icon"
><mdicon name="subdirectory-arrow-left" size="16"
/></span>
</figure>
<div class="media-content fd-has-action is-clipped">
<div class="media-content is-clickable is-clipped">
<h1 class="title is-6">..</h1>
</div>
<div class="media-right">
@ -18,10 +18,10 @@
</div>
<template v-for="directory in directories" :key="directory.path">
<div class="media" @click="open_directory(directory)">
<figure class="media-left fd-has-action">
<figure class="media-left is-clickable">
<span class="icon"><mdicon name="folder" size="16" /></span>
</figure>
<div class="media-content fd-has-action is-clipped">
<div class="media-content is-clickable is-clipped">
<h1
class="title is-6"
v-text="directory.path.substring(directory.path.lastIndexOf('/') + 1)"

View File

@ -10,7 +10,7 @@
</div>
</div>
<div v-else-if="genre.isItem" class="media" @click="open_genre(genre.item)">
<div class="media-content fd-has-action is-clipped">
<div class="media-content is-clickable is-clipped">
<h1 class="title is-6" v-text="genre.item.name" />
</div>
<div class="media-right">

View File

@ -5,7 +5,7 @@
><mdicon name="drag-horizontal" size="16"
/></span>
</div>
<div class="media-content fd-has-action is-clipped" @click="play">
<div class="media-content is-clickable is-clipped" @click="play">
<h1
class="title is-6"
:class="{

View File

@ -6,12 +6,12 @@
:playlist="playlist"
@click="open_playlist(playlist.item)"
>
<figure class="media-left fd-has-action">
<figure class="media-left is-clickable">
<span class="icon"
><mdicon :name="icon_name(playlist.item)" size="16"
/></span>
</figure>
<div class="media-content fd-has-action is-clipped">
<div class="media-content is-clickable is-clipped">
<h1 class="title is-6" v-text="playlist.item.name" />
</div>
<div class="media-right">

View File

@ -13,10 +13,10 @@
:class="{ 'with-progress': show_progress }"
@click="play_track(index, track.item)"
>
<figure v-if="show_icon" class="media-left fd-has-action">
<figure v-if="show_icon" class="media-left is-clickable">
<span class="icon"><mdicon name="file-outline" size="16" /></span>
</figure>
<div class="media-content fd-has-action is-clipped">
<div class="media-content is-clickable is-clipped">
<h1
class="title is-6"
:class="{

View File

@ -146,7 +146,7 @@
class="button is-white is-small"
:class="{ 'is-loading': loading }"
><span
class="icon fd-has-action"
class="icon is-clickable"
:class="{
'has-text-grey-light': !playing && !loading,
'is-loading': loading
@ -269,7 +269,7 @@
:class="{ 'is-loading': loading }"
>
<span
class="icon fd-has-action"
class="icon is-clickable"
:class="{
'has-text-grey-light': !playing && !loading,
'is-loading': loading

View File

@ -5,7 +5,7 @@
<div class="level-item" style="flex-grow: 0">
<a class="button is-white is-small">
<span
class="icon fd-has-action"
class="icon is-clickable"
:class="{ 'has-text-grey-light': !output.selected }"
@click="set_enabled"
><mdicon :name="type_class" size="18" :title="output.type"

View File

@ -1,9 +1,9 @@
<template>
<div class="media">
<div v-if="$slots['artwork']" class="media-left fd-has-action">
<div v-if="$slots['artwork']" class="media-left is-clickable">
<slot name="artwork" />
</div>
<div class="media-content fd-has-action is-clipped">
<div class="media-content is-clickable is-clipped">
<h1 class="title is-6" v-text="album.name" />
<h2 class="subtitle is-7 has-text-grey">
<b v-text="album.artists[0].name" />

View File

@ -1,6 +1,6 @@
<template>
<div class="media">
<div class="media-content fd-has-action is-clipped" @click="open_artist">
<div class="media-content is-clickable is-clipped" @click="open_artist">
<h1 class="title is-6" v-text="artist.name" />
</div>
<div class="media-right">

View File

@ -1,6 +1,6 @@
<template>
<div class="media">
<div class="media-content fd-has-action is-clipped" @click="open_playlist">
<div class="media-content is-clickable is-clipped" @click="open_playlist">
<h1 class="title is-6" v-text="playlist.name" />
<h2 class="subtitle is-7" v-text="playlist.owner.display_name" />
</div>

View File

@ -3,7 +3,8 @@
<div
class="media-content is-clipped"
:class="{
'is-clickable': track.is_playable
'is-clickable': track.is_playable,
'fd-is-not-allowed': !track.is_playable
}"
@click="play"
>

View File

@ -66,8 +66,8 @@ a.navbar-item {
margin-left: auto;
}
.fd-has-action {
cursor: pointer;
.fd-is-not-allowed {
cursor: not-allowed;
}
.fd-is-movable {

View File

@ -23,7 +23,7 @@
:artwork_url="album.artwork_url"
:artist="album.artist"
:album="album.name"
class="fd-has-action fd-has-shadow fd-cover fd-cover-medium-image"
class="is-clickable fd-has-shadow fd-cover fd-cover-medium-image"
@click="show_album_details_modal = true"
/>
</template>

View File

@ -23,7 +23,7 @@
:artwork_url="album.artwork_url"
:artist="album.artist"
:album="album.name"
class="fd-has-action fd-has-shadow fd-cover fd-cover-medium-image"
class="is-clickable fd-has-shadow fd-cover fd-cover-medium-image"
@click="show_album_details_modal = true"
/>
</template>

View File

@ -5,7 +5,7 @@
:artwork_url="now_playing.artwork_url"
:artist="now_playing.artist"
:album="now_playing.album"
class="fd-has-action fd-has-shadow fd-is-expanded fd-cover fd-cover-big-image"
class="is-clickable fd-has-shadow fd-is-expanded fd-cover fd-cover-big-image"
@click="open_dialog(now_playing)"
/>
<div class="fd-has-padding-left-right">

View File

@ -27,7 +27,7 @@
:artwork_url="artwork_url"
:artist="album.artist"
:album="album.name"
class="fd-has-action fd-has-shadow fd-cover fd-cover-medium-image"
class="is-clickable fd-has-shadow fd-cover fd-cover-medium-image"
@click="show_album_details_modal = true"
/>
</template>

View File

@ -33,7 +33,7 @@
:artwork_url="artwork_url(album)"
:artist="album.artist"
:album="album.name"
class="fd-has-action fd-has-shadow fd-cover fd-cover-small-image"
class="is-clickable fd-has-shadow fd-cover fd-cover-small-image"
:maxwidth="64"
:maxheight="64"
/>

View File

@ -18,7 +18,7 @@
:artwork_url="artwork_url(album)"
:artist="album.artist"
:album="album.name"
class="fd-has-action fd-has-shadow fd-cover fd-cover-small-image"
class="is-clickable fd-has-shadow fd-cover fd-cover-small-image"
:maxwidth="64"
:maxheight="64"
/>

View File

@ -17,7 +17,7 @@
:artwork_url="artwork_url(album)"
:artist="album.artist"
:album="album.name"
class="fd-has-action fd-has-shadow fd-cover fd-cover-small-image"
class="is-clickable fd-has-shadow fd-cover fd-cover-small-image"
:maxwidth="64"
:maxheight="64"
/>

View File

@ -66,7 +66,6 @@ import store from '@/store'
import webapi from '@/webapi'
import SpotifyWebApi from 'spotify-web-api-js'
import { VueEternalLoading } from '@ts-pro/vue-eternal-loading'
import { mdiAxe } from '@mdi/js'
const PAGE_SIZE = 50

View File

@ -160,7 +160,7 @@
:artwork_url="artwork_url(album)"
:artist="album.artist"
:album="album.name"
class="fd-has-action fd-has-shadow fd-cover fd-cover-small-image"
class="is-clickable fd-has-shadow fd-cover fd-cover-small-image"
:maxwidth="64"
:maxheight="64"
/>