This commit is contained in:
thiloho
2025-10-29 00:05:36 +01:00
parent 1b51a7cd99
commit 269aa59fdb
5 changed files with 83 additions and 40 deletions

View File

@@ -6,7 +6,7 @@ import Button from "./Button.astro";
const routes = ["blog", "tracks", "services"];
---
<nav class="sticky top-0 z-10 max-w-none bg-white dark:bg-neutral-800">
<nav class="sticky top-0 z-20 max-w-none bg-white dark:bg-neutral-800">
<div
class="mx-auto flex max-w-screen-xl items-center justify-between gap-4 ps-4 pe-2 text-neutral-700 dark:text-neutral-300"
>

View File

@@ -17,30 +17,16 @@ const videoId = youtubeLink.split("v=")[1];
const thumbnail = `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`;
---
<figure
class="relative flex flex-col border border-neutral-400 duration-300 hover:scale-105 active:scale-105 dark:border-neutral-500"
<a
href={youtubeLink}
class="relative mt-4 block p-4 duration-300 after:absolute after:inset-0 after:z-0 after:bg-[rgba(255,255,255,0.75)] after:content-[''] first:mt-0 hover:scale-105 dark:after:bg-[rgba(38,38,38,0.75)]"
style={`word-break: break-word; background-image: url('${thumbnail}'); background-size: cover; background-position: center;`}
>
<span
class="absolute -start-2 -top-2 border border-neutral-400 bg-white px-2 text-lg font-bold dark:border-neutral-500 dark:bg-neutral-800"
>{index}</span
>
<a href={youtubeLink}>
<img
src={thumbnail}
alt={`Cover for the song '${title}' by artist(s) '${artist}'`}
class="aspect-video w-full border-b border-neutral-400 dark:border-neutral-500"
/>
</a>
<figcaption
class="flex flex-1 flex-col p-6 text-center"
style="word-break: break-word;"
<div
class="relative z-10 flex flex-col gap-2 text-neutral-900 dark:text-white"
>
<p class="text-lg font-bold">{title}</p>
<p class="mb-3">{uniqueArtists}</p>
<p
class="mt-auto border-t border-neutral-400 pt-3 text-sm dark:border-neutral-500"
>
{album}
</p>
</figcaption>
</figure>
<p>{uniqueArtists}</p>
<p class="text-sm">{album}</p>
</div>
</a>

View File

@@ -10,16 +10,7 @@ const tracks = await getCollection("tracks");
title="Tracks"
description="My entire music playlist. It contains all kinds of songs."
>
<p class="mb-8 text-center">
My entire music playlist. It contains all kinds of songs. <br />
Current total amount of songs: <strong class="text-lg"
>{tracks.length}</strong
>
<br />
</p>
<div
class="not-prose relative start-1/2 -ms-[min(50vw-1rem,50ch)] grid max-w-[calc(min(100vw-2rem,100ch))] grid-cols-[repeat(auto-fit,minmax(min(100%,200px),1fr))] place-content-center gap-6"
>
<div class="not-prose">
{
tracks.map(({ data: { title, artist, album, youtubeLink } }, index) => (
<Track {title} {artist} {album} {youtubeLink} index={++index} />