Browse Source

refactor: Show login to request songs labels only if user access is set to users

Owen Diffey 3 years ago
parent
commit
2dc913672f
2 changed files with 13 additions and 7 deletions
  1. 10 2
      frontend/src/pages/Home.vue
  2. 3 5
      frontend/src/pages/Station/Sidebar/index.vue

+ 10 - 2
frontend/src/pages/Home.vue

@@ -463,6 +463,14 @@
 						>
 							queue
 						</i>
+						<i
+							v-else-if="canRequest(station, false)"
+							class="material-icons"
+							content="Login to request songs in this station"
+							v-tippy="{ theme: 'info' }"
+						>
+							queue
+						</i>
 					</div>
 				</router-link>
 				<h4 v-if="stations.length === 0">
@@ -771,10 +779,10 @@ export default {
 		isOwnerOrAdmin(station) {
 			return this.isOwner(station) || this.isAdmin();
 		},
-		canRequest(station) {
+		canRequest(station, loggedIn = true) {
 			return (
 				station &&
-				this.loggedIn &&
+				(!loggedIn || this.loggedIn) &&
 				station.requests &&
 				station.requests.enabled &&
 				(station.requests.access === "user" ||

+ 3 - 5
frontend/src/pages/Station/Sidebar/index.vue

@@ -24,9 +24,7 @@
 				Request
 			</button>
 			<button
-				v-else-if="
-					!loggedIn && station.requests && station.requests.enabled
-				"
+				v-else-if="canRequest(false)"
 				class="button is-default"
 				content="Login to request songs"
 				v-tippy="{ theme: 'info' }"
@@ -98,10 +96,10 @@ export default {
 		isOwnerOrAdmin() {
 			return this.isOwner() || this.isAdmin();
 		},
-		canRequest() {
+		canRequest(loggedIn = true) {
 			return (
 				this.station &&
-				this.loggedIn &&
+				(!loggedIn || this.loggedIn) &&
 				this.station.requests &&
 				this.station.requests.enabled &&
 				(this.station.requests.access === "user" ||