25 lines
		
	
	
		
			866 B
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			866 B
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
|   <article
 | |
|     class="backdrop-blur-sm -mt-12 z-10 card w-56 h-80 p-3 bg-opacity-10 bg-white rounded-2xl shadow-lg flex flex-col overflow-hidden">
 | |
|     <!-- Cover -->
 | |
|     <figure class="flex-1 overflow-hidden rounded-t-xl">
 | |
|       <img :src="coverUrl" alt="Pochette de l'album" class="w-full h-full object-cover object-center" />
 | |
|     </figure>
 | |
| 
 | |
|     <!-- Body -->
 | |
|     <div class="p-3 text-center bg-white rounded-b-xl">
 | |
|       <h2 class="text-base text-neutral-800 font-bold truncate">{{ props.track.title }}</h2>
 | |
|       <p class="text-sm text-neutral-500 truncate">
 | |
|         {{ props.track.artist.name }}
 | |
|       </p>
 | |
|     </div>
 | |
|   </article>
 | |
| 
 | |
| </template>
 | |
| 
 | |
| <script setup lang="ts">
 | |
| import type { Track } from '~~/types/types'
 | |
| 
 | |
| const props = defineProps<{ track: Track }>()
 | |
| const coverUrl = `https://f4.bcbits.com/img/${props.track.artist.coverId}_4.jpg`
 | |
| </script> |