import { formatDate, formatDuration, resizeImage } from '@/web/utils/common'
import { css, cx } from '@emotion/css'
import Icon from '@/web/components/Icon'
import dayjs from 'dayjs'
import { useMemo } from 'react'
import Image from './Image'
import useIsMobile from '@/web/hooks/useIsMobile'
const TrackListHeader = ({
album,
playlist,
onPlay,
}: {
album?: Album
playlist?: Playlist
onPlay: () => void
}) => {
const albumDuration = useMemo(() => {
const duration = album?.songs?.reduce((acc, cur) => acc + cur.dt, 0) || 0
return formatDuration(duration, 'en', 'hh[hr] mm[min]')
}, [album?.songs])
const isMobile = useIsMobile()
const cover = album?.picUrl || playlist?.coverImgUrl || ''
return (
{/* Cover */}
{/* Blur bg */}
{!isMobile && (

)}
{/* Name */}
{album?.name || playlist?.name}
{/* Creator */}
{album?.artist.name || playlist?.creator.nickname}
{/* Extra info */}
{/* Album info */}
{!!album && (
<>
{album?.mark === 1056768 && (
)}{' '}
{dayjs(album?.publishTime || 0).year()} · {album?.songs.length}{' '}
tracks, {albumDuration}
>
)}
{/* Playlist info */}
{!!playlist && (
<>
Updated at {formatDate(playlist?.updateTime || 0, 'en')} ·{' '}
{playlist.trackCount} tracks
>
)}
{/* Description */}
{!isMobile && (
{album?.description || playlist?.description}
)}
{/* Actions */}
)
}
export default TrackListHeader