"use client"; import { Card, Group, Text, Badge, Box } from "@mantine/core"; import { useState } from "react"; import type { AlbumTheme } from "@/lib/themes"; import type { Track } from "@/lib/ListTypes"; import TrackModal from "./TrackModal"; import { twMerge } from "tailwind-merge"; interface TrackCardProps { track: Track; index: number; theme: AlbumTheme; } export default function TrackCard({ track, index, theme }: TrackCardProps) { const [modalOpened, setModalOpened] = useState(false); return ( <> setModalOpened(true)} className={twMerge( "transition-all duration-300 hover:scale-105 hover:cursor-pointer hover:shadow-lg", theme.card.background, theme.card.backgroundHover, theme.card.border, )} style={{}} > {index + 1} {track.label} {track.studioUrl && ( Studio )} {track.emilyLive && ( Emily Live )} {track.lpLive && ( LP Live )} {track.lpTV && ( LP TV )} {track.duration} setModalOpened(false)} track={track} theme={theme} /> ); }