import { resizeImage } from '@/web/utils/common' import dayjs from 'dayjs' import { cx, css } from '@emotion/css' import { useNavigate, useParams } from 'react-router-dom' import Image from '@/web/components/Image' import useArtistAlbums from '@/web/api/hooks/useArtistAlbums' import { useMemo } from 'react' import useArtistMV from '@/web/api/hooks/useArtistMV' import { motion } from 'framer-motion' import { useTranslation } from 'react-i18next' import uiStates from '@/web/states/uiStates' const Album = ({ album }: { album?: Album }) => { const navigate = useNavigate() if (!album) { return <> } return (
navigate(`/album/${album.id}`)} className='group flex rounded-24 bg-white/10 p-2.5 transition-colors duration-400 hover:bg-white/20' >
{album.name}
{album.type} {album.size > 1 ? `ยท ${album.size} Tracks` : ''}
{dayjs(album?.publishTime || 0).format('MMM DD, YYYY')}
) } const Video = ({ video }: { video?: any }) => { return ( <> {video && (
(uiStates.playingVideoID = video.id)} >
{video.name}
MV
{dayjs(video.publishTime).format('MMM DD, YYYY')}
)} ) } const LatestRelease = () => { const { t } = useTranslation() const params = useParams() const { data: albumsRaw, isLoading: isLoadingAlbums } = useArtistAlbums({ id: Number(params.id) || 0, limit: 1000, }) const album = useMemo(() => albumsRaw?.hotAlbums?.[0], [albumsRaw?.hotAlbums]) const { data: videos, isLoading: isLoadingVideos } = useArtistMV({ id: Number(params.id) || 0, }) const video = videos?.mvs?.[0] return ( <> {!isLoadingVideos && !isLoadingAlbums && (
{t`artist.latest-releases`}
)} ) } export default LatestRelease