// types.ts export interface Compilation { id: string name: string duration: number tracks?: Track[] description: string color2: string color1: string color3: string } export interface Artist { id: number name: string url: string coverId: string } export interface Track { id: number order?: number compilationId: string title: string artist?: Artist | { id?: Artist } start?: number url: string coverId?: string date?: Date card?: { suit: CardSuit; value: CardRank } link?: string } export interface Playlist { id: number date: Date title: string url: string filename: string } export type BoxState = 'hide' | 'list' | 'selected' export type CardSuit = '♠' | '♣' | '♦' | '♥' export type CardRank = 'A' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | 'J' | 'Q' | 'K'