iPod Classic
iPod classic with a working click wheel, menus, and music playback.
Features
- Click wheel scrolling that speeds up as you spin.
- Crossfade between songs and wheel click sounds.
- Settings and volume persist between visits.
- Hidden Brick game: hold Select on About for 5 seconds.
Installation
pnpm dlx shadcn@latest add @ncdai/ipod-classic
CLI only. Browse the source on GitHub.
Requires the Chicago Kare font,
exposed as --font-chicago-kare.
Usage
import { IpodClassic, type IpodLibrary } from "@/components/ipod-classic"const library: IpodLibrary = {
songs: [
{ id: "1", name: "Song", artistName: "Artist", previewUrl: "/song.m4a" },
],
playlists: [{ id: "favorites", name: "Favorites", songIds: ["1"] }],
}
<IpodClassic library={library} />API reference
IpodClassic
Extends div props.
Prop
Type
IpodLibrary
Prop
Type
IpodSong
Prop
Type
IpodPlaylist
Prop
Type
Accessibility
- Arrow keys move, Enter and Space select, Escape goes back.
- Wheel buttons are labeled, and status changes are announced.