| 
					
				 | 
			
			
				@@ -48,6 +48,188 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				</button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<div class="tab" v-show="tab === 'search'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div v-if="featuredPlaylists.length > 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					<label class="label"> Featured playlists </label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					<playlist-item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						v-for="featuredPlaylist in featuredPlaylists" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						:key="`searchKey-${featuredPlaylist._id}`" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						:playlist="featuredPlaylist" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						:show-owner="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						<template #item-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								class="material-icons" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isAllowedToParty() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isSelected(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								content="This playlist is currently selected" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								radio 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								class="material-icons" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-else-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isOwnerOrAdmin() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isPlaylistMode() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isIncluded(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								content="This playlist is currently included" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								play_arrow 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								class="material-icons excluded-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-else-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isOwnerOrAdmin() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isExcluded(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								content="This playlist is currently excluded" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								block 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								class="material-icons" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								:content=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isPartyMode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+										? 'This playlist is currently not selected or excluded' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+										: 'This playlist is currently not included or excluded' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								play_disabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						<template #actions> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if="isExcluded(featuredPlaylist._id)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								class="material-icons stop-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								content="This playlist is blacklisted in this station" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-tippy="{ theme: 'info' }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								>play_disabled</i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<confirm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isPartyMode() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isSelected(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								@confirm=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									deselectPartyPlaylist(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									class="material-icons stop-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									content="Stop playing songs from this playlist" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								</i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</confirm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<confirm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isOwnerOrAdmin() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isPlaylistMode() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isIncluded(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								@confirm=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									removeIncludedPlaylist(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									class="material-icons stop-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									content="Stop playing songs from this playlist" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								</i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</confirm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isPartyMode() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									!isSelected(featuredPlaylist._id) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									!isExcluded(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								@click="selectPartyPlaylist(featuredPlaylist)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								class="material-icons play-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								content="Request songs from this playlist" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								>play_arrow</i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isOwnerOrAdmin() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isPlaylistMode() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									!isIncluded(featuredPlaylist._id) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									!isExcluded(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								@click="includePlaylist(featuredPlaylist)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								class="material-icons play-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								:content="'Play songs from this playlist'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								>play_arrow</i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<confirm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isOwnerOrAdmin() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									!isExcluded(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								@confirm=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									blacklistPlaylist(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									class="material-icons stop-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									content="Blacklist Playlist" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									>block</i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</confirm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<confirm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isOwnerOrAdmin() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									isExcluded(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								@confirm=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									removeExcludedPlaylist(featuredPlaylist._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									class="material-icons stop-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									content="Stop blacklisting songs from this playlist" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								</i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</confirm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if="featuredPlaylist.createdBy === myUserId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								@click="showPlaylist(featuredPlaylist._id)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								class="material-icons edit-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								content="Edit Playlist" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								>edit</i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-if=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									featuredPlaylist.createdBy !== myUserId && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									(featuredPlaylist.privacy === 'public' || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+										isAdmin()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								@click="showPlaylist(featuredPlaylist._id)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								class="material-icons edit-icon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								content="View Playlist" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								v-tippy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								>visibility</i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					</playlist-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					<br /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				<label class="label"> Search for a public playlist </label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				<div class="control is-grouped input-with-button"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					<p class="control is-expanded"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -665,6 +847,10 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		nextPageResultsCount() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return Math.min(this.search.pageSize, this.resultsLeftCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		featuredPlaylists() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (this.search.results) return this.search.results.slice(0, 3); // TEMP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		...mapState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			loggedIn: state => state.user.auth.loggedIn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			role: state => state.user.auth.role, 
			 |