import { Group, Stack } from '@mantine/core'; import { forwardRef, Fragment, Ref } from 'react'; import { useParams } from 'react-router'; import { LibraryItem } from '/@/renderer/api/types'; import { Text } from '/@/renderer/components'; import { useAlbumArtistDetail } from '/@/renderer/features/artists/queries/album-artist-detail-query'; import { LibraryHeader } from '/@/renderer/features/shared'; import { useContainerQuery } from '/@/renderer/hooks'; import { AppRoute } from '/@/renderer/router/routes'; import { formatDurationString } from '/@/renderer/utils'; interface AlbumArtistDetailHeaderProps { background: string; } export const AlbumArtistDetailHeader = forwardRef( ({ background }: AlbumArtistDetailHeaderProps, ref: Ref) => { const { albumArtistId } = useParams() as { albumArtistId: string }; const detailQuery = useAlbumArtistDetail({ id: albumArtistId }); const cq = useContainerQuery(); const metadataItems = [ { id: 'albumCount', secondary: false, value: detailQuery?.data?.albumCount && `${detailQuery?.data?.albumCount} albums`, }, { id: 'songCount', secondary: false, value: detailQuery?.data?.songCount && `${detailQuery?.data?.songCount} songs`, }, { id: 'duration', secondary: true, value: detailQuery?.data?.duration && formatDurationString(detailQuery.data.duration), }, ]; return ( {metadataItems .filter((i) => i.value) .map((item, index) => ( {index > 0 && } {item.value} ))} ); }, );