Add initial not-working implementation

This commit is contained in:
Chandler Swift 2026-01-19 22:44:55 -06:00
parent beaec64abd
commit 4c7274bafe
Signed by: chandlerswift
GPG key ID: A851D929D52FB93F
17 changed files with 509 additions and 128 deletions

View file

@ -0,0 +1,24 @@
import Track from "./Track";
import "./Album.css";
import type { Album, Track as TrackType } from "../../album";
export default function Album({ album, dismissAlbum, play, nowPlaying }: { album: Album; dismissAlbum: () => void, play: (track: TrackType) => void, nowPlaying: any }) {
return (
<section className="panel">
<div className="meta">
<div className="title-row">
<h1 className="title" id="release-title">{album.title}</h1>
<button type="button" className="dismiss" onClick={dismissAlbum}></button>
</div>
<p className="subtitle" id="release-artist">
{album.artistName} {album.releaseDate.year ? ' • ' + album.releaseDate.year : ''} {/* TODO: .toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) */}
</p>
<div className="queue" id="queue">
{album.tracks.map(t => (
<Track key={t.id} track={t} play={play} nowPlaying={nowPlaying} />
))}
</div>
</div>
</section>
);
}