mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-29 07:34:11 +00:00
* feat: add base and radix docs * feat: transform code for display * fix * fix * fix * fix * fix * chore: remove claude files * fix * fix * fix * chore: run format:write * fix * feat: add more examples * fix * feat: add aspect-ratio * feat: add avatar * feat: add badge * feat: add breadcrumb * fix * feat: add button * fix * fix * fix * feat: add calendar and card * feat: add carousel * fix: chart * feat: add checkbox * feat: add collapsible * feat: add combobox * feat: add command * feat: add context menu * feat: add data-table dialog and drawer * feat: dropdown-menu * feat: add date-picker * feat: add empty * feat: add field and hover-card * fix: input * feat: add input * feat: add input-group * feat: add input-otp * feat: add item * feat: add kbd and label * feat: add menubar * feat: add native-select * feat: add more components * feat: more components * feat: more components * feat: add skeleton, slider and sonner * feat: add spinner and switch * feat: add more components * fix: tabs * fix: tabs * feat: add docs for sidebar * fix * fix * fi * docs: update * fix: create page * fix * fix * chore: add changelog * fix
68 lines
1.6 KiB
TypeScript
68 lines
1.6 KiB
TypeScript
import Image from "next/image"
|
|
import {
|
|
Item,
|
|
ItemContent,
|
|
ItemDescription,
|
|
ItemGroup,
|
|
ItemMedia,
|
|
ItemTitle,
|
|
} from "@/examples/base/ui/item"
|
|
|
|
const music = [
|
|
{
|
|
title: "Midnight City Lights",
|
|
artist: "Neon Dreams",
|
|
album: "Electric Nights",
|
|
duration: "3:45",
|
|
},
|
|
{
|
|
title: "Coffee Shop Conversations",
|
|
artist: "The Morning Brew",
|
|
album: "Urban Stories",
|
|
duration: "4:05",
|
|
},
|
|
{
|
|
title: "Digital Rain",
|
|
artist: "Cyber Symphony",
|
|
album: "Binary Beats",
|
|
duration: "3:30",
|
|
},
|
|
]
|
|
|
|
export function ItemImage() {
|
|
return (
|
|
<div className="flex w-full max-w-md flex-col gap-6">
|
|
<ItemGroup className="gap-4">
|
|
{music.map((song) => (
|
|
<Item
|
|
key={song.title}
|
|
variant="outline"
|
|
render={<a href="#" />}
|
|
role="listitem"
|
|
>
|
|
<ItemMedia variant="image">
|
|
<Image
|
|
src={`https://avatar.vercel.sh/${song.title}`}
|
|
alt={song.title}
|
|
width={32}
|
|
height={32}
|
|
className="object-cover grayscale"
|
|
/>
|
|
</ItemMedia>
|
|
<ItemContent>
|
|
<ItemTitle className="line-clamp-1">
|
|
{song.title} -{" "}
|
|
<span className="text-muted-foreground">{song.album}</span>
|
|
</ItemTitle>
|
|
<ItemDescription>{song.artist}</ItemDescription>
|
|
</ItemContent>
|
|
<ItemContent className="flex-none text-center">
|
|
<ItemDescription>{song.duration}</ItemDescription>
|
|
</ItemContent>
|
|
</Item>
|
|
))}
|
|
</ItemGroup>
|
|
</div>
|
|
)
|
|
}
|