import { Link, useNavigate } from "react-router"; import { t } from "@lingui/core/macro"; import { Plural, Trans } from "@lingui/react/macro"; import type { Playlist } from "../../../shared/playlist.ts"; import { relativeTime } from "../../utils/shared/relativeTime.ts"; import { playlistImageUrl, playlistUrl } from "../../utils/shared/urls.ts"; import { useAuth } from "../../hooks/auth/useAuth.ts"; import { isPlaylistVisited, isRecent, markPlaylistVisited, } from "../../utils/shared/visited.ts"; import { Tooltip } from "../shared/Tooltip.tsx"; interface PlaylistCardProps { playlist: Playlist; onDelete?: () => void; isOwner?: boolean; } export function PlaylistCard( { playlist, onDelete, isOwner }: PlaylistCardProps, ) { const navigate = useNavigate(); const { mediaToken } = useAuth(); const unread = !isOwner && isRecent(playlist.createdAt) && !isPlaylistVisited(playlist.id); function handleNavigate() { markPlaylistVisited(playlist.id); navigate(playlistUrl(playlist)); } return (
{playlist.description}
)}