import type { Body, Meta, PartialTree } from '@uppy/core' import type { I18n } from '@uppy/utils' import classNames from 'classnames' import { useMemo } from 'preact/hooks' import type ProviderView from './ProviderView/ProviderView.js' import getNumberOfSelectedFiles from './utils/PartialTreeUtils/getNumberOfSelectedFiles.js' export default function FooterActions({ cancelSelection, donePicking, i18n, partialTree, validateAggregateRestrictions, }: { cancelSelection: ProviderView['cancelSelection'] donePicking: ProviderView['donePicking'] i18n: I18n partialTree: PartialTree validateAggregateRestrictions: ProviderView< M, B >['validateAggregateRestrictions'] }) { const aggregateRestrictionError = useMemo(() => { return validateAggregateRestrictions(partialTree) }, [partialTree, validateAggregateRestrictions]) const nOfSelectedFiles = useMemo(() => { return getNumberOfSelectedFiles(partialTree) }, [partialTree]) if (nOfSelectedFiles === 0) { return null } return (
{aggregateRestrictionError && (
{aggregateRestrictionError}
)}
) }