toggleAlbum(id)}
onClick={(e) => e.stopPropagation()}
- className="cursor-pointer"
+ className="trip-checkbox cursor-pointer"
aria-label={`Select all tracks for album ${album}`}
/>
+
{truncate(album, 32)}
{loadingAlbumId === id && }
@@ -706,33 +1161,93 @@ export default function MediaRequestForm() {
>
{allTracks.length > 0 ? (
- {allTracks.map((track) => (
- -
- toggleTrack(id, track.id)}
- className="cursor-pointer"
- aria-label={`Select track ${track.title} `}
- />
-
- {quality}
- {track.version && (
- ({track.version})
- )}
- {track.duration && (
- {track.duration}
- )}
-
- ))}
+ {allTracks.map((track) => {
+ const isCurrentTrack = currentTrackId === track.id;
+ const showProgress = isCurrentTrack && audioProgress.duration > 0;
+ const safeProgress = {
+ current: Math.min(audioProgress.current, audioProgress.duration || 0),
+ duration: audioProgress.duration || 0,
+ };
+ return (
+ -
+
+
toggleTrack(id, track.id)}
+ className="trip-checkbox cursor-pointer"
+ aria-label={`Select track ${track.title} `}
+ />
+
+
+
+ {truncate(track.title, 80)}
+
+ {track.version && (
+
+ {track.version}
+
+ )}
+
+
+
+ {quality}
+ {track.duration && (
+ {track.duration}
+ )}
+
+
+ {showProgress && (
+
+
{
+ if (!audioRef.current) return;
+ const nextValue = Number(e.target.value);
+ audioRef.current.currentTime = nextValue;
+ setAudioProgress((prev) => ({ ...prev, current: nextValue }));
+ }}
+ className="w-full h-1 cursor-pointer accent-blue-600"
+ aria-label={`Seek within ${track.title}`}
+ />
+
+ {formatTime(safeProgress.current)}
+ {formatTime(safeProgress.duration)}
+
+
+ )}
+
+ );
+ })}
) : (
diff --git a/src/config.js b/src/config.js
index 88cae93..778fd03 100644
--- a/src/config.js
+++ b/src/config.js
@@ -3,9 +3,11 @@ export const metaData = {
title: "CODEY STUFF",
name: "codey.lol",
owner: "codey",
- ogImage: "/opengraph-image.png",
- description:
- "codey.lol",
+ ogImage: "/images/favicon.png",
+ description: "CODEY STUFF!",
+ shareTitle: "CODEY STUFF",
+ shareDescription: "CODEY STUFF!",
+ shareImageAlt: "/images/favicon.png",
};
export const API_URL = "https://api.codey.lol";
diff --git a/src/layouts/Nav.astro b/src/layouts/Nav.astro
index 1aad17b..265c1f7 100644
--- a/src/layouts/Nav.astro
+++ b/src/layouts/Nav.astro
@@ -8,8 +8,6 @@ import "@/assets/styles/nav.css";
const user = await requireAuthHook(Astro);
const isLoggedIn = Boolean(user);
const userDisplayName = user?.user ?? null;
-const userInitial = userDisplayName ? String(userDisplayName).charAt(0).toUpperCase() : '?';
-
const navItems = [
{ label: "Home", href: "/" },