import React, {Fragment, PropsWithChildren, ReactElement} from 'react'; import {JsonPlayObject, TrackStringOptions} from "../../core/Atomic"; import {buildTrackString} from "../../core/StringUtils"; import {buildTrackStringReactOptions} from "../utils/index"; interface PlayObjectProps { data: JsonPlayObject artistLength?: number trackLength?: number buildOptions?: TrackStringOptions & {includeWeb?: boolean} } const PlayDisplay = (props: PlayObjectProps) => { const { data, artistLength, trackLength, buildOptions = {}, } = props || {}; const { transformers, includeWeb, ...restBuild } = buildOptions; const bOpts: TrackStringOptions = { ...restBuild, transformers: { ...buildTrackStringReactOptions.transformers, ...transformers, track: (t, data, hasExistingParts) => { const existingPartPrefix = hasExistingParts ? `- ` : ''; if(includeWeb && data.meta.url?.web !== undefined) { return {existingPartPrefix}{t} } return {existingPartPrefix}{t}; } } } return buildTrackString(data, bOpts); } export default PlayDisplay;