mirror of
https://github.com/GiriNeko/YesPlayMusic.git
synced 2025-12-17 13:48:02 +00:00
refactor: version 2.0 (React)
This commit is contained in:
parent
7dad7d810a
commit
950f72d4e8
356 changed files with 7901 additions and 29547 deletions
59
packages/renderer/src/components/TracksGrid.tsx
Normal file
59
packages/renderer/src/components/TracksGrid.tsx
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
import ArtistInline from '@/components/ArtistsInline'
|
||||
import Skeleton from '@/components/Skeleton'
|
||||
import { resizeImage } from '@/utils/common'
|
||||
|
||||
const TrackListGrid = ({
|
||||
track,
|
||||
isSkeleton = false,
|
||||
}: {
|
||||
track: Track
|
||||
isSkeleton: boolean
|
||||
}) => {
|
||||
return (
|
||||
<div
|
||||
className={classNames(
|
||||
'group grid w-full rounded-xl after:scale-[.98] after:rounded-xl',
|
||||
'grid-cols-1 py-1.5 px-2'
|
||||
)}
|
||||
>
|
||||
<div className="grid grid-cols-[3rem_auto] items-center">
|
||||
{/* Cover */}
|
||||
<div>
|
||||
{!isSkeleton && (
|
||||
<img
|
||||
src={resizeImage(track.al.picUrl, 'xs')}
|
||||
className="box-content h-9 w-9 rounded-md border border-black border-opacity-[.03]"
|
||||
/>
|
||||
)}
|
||||
{isSkeleton && (
|
||||
<Skeleton className="mr-4 h-9 w-9 rounded-md border border-gray-100" />
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Track name & Artists */}
|
||||
<div className="flex flex-col justify-center">
|
||||
{!isSkeleton && (
|
||||
<div
|
||||
v-if="!isSkeleton"
|
||||
className="line-clamp-1 break-all text-base font-semibold"
|
||||
>
|
||||
{track.name}
|
||||
</div>
|
||||
)}
|
||||
{isSkeleton && (
|
||||
<Skeleton className="text-base">PLACEHOLDER12345</Skeleton>
|
||||
)}
|
||||
|
||||
<div className="text-xs">
|
||||
{!isSkeleton && <ArtistInline artists={track.ar} />}
|
||||
{isSkeleton && (
|
||||
<Skeleton className="w-2/3 translate-y-px">PLACE</Skeleton>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default TrackListGrid
|
||||
Loading…
Add table
Add a link
Reference in a new issue