Forráskód Böngészése

Added Settings Icon for Editing Station, fixed issue where Station couldn't be edited if currentSong was undefined.

theflametrooper 8 éve
szülő
commit
7f51a198d7

+ 4 - 1
backend/logic/actions/stations.js

@@ -184,7 +184,10 @@ module.exports = {
 								currentSong: null,
 								startedAt: station.startedAt,
 								paused: station.paused,
-								timePaused: station.timePaused
+								timePaused: station.timePaused,
+								description: station.description,
+								displayName: station.displayName,
+								privacy: station.privacy
 							}
 						});
 					}

+ 8 - 17
frontend/components/Modals/EditStation.vue

@@ -25,14 +25,14 @@
 						<a class='button is-info' @click='updateDescription()'>Update</a>
 					</p>
 				</div>
-				<label class="label">Privacy</label>
+				<label class='label'>Privacy</label>
 				<div class='control is-grouped'>
-					<p class="control is-expanded">
-						<span class="select">
-							<select v-model="$parent.station.privacy">
-								<option v-bind:value="'public'">Public</option>
-								<option v-bind:value="'unlisted'">Unlisted</option>
-								<option v-bind:value="'private'">Private</option>
+					<p class='control is-expanded'>
+						<span class='select'>
+							<select v-model='$parent.station.privacy'>
+								<option v-bind:value=''public''>Public</option>
+								<option v-bind:value=''unlisted''>Unlisted</option>
+								<option v-bind:value=''private''>Private</option>
 							</select>
 						</span>
 					</p>
@@ -49,11 +49,6 @@
 	import { Toast } from 'vue-roaster';
 
 	export default {
-		data() {
-			return {
-
-			}
-		},
 		methods: {
 			updateDisplayName: function () {
 				this.socket.emit('stations.updateDisplayName', this.$parent.stationId, this.$parent.station.displayName, res => {
@@ -87,8 +82,6 @@
 </script>
 
 <style type='scss' scoped>
-
-
 	.controls {
 		display: flex;
 
@@ -98,9 +91,7 @@
 		}
 	}
 
-	.table {
-		margin-bottom: 0;
-	}
+	.table { margin-bottom: 0; }
 
 	h5 { padding: 20px 0; }
 </style>

+ 4 - 4
frontend/components/Station/CommunityHeader.vue

@@ -4,9 +4,9 @@
 			<a class="nav-item logo" href="#" v-link="{ path: '/' }" @click="this.$dispatch('leaveStation', title)">
 				Musare
 			</a>
-			<a class="nav-item" href="#" @click="$parent.toggleModal('editStation')">
+			<a class="nav-item" href="#" v-if="$parent.$parent.role === 'admin'" @click="$parent.toggleModal('editStation')">
 				<span class="icon">
-					<i class="material-icons">flag</i>
+					<i class="material-icons">settings</i>
 				</span>
 			</a>
 			<a v-if="$parent.$parent.role === 'admin'" class="nav-item" href="#" @click="$parent.skipStation()">
@@ -62,11 +62,11 @@
 					<i class="material-icons">chat</i>
 				</span>
 			</a>-->
-			<a class="nav-item" href="#" @click='$parent.sidebars.users = !$parent.sidebars.users'>
+			<!--<a class="nav-item" href="#" @click='$parent.sidebars.users = !$parent.sidebars.users'>
 				<span class="icon">
 					<i class="material-icons">people</i>
 				</span>
-			</a>
+			</a>-->
 			<a class="nav-item" href="#" @click='$parent.sidebars.playlist = !$parent.sidebars.playlist'>
 				<span class="icon">
 					<i class="material-icons">library_music</i>

+ 4 - 9
frontend/components/Station/OfficialHeader.vue

@@ -9,14 +9,9 @@
 					<i class="material-icons">playlist_add</i>
 				</span>
 			</a>
-			<a class="nav-item" href="#" @click="$parent.toggleModal('editStation')">
+			<a class="nav-item" href="#" v-if="$parent.$parent.role === 'admin'" @click="$parent.toggleModal('editStation')">
 				<span class="icon">
-					<i class="material-icons">flag</i>
-				</span>
-			</a>
-			<a class="nav-item" href="#">
-				<span class="icon">
-					<i class="material-icons">flag</i>
+					<i class="material-icons">settings</i>
 				</span>
 			</a>
 			<a v-if="$parent.$parent.role === 'admin'" class="nav-item" href="#" @click="$parent.skipStation()">
@@ -72,11 +67,11 @@
 					<i class="material-icons">chat</i>
 				</span>
 			</a>-->
-			<a class="nav-item" href="#" @click='$parent.sidebars.users = !$parent.sidebars.users'>
+			<!--<a class="nav-item" href="#" @click='$parent.sidebars.users = !$parent.sidebars.users'>
 				<span class="icon">
 					<i class="material-icons">people</i>
 				</span>
-			</a>
+			</a>-->
 		</div>
 	</nav>
 </template>

+ 6 - 3
frontend/components/Station/Station.vue

@@ -110,7 +110,6 @@
 				this.toggleModal('editPlaylist');
 			},
 			toggleModal: function (type) {
-				console.log(type);
 				if (type == 'addSongToQueue') this.modals.addSongToQueue = !this.modals.addSongToQueue;
 				else if (type == 'editPlaylist') this.modals.editPlaylist = !this.modals.editPlaylist;
 				else if (type == 'createPlaylist') this.modals.createPlaylist = !this.modals.createPlaylist;
@@ -298,8 +297,12 @@
 					_this.socket = _this.$parent.socket;
 					_this.socket.removeAllListeners();
 					_this.socket.emit('stations.join', _this.stationId, res => {
-						if (res.status === "success") {
-							_this.station = {displayName: res.data.displayName, description: res.data.description, privacy: res.data.privacy};
+						if (res.status === 'success') {
+							_this.station = {
+								displayName: res.data.displayName,
+								description: res.data.description,
+								privacy: res.data.privacy
+							};
 							_this.currentSong = (res.data.currentSong) ? res.data.currentSong : {};
 							_this.type = res.data.type;
 							_this.startedAt = res.data.startedAt;