split starred into tabs
This commit is contained in:
		
							parent
							
								
									3d89d3f26d
								
							
						
					
					
						commit
						b1ee4b18dc
					
				| @ -1,18 +1,29 @@ | |||||||
| <template> | <template> | ||||||
|  |   <div> | ||||||
|  |     <h1>Starred</h1> | ||||||
|  |     <ul class="nav-underlined"> | ||||||
|  |       <li> | ||||||
|  |         <router-link :to="{... $route, params: { }}"> | ||||||
|  |           Albums | ||||||
|  |         </router-link> | ||||||
|  |       </li> | ||||||
|  |       <li> | ||||||
|  |         <router-link :to="{... $route, params: { section: 'artists' }}"> | ||||||
|  |           Artists | ||||||
|  |         </router-link> | ||||||
|  |       </li> | ||||||
|  |       <li> | ||||||
|  |         <router-link :to="{... $route, params: { section: 'tracks' }}"> | ||||||
|  |           Tracks | ||||||
|  |         </router-link> | ||||||
|  |       </li> | ||||||
|  |     </ul> | ||||||
|     <ContentLoader v-slot :loading="result == null"> |     <ContentLoader v-slot :loading="result == null"> | ||||||
|     <div v-if="result.albums.length > 0" class="mb-4"> |       <ArtistList v-if="section === 'artists'" :items="result.artists" /> | ||||||
|       <h1>Albums</h1> |       <TrackList v-else-if="section === 'tracks'" :tracks="result.tracks" /> | ||||||
|       <AlbumList :items="result.albums" /> |       <AlbumList v-else :items="result.albums" /> | ||||||
|     </div> |  | ||||||
|     <div v-if="result.artists.length > 0" class="mb-4"> |  | ||||||
|       <h1>Artists</h1> |  | ||||||
|       <ArtistList :items="result.artists" /> |  | ||||||
|     </div> |  | ||||||
|     <div v-if="result.tracks.length > 0" class="mb-4"> |  | ||||||
|       <h1>Tracks</h1> |  | ||||||
|       <TrackList :tracks="result.tracks" /> |  | ||||||
|     </div> |  | ||||||
|     </ContentLoader> |     </ContentLoader> | ||||||
|  |   </div> | ||||||
| </template> | </template> | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
|   import Vue from 'vue' |   import Vue from 'vue' | ||||||
| @ -26,6 +37,9 @@ | |||||||
|       ArtistList, |       ArtistList, | ||||||
|       TrackList, |       TrackList, | ||||||
|     }, |     }, | ||||||
|  |     props: { | ||||||
|  |       section: { type: String, default: '' }, | ||||||
|  |     }, | ||||||
|     data() { |     data() { | ||||||
|       return { |       return { | ||||||
|         result: null as any, |         result: null as any, | ||||||
|  | |||||||
| @ -88,8 +88,9 @@ export function setupRouter(auth: AuthService) { | |||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         name: 'starred', |         name: 'starred', | ||||||
|         path: '/starred', |         path: '/starred/:section?', | ||||||
|         component: Starred, |         component: Starred, | ||||||
|  |         props: true, | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         name: 'radio', |         name: 'radio', | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user