import { Music2 } from "lucide-react"; import { format } from "date-fns"; import { DiscoverPlaylist, DiscoverConfig } from "../types"; interface DiscoverHeroProps { playlist: DiscoverPlaylist | null; config: DiscoverConfig | null; } export function DiscoverHero({ playlist, config }: DiscoverHeroProps) { // Calculate total duration const totalDuration = playlist?.tracks?.reduce((sum, t) => sum + (t.duration || 0), 0) || 0; const formatTotalDuration = (seconds: number) => { const hours = Math.floor(seconds / 3600); const mins = Math.floor((seconds % 3600) / 60); if (hours > 0) { return `about ${hours} hr ${mins} min`; } return `${mins} min`; }; return (
{/* Icon */}
{/* Info - Bottom Aligned */}

Playlist

Discover Weekly

Your personalized playlist of new music, curated based on your listening history.

{playlist && ( <> Week of{" "} {format( new Date(playlist.weekStart), "MMM d, yyyy" )} {playlist.totalCount} songs {totalDuration > 0 && ( , {formatTotalDuration(totalDuration)} )} )} {config?.lastGeneratedAt && ( <> Updated{" "} {format( new Date(config.lastGeneratedAt), "MMM d" )} )}
); }