Compare commits
1 Commits
023649e647
...
mongodb-6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
25be34d9c7 |
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"backend_de": "http://localhost:31204",
|
"backend_dev": "http://localhost:31204",
|
||||||
"backend_dev": "https://webplay.rocks",
|
"backend_de": "https://webplay.rocks",
|
||||||
"backend": "https://webplay.rocks"
|
"backend": "https://webplay.rocks"
|
||||||
}
|
}
|
||||||
@@ -85,10 +85,23 @@ td.fillCell>* {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.favourite {
|
||||||
|
z-index: 1;
|
||||||
|
position: absolute;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
.favourite.active {
|
.favourite.active {
|
||||||
color: var(--yellow);
|
color: var(--yellow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.keepPlaying {
|
||||||
|
z-index: 1;
|
||||||
|
position: absolute;
|
||||||
|
cursor: pointer;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
DIALOGS
|
DIALOGS
|
||||||
|
|||||||
@@ -1741,10 +1741,6 @@ td.strech {
|
|||||||
box-shadow: 0 1px 4px var(--glow);
|
box-shadow: 0 1px 4px var(--glow);
|
||||||
}
|
}
|
||||||
|
|
||||||
.glow-text {
|
|
||||||
text-shadow: 0 1px 4px var(--glow);
|
|
||||||
}
|
|
||||||
|
|
||||||
.nowrap {
|
.nowrap {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,6 +146,8 @@ export default {
|
|||||||
this.audio.pause();
|
this.audio.pause();
|
||||||
this.audio.src = url;
|
this.audio.src = url;
|
||||||
|
|
||||||
|
this.pushHistoryItem();
|
||||||
|
|
||||||
if (this.currentTrackParent.progress) {
|
if (this.currentTrackParent.progress) {
|
||||||
if (this.currentTrackParent.progress.id == this.selectedTrack._id) {
|
if (this.currentTrackParent.progress.id == this.selectedTrack._id) {
|
||||||
this.skipToSecond(this.currentTrackParent.progress.progress);
|
this.skipToSecond(this.currentTrackParent.progress.progress);
|
||||||
@@ -295,7 +297,6 @@ export default {
|
|||||||
track: this.selectedTrack,
|
track: this.selectedTrack,
|
||||||
rate: this.audioBpm,
|
rate: this.audioBpm,
|
||||||
});
|
});
|
||||||
this.pushHistoryItem();
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<DialogBase ref="dialogWindow" id="dialogWindow" :title="selectedArtist.name" @canceled="closed" :showFooter="false" :showHeader="false" :showFullscreenButton="true" :disableXscroll="true" :disableYscroll="true">
|
<DialogBase ref="dialogWindow" id="dialogWindow" :title="selectedArtist.name" @canceled="closed" :showFooter="false" :showFullscreenButton="true" :disableXscroll="true" :disableYscroll="true">
|
||||||
<div id="artistViewer">
|
<div id="artistViewer">
|
||||||
<div id="header" class="flex-column">
|
<div id="header" class="flex-column">
|
||||||
<div id="background" :style="coverBackground" />
|
<div id="background" :style="coverBackground" />
|
||||||
<div id="title" class="flex-column ma-left ma-right pa-bottom">
|
<awesome-icon icon="star" size="2x" class="favourite ma4" :class="{ active: isFavourite }" @click="toggleFavourite" />
|
||||||
<h1>
|
<awesome-icon icon="play" size="2x" class="keepPlaying ma4 primary-text" @click="playProgress" v-if="selectedArtist.progress" title="Keep playing" />
|
||||||
|
<h1 @dblclick="dblclick">
|
||||||
{{ selectedArtist.name }}
|
{{ selectedArtist.name }}
|
||||||
</h1>
|
</h1>
|
||||||
<span id="stats" class="ma-bottom">
|
<span id="stats" class="ma-bottom">
|
||||||
@@ -12,26 +13,23 @@
|
|||||||
<b>{{ artist_albums.length }}</b> Albums with a duration of
|
<b>{{ artist_albums.length }}</b> Albums with a duration of
|
||||||
<b>{{ artist_duration }}</b>
|
<b>{{ artist_duration }}</b>
|
||||||
</span>
|
</span>
|
||||||
<div class="flex-row ma-top ma-bottom">
|
<div id="albumList" class="flex-row showOnMobilePortrait">
|
||||||
<button class="flat ma-right">
|
<AlbumItem class="ma" :class="{ playing: playingAlbumId == album._id }" v-for="album in selectedArtist.albums" :key="album._id" :item="album" @click="scrollToAlbum(album)" @dblclick="playAlbum(album)" />
|
||||||
<awesome-icon icon="star" size="2x" class="favourite" :class="{ active: isFavourite }" @click="toggleFavourite" />
|
</div>
|
||||||
|
<div id="navigation" class="flex-row center ma-top">
|
||||||
|
<div class="flex-row grow"></div>
|
||||||
|
<div class="flex-row">
|
||||||
|
<button @click="gotoPrevArtist" class="primary ma4" :title="prevArtist.name" :disabled="!prevArtist._id">
|
||||||
|
<awesome-icon icon="angle-left" class="ma4" />
|
||||||
</button>
|
</button>
|
||||||
<button class="flat ma-right" v-if="selectedArtist.progress">
|
<button @click="gotoNextArtist" class="primary ma4" :title="nextArtist.name" :disabled="!nextArtist._id">
|
||||||
<awesome-icon icon="play" size="2x" class="primary-text " @click="playProgress" title="Keep playing" />
|
<awesome-icon icon="angle-right" class="ma4" />
|
||||||
</button>
|
</button>
|
||||||
<button class="flat ma-right" v-else>
|
</div>
|
||||||
<awesome-icon icon="play" size="2x" class="white-text" @click="playArtist" title="Keep playing" />
|
<div class="flex-row grow right center">
|
||||||
</button>
|
<DropDown v-if="$store.getters['user/isAdministrator']" class="hideOnMobile">
|
||||||
<button @click="gotoPrevArtist" class="flat ma-left ma-right" :title="prevArtist.name" :disabled="!prevArtist._id">
|
<button class="flat pa8-left pa8-right">
|
||||||
<awesome-icon icon="angle-left" class="ma4 white-text" />
|
<awesome-icon icon="ellipsis-v" />
|
||||||
</button>
|
|
||||||
<button @click="gotoNextArtist" class="flat" :title="nextArtist.name" :disabled="!nextArtist._id">
|
|
||||||
<awesome-icon icon="angle-right" class="ma4 white-text" />
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<DropDown v-if="$store.getters['user/isAdministrator']" class="ma-left hideOnMobile">
|
|
||||||
<button class="flat pa-left pa-right">
|
|
||||||
<awesome-icon icon="ellipsis-v" class="white-text"/>
|
|
||||||
</button>
|
</button>
|
||||||
<template v-slot:dropdown-content>
|
<template v-slot:dropdown-content>
|
||||||
<div>
|
<div>
|
||||||
@@ -50,9 +48,6 @@
|
|||||||
</DropDown>
|
</DropDown>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="albumList" class="flex-row showOnMobilePortrait">
|
|
||||||
<AlbumItem class="ma" :class="{ playing: playingAlbumId == album._id }" v-for="album in selectedArtist.albums" :key="album._id" :item="album" @click="scrollToAlbum(album)" @dblclick="playAlbum(album)" />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-row overflow-y">
|
<div class="flex-row overflow-y">
|
||||||
<div id="albumList" class="flex-column hideOnMobilePortrait">
|
<div id="albumList" class="flex-column hideOnMobilePortrait">
|
||||||
@@ -82,7 +77,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
playArtist() {
|
dblclick() {
|
||||||
this.$store.commit("tracks/resetSelectedTrack");
|
this.$store.commit("tracks/resetSelectedTrack");
|
||||||
this.$store.commit("radios/resetSelectedRadio");
|
this.$store.commit("radios/resetSelectedRadio");
|
||||||
this.$store.dispatch("tracks/playContainer", this.selectedArtist);
|
this.$store.dispatch("tracks/playContainer", this.selectedArtist);
|
||||||
@@ -267,6 +262,7 @@ export default {
|
|||||||
h1,
|
h1,
|
||||||
#stats {
|
#stats {
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
text-align: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: var(--white);
|
color: var(--white);
|
||||||
text-shadow: 0 1px 2px black;
|
text-shadow: 0 1px 2px black;
|
||||||
@@ -284,10 +280,6 @@ h1,
|
|||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#header #title {
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
#albumList {
|
#albumList {
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|||||||
@@ -3,12 +3,18 @@ import axios from 'axios'
|
|||||||
export default {
|
export default {
|
||||||
checkIfInstanceIsNew(context) {
|
checkIfInstanceIsNew(context) {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
axios.get(context.rootGetters.server + "/api/system/setup").then((res) => {
|
axios
|
||||||
|
.get(context.rootGetters.server + "/api/system/setup")
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res.status);
|
||||||
if (res.status == 200) {
|
if (res.status == 200) {
|
||||||
resolve(true);
|
resolve(true);
|
||||||
} else {
|
} else {
|
||||||
resolve(false);
|
resolve(false);
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.log(err);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,11 +10,13 @@ export default {
|
|||||||
load(context) {
|
load(context) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
axios.get(context.rootGetters.server + "/api/user/login", context.rootGetters.headers).then((res) => {
|
axios.get(context.rootGetters.server + "/api/user/login", context.rootGetters.headers).then((res) => {
|
||||||
|
console.log(res.data);
|
||||||
context.commit("load", res.data);
|
context.commit("load", res.data);
|
||||||
context.rootState["player"].shuffle = res.data.player.shuffle;
|
context.rootState["player"].shuffle = res.data.player.shuffle;
|
||||||
context.rootState["player"].repeatType = res.data.player.repeat;
|
context.rootState["player"].repeatType = res.data.player.repeat;
|
||||||
resolve();
|
resolve();
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
|
console.log("error")
|
||||||
context.commit("resetToken");
|
context.commit("resetToken");
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -123,13 +123,17 @@ export default {
|
|||||||
checkTocken() {
|
checkTocken() {
|
||||||
let token = localStorage.getItem("token");
|
let token = localStorage.getItem("token");
|
||||||
if (token) {
|
if (token) {
|
||||||
|
console.log("hello token")
|
||||||
this.$store.dispatch("user/setToken", token);
|
this.$store.dispatch("user/setToken", token);
|
||||||
|
console.log("hello token; user/load")
|
||||||
this.$store
|
this.$store
|
||||||
.dispatch("user/load")
|
.dispatch("user/load")
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
console.log("user loaded")
|
||||||
this.goto();
|
this.goto();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
console.log("user not loaded")
|
||||||
console.log(err);
|
console.log(err);
|
||||||
this.checkIfNewBackend();
|
this.checkIfNewBackend();
|
||||||
});
|
});
|
||||||
@@ -157,6 +161,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
checkIfNewBackend() {
|
checkIfNewBackend() {
|
||||||
|
console.log("check new instance")
|
||||||
this.$store.dispatch("checkIfInstanceIsNew").then((res) => {
|
this.$store.dispatch("checkIfInstanceIsNew").then((res) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.$router.replace("setup");
|
this.$router.replace("setup");
|
||||||
|
|||||||
Reference in New Issue
Block a user