Compare commits
6 Commits
a96c3ccacb
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c9d07f5ef7 | |||
|
|
78e89d0c02 | ||
| dfa44db91f | |||
|
|
f3bfe8b9ed | ||
| 7e014b29a2 | |||
|
|
d6a1e55e0d |
@@ -3,9 +3,8 @@
|
|||||||
<div id="albumViewer" class="flex-row">
|
<div id="albumViewer" class="flex-row">
|
||||||
<div id="header" class="flex-column grow">
|
<div id="header" class="flex-column grow">
|
||||||
<div id="background" :style="coverBackground" />
|
<div id="background" :style="coverBackground" />
|
||||||
<div it="title" class="flex-column pa grow z1">
|
<div id="title" class="flex-column pa grow z1">
|
||||||
<img class="glow ma" :src="cover" />
|
<img class="glow ma" :src="cover" />
|
||||||
|
|
||||||
<span id="stats" class="center">
|
<span id="stats" class="center">
|
||||||
{{ selectedAlbum.title }}
|
{{ selectedAlbum.title }}
|
||||||
<br />
|
<br />
|
||||||
@@ -16,22 +15,21 @@
|
|||||||
from year <b>{{ album_year }}</b> </span><br />
|
from year <b>{{ album_year }}</b> </span><br />
|
||||||
<b>{{ album_tracks.length }}</b> Tracks with a duration of
|
<b>{{ album_tracks.length }}</b> Tracks with a duration of
|
||||||
<b>{{ album_duration }}</b>
|
<b>{{ album_duration }}</b>
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
<div class=" grow">
|
<div class="grow"> </div>
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex-row grow ma-top">
|
<div class="flex-row grow ma-top">
|
||||||
|
|
||||||
<button class="flat ma-right" title="Favourite" @click="toggleFavourite">
|
<button class="flat ma-right" title="Favourite" @click="toggleFavourite">
|
||||||
<awesome-icon :icon="['fas', 'star']" size="2x" class="white-text favourite active" v-if="isFavourite" />
|
<awesome-icon :icon="['fas', 'star']" size="2x" class="white-text favourite active" v-if="isFavourite" />
|
||||||
<awesome-icon :icon="['far', 'star']" size="2x" class="white-text favourite" v-else />
|
<awesome-icon :icon="['far', 'star']" size="2x" class="white-text favourite" v-else />
|
||||||
</button>
|
</button>
|
||||||
<button class="flat ma-right" @click="playProgress" v-if="selectedAlbum.progress">
|
<button class="flat ma-right" title="Keep playing" v-if="selectedAlbum._id == selectedTrackContainer._id && isPlaying">
|
||||||
<awesome-icon icon="play" size="2x" class="primary-text" title="Keep playing" />
|
<awesome-icon icon="compact-disc" size="2x" class="primary-text" />
|
||||||
</button>
|
</button>
|
||||||
<button class="flat ma-right" @click="playAlbum" v-else>
|
<button class="flat ma-right" title="Keep playing" @click="playProgress" v-else-if="selectedAlbum.progress">
|
||||||
<awesome-icon icon="play" size="2x" class="white-text" title="Play" />
|
<awesome-icon icon="play" size="2x" class="primary-text" />
|
||||||
|
</button>
|
||||||
|
<button class="flat ma-right" title="Play" @click="playAlbum" v-else>
|
||||||
|
<awesome-icon icon="play" size="2x" class="white-text" />
|
||||||
</button>
|
</button>
|
||||||
<button @click="gotoPrevAlbum" class="flat ma-left ma-right" :title="prevAlbum.name" :disabled="!prevAlbum._id">
|
<button @click="gotoPrevAlbum" class="flat ma-left ma-right" :title="prevAlbum.name" :disabled="!prevAlbum._id">
|
||||||
<awesome-icon icon="angle-left" class="ma4 white-text" />
|
<awesome-icon icon="angle-left" class="ma4 white-text" />
|
||||||
@@ -248,7 +246,9 @@ export default {
|
|||||||
nextAlbum: ["albums/nextAlbum"],
|
nextAlbum: ["albums/nextAlbum"],
|
||||||
selectedAlbum: ["albums/selectedAlbum"],
|
selectedAlbum: ["albums/selectedAlbum"],
|
||||||
selectedTrack: ["tracks/selectedTrack"],
|
selectedTrack: ["tracks/selectedTrack"],
|
||||||
|
selectedTrackContainer: ["tracks/selectedTrackContainer"],
|
||||||
favourites: ["user/favourites"],
|
favourites: ["user/favourites"],
|
||||||
|
isPlaying: ["player/isPlaying"],
|
||||||
}),
|
}),
|
||||||
album_title() {
|
album_title() {
|
||||||
return this.selectedAlbum.title;
|
return this.selectedAlbum.title;
|
||||||
|
|||||||
@@ -17,7 +17,10 @@
|
|||||||
<awesome-icon :icon="['fas', 'star']" size="2x" class="white-text favourite active" v-if="isFavourite" />
|
<awesome-icon :icon="['fas', 'star']" size="2x" class="white-text favourite active" v-if="isFavourite" />
|
||||||
<awesome-icon :icon="['far', 'star']" size="2x" class="white-text favourite" v-else />
|
<awesome-icon :icon="['far', 'star']" size="2x" class="white-text favourite" v-else />
|
||||||
</button>
|
</button>
|
||||||
<button class="flat ma-right" @click="playProgress" title="Keep playing" v-if="selectedArtist.progress">
|
<button class="flat ma-right" title="Keep playing" v-if="selectedArtist._id == selectedTrackContainer._id && isPlaying">
|
||||||
|
<awesome-icon icon="compact-disc" size="2x" class="primary-text" />
|
||||||
|
</button>
|
||||||
|
<button class="flat ma-right" @click="playProgress" title="Keep playing" v-else-if="selectedArtist.progress">
|
||||||
<awesome-icon icon="play" size="2x" class="primary-text" />
|
<awesome-icon icon="play" size="2x" class="primary-text" />
|
||||||
</button>
|
</button>
|
||||||
<button class="flat ma-right" @click="playArtist" title="Play" v-else>
|
<button class="flat ma-right" @click="playArtist" title="Play" v-else>
|
||||||
@@ -176,6 +179,7 @@ export default {
|
|||||||
nextArtist: ["artists/nextArtist"],
|
nextArtist: ["artists/nextArtist"],
|
||||||
selectedArtist: ["artists/selectedArtist"],
|
selectedArtist: ["artists/selectedArtist"],
|
||||||
selectedTrack: ["tracks/selectedTrack"],
|
selectedTrack: ["tracks/selectedTrack"],
|
||||||
|
selectedTrackContainer: ["tracks/selectedTrackContainer"],
|
||||||
favourites: ["user/favourites"],
|
favourites: ["user/favourites"],
|
||||||
isPlaying: ["player/isPlaying"]
|
isPlaying: ["player/isPlaying"]
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -1,18 +1,38 @@
|
|||||||
<template>
|
<template>
|
||||||
<DialogBase ref="dialogWindow" :title="selectedBox.title" @canceled="closed" :showFooter="false" :closeOnEscape="selectedVideo._id == null" :disableXscroll="true" :disableYscroll="true">
|
<DialogBase ref="dialogWindow" :title="selectedBox.title" @canceled="closed" :showFooter="false" :closeOnEscape="selectedVideo._id == null" :disableXscroll="true" :disableYscroll="true" :flatDialogHeader="true">
|
||||||
<div id="boxViewer" class="flex-row">
|
<div id="boxViewer" class="flex-row">
|
||||||
<div id="header" class="flex-column">
|
<div id="header" class="flex-column grow">
|
||||||
<div id="background" :style="coverBackground" />
|
<div id="background" :style="coverBackground" />
|
||||||
<div class="grow z1 center flex-column">
|
<div id="title" class="grow z1 pa flex-column">
|
||||||
<img class="glow ma24" :src="cover" @dblclick="dblclick" />
|
<img class="glow ma" :src="cover" />
|
||||||
</div>
|
<span id="stats" class="center">
|
||||||
<awesome-icon icon="star" size="2x" class="favourite ma4 z2" :class="{ active: isFavourite }" @click="toggleFavourite" />
|
<b>{{ selectedBox.title }}</b>
|
||||||
<awesome-icon icon="play" size="2x" class="keepPlaying ma4 primary-text" @click="playProgress" v-if="selectedBox.progress" title="Keep playing" />
|
<br />
|
||||||
|
<b>{{ box_videos.length }}</b> Videos
|
||||||
|
</span>
|
||||||
|
|
||||||
<div id="stats" class="flex-row z1">
|
<div class="grow"> </div>
|
||||||
|
<div class="flex-row ma-top grow">
|
||||||
|
<button class="flat ma-right" title="Favourite" @click="toggleFavourite">
|
||||||
|
<awesome-icon :icon="['fas', 'star']" size="2x" class="white-text favourite active" v-if="isFavourite" />
|
||||||
|
<awesome-icon :icon="['far', 'star']" size="2x" class="white-text favourite" v-else />
|
||||||
|
</button>
|
||||||
|
<button class="flat ma-right" title="Keep playing" @click="playProgress" v-if="selectedBox.progress">
|
||||||
|
<awesome-icon icon="play" size="2x" class="primary-text" />
|
||||||
|
</button>
|
||||||
|
<button class="flat ma-right" title="Play" @dblclick="dblclick" v-else>
|
||||||
|
<awesome-icon icon="play" size="2x" class="white-text" />
|
||||||
|
</button>
|
||||||
|
<button @click="gotoPrevBox" class="flat ma-left ma-right" :title="prevBox.name" :disabled="!prevBox._id">
|
||||||
|
<awesome-icon icon="angle-left" class="ma4 white-text" />
|
||||||
|
</button>
|
||||||
|
<button @click="gotoNextBox" class="flat" :title="nextBox.name" :disabled="!nextBox._id">
|
||||||
|
<awesome-icon icon="angle-right" class="ma4 white-text" />
|
||||||
|
</button>
|
||||||
|
<div class="grow"></div>
|
||||||
<DropDown v-if="$store.getters['user/isAdministrator']">
|
<DropDown v-if="$store.getters['user/isAdministrator']">
|
||||||
<button class="flat center" :title="visibility_text">
|
<button class="flat center" :title="visibility_text">
|
||||||
<awesome-icon :icon="visibility_icon" />
|
<awesome-icon :icon="visibility_icon" class="white-text" />
|
||||||
</button>
|
</button>
|
||||||
<template v-slot:dropdown-content>
|
<template v-slot:dropdown-content>
|
||||||
<div>
|
<div>
|
||||||
@@ -34,18 +54,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</DropDown>
|
</DropDown>
|
||||||
<div class="grow flex-column">
|
|
||||||
<p class="ma4 center">
|
|
||||||
<span class="">
|
|
||||||
<b>{{ selectedBox.title }}</b>
|
|
||||||
<br />
|
|
||||||
<b>{{ box_videos.length }}</b> Videos
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<DropDown v-if="$store.getters['user/isAdministrator']">
|
<DropDown v-if="$store.getters['user/isAdministrator']">
|
||||||
<button class="flat center">
|
<button class="flat center">
|
||||||
<awesome-icon icon="ellipsis-v" />
|
<awesome-icon icon="ellipsis-v" class="white-text" />
|
||||||
</button>
|
</button>
|
||||||
<template v-slot:dropdown-content>
|
<template v-slot:dropdown-content>
|
||||||
<div>
|
<div>
|
||||||
@@ -64,7 +75,7 @@
|
|||||||
</DropDown>
|
</DropDown>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<ul id="videoList" class="videos">
|
<ul id="videoList" class="videos">
|
||||||
<li v-for="item in selectedBox.videos" :key="item._id">
|
<li v-for="item in selectedBox.videos" :key="item._id">
|
||||||
<VideoItem :video="item" />
|
<VideoItem :video="item" />
|
||||||
@@ -265,7 +276,7 @@ export default {
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
#boxViewer {
|
#boxViewer {
|
||||||
height: 462px;
|
height: 486px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#header {
|
#header {
|
||||||
@@ -280,13 +291,8 @@ export default {
|
|||||||
|
|
||||||
#stats {
|
#stats {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
align-items: center;
|
|
||||||
color: var(--white);
|
color: var(--white);
|
||||||
text-shadow: 0 1px 2px black;
|
text-shadow: 0 1px 2px black;
|
||||||
line-height: 1.4;
|
|
||||||
background-color: #ffffff40;
|
|
||||||
border-top: 1px solid #ffffff20;
|
|
||||||
border-bottom: 1px solid #00000020;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-activator button {
|
.dropdown-activator button {
|
||||||
@@ -294,11 +300,6 @@ export default {
|
|||||||
height: 32px;
|
height: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#stats p {
|
|
||||||
max-width: 192px;
|
|
||||||
align-self: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#videoList {
|
#videoList {
|
||||||
background-color: var(--white);
|
background-color: var(--white);
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
|||||||
@@ -81,13 +81,13 @@ export default {
|
|||||||
messageCommands: [
|
messageCommands: [
|
||||||
{
|
{
|
||||||
title: "Scan for Music files",
|
title: "Scan for Music files",
|
||||||
subtitle: "Scann your server for music files…",
|
subtitle: "Scan your server for music files…",
|
||||||
icon: "music",
|
icon: "music",
|
||||||
command: "scanMusic",
|
command: "scanMusic",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Scan for Video files",
|
title: "Scan for Video files",
|
||||||
subtitle: "Scann your server for video files…",
|
subtitle: "Scan your server for video files…",
|
||||||
icon: "video",
|
icon: "video",
|
||||||
command: "scanVideos",
|
command: "scanVideos",
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user