|
@@ -1,57 +1,6 @@
|
|
|
<template>
|
|
|
<div class="currently-playing">
|
|
|
- <figure class="thumbnail">
|
|
|
- <div
|
|
|
- v-if="
|
|
|
- song.songId &&
|
|
|
- (!song.thumbnail ||
|
|
|
- (song.thumbnail &&
|
|
|
- (song.thumbnail.lastIndexOf(
|
|
|
- 'notes-transparent'
|
|
|
- ) !== -1 ||
|
|
|
- song.thumbnail.lastIndexOf(
|
|
|
- '/assets/notes.png'
|
|
|
- ) !== -1 ||
|
|
|
- song.thumbnail.lastIndexOf(
|
|
|
- 'i.ytimg.com'
|
|
|
- ) !== -1)) ||
|
|
|
- song.thumbnail === 'empty' ||
|
|
|
- song.thumbnail == null)
|
|
|
- "
|
|
|
- id="yt-thumbnail-bg"
|
|
|
- :style="{
|
|
|
- 'background-image':
|
|
|
- 'url(' +
|
|
|
- `https://img.youtube.com/vi/${song.songId}/mqdefault.jpg` +
|
|
|
- ')'
|
|
|
- }"
|
|
|
- ></div>
|
|
|
- <img
|
|
|
- v-if="
|
|
|
- song.songId &&
|
|
|
- (!song.thumbnail ||
|
|
|
- (song.thumbnail &&
|
|
|
- (song.thumbnail.lastIndexOf(
|
|
|
- 'notes-transparent'
|
|
|
- ) !== -1 ||
|
|
|
- song.thumbnail.lastIndexOf(
|
|
|
- '/assets/notes.png'
|
|
|
- ) !== -1 ||
|
|
|
- song.thumbnail.lastIndexOf(
|
|
|
- 'i.ytimg.com'
|
|
|
- ) !== -1)) ||
|
|
|
- song.thumbnail === 'empty' ||
|
|
|
- song.thumbnail == null)
|
|
|
- "
|
|
|
- :src="`https://img.youtube.com/vi/${song.songId}/mqdefault.jpg`"
|
|
|
- onerror="this.src='/assets/notes-transparent.png'"
|
|
|
- />
|
|
|
- <img
|
|
|
- v-else
|
|
|
- :src="song.thumbnail"
|
|
|
- onerror="this.src='/assets/notes-transparent.png'"
|
|
|
- />
|
|
|
- </figure>
|
|
|
+ <song-thumbnail :song="song" />
|
|
|
<div id="song-info">
|
|
|
<div id="song-details">
|
|
|
<h6 v-if="type === 'current'">Currently Playing...</h6>
|
|
@@ -139,9 +88,10 @@ import { mapState, mapActions } from "vuex";
|
|
|
import { formatDistance, parseISO } from "date-fns";
|
|
|
|
|
|
import UserIdToUsername from "../../../components/common/UserIdToUsername.vue";
|
|
|
+import SongThumbnail from "../../../components/ui/SongThumbnail.vue";
|
|
|
|
|
|
export default {
|
|
|
- components: { UserIdToUsername },
|
|
|
+ components: { UserIdToUsername, SongThumbnail },
|
|
|
props: {
|
|
|
song: {
|
|
|
type: Object,
|
|
@@ -188,38 +138,6 @@ export default {
|
|
|
padding: 10px;
|
|
|
min-height: 130px;
|
|
|
|
|
|
- .thumbnail {
|
|
|
- min-width: 130px;
|
|
|
- height: 130px;
|
|
|
- position: relative;
|
|
|
- margin-top: -15px;
|
|
|
- margin-bottom: -15px;
|
|
|
- margin-left: -10px;
|
|
|
-
|
|
|
- #yt-thumbnail-bg {
|
|
|
- height: 100%;
|
|
|
- width: 100%;
|
|
|
- position: absolute;
|
|
|
- top: 0;
|
|
|
- filter: blur(1px);
|
|
|
- background: url("/assets/notes-transparent.png") no-repeat center
|
|
|
- center;
|
|
|
- }
|
|
|
-
|
|
|
- img {
|
|
|
- height: auto;
|
|
|
- width: 100%;
|
|
|
- margin-top: auto;
|
|
|
- margin-bottom: auto;
|
|
|
- z-index: 1;
|
|
|
- position: absolute;
|
|
|
- top: 0;
|
|
|
- bottom: 0;
|
|
|
- left: 0;
|
|
|
- right: 0;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
#song-info {
|
|
|
display: flex;
|
|
|
flex-direction: column;
|