import { BackwardCompatibleLoadingState } from '@interval/sdk/dist/internalRpcSchema' export function getPercentComplete({ itemsCompleted, itemsInQueue, }: BackwardCompatibleLoadingState) { if (itemsCompleted === undefined || itemsInQueue === undefined) return null return `${((itemsCompleted / itemsInQueue) * 100).toFixed(2)}%` } export default function DisplayProgress(props: BackwardCompatibleLoadingState) { const percentComplete = getPercentComplete(props) return (
{(props.label ?? props.title) && (

{props.label ?? props.title}

)} {props.description && (

{props.description}

)} {percentComplete !== null && ( <>

Completed {props.itemsCompleted} of {props.itemsInQueue}

)}
) }