diff --git a/frontend/src/metabase/collections/containers/CollectionContent.jsx b/frontend/src/metabase/collections/containers/CollectionContent.jsx index 264e513b91b7845823538c15bab9cd37c03fd35f..fa64121183ef3f815966e6f3fe7d2f41b8a0a8a0 100644 --- a/frontend/src/metabase/collections/containers/CollectionContent.jsx +++ b/frontend/src/metabase/collections/containers/CollectionContent.jsx @@ -3,6 +3,7 @@ import { useEffect, useState, useCallback } from "react"; import { useDropzone } from "react-dropzone"; import { connect } from "react-redux"; import { usePrevious } from "react-use"; +import { t } from "ttag"; import _ from "underscore"; import ErrorBoundary from "metabase/ErrorBoundary"; @@ -22,6 +23,8 @@ import Search from "metabase/entities/search"; import { useListSelect } from "metabase/hooks/use-list-select"; import { usePagination } from "metabase/hooks/use-pagination"; import { useToggle } from "metabase/hooks/use-toggle"; +import { useDispatch } from "metabase/lib/redux"; +import { addUndo } from "metabase/redux/undo"; import { uploadFile } from "metabase/redux/uploads"; import { getIsNavbarOpen } from "metabase/selectors/app"; import { getSetting } from "metabase/selectors/settings"; @@ -142,7 +145,19 @@ function CollectionContent({ setIsBookmarked(shouldBeBookmarked); }, [bookmarks, collectionId]); + const dispatch = useDispatch(); + const onDrop = acceptedFiles => { + if (!acceptedFiles.length) { + dispatch( + addUndo({ + message: t`Invalid file type`, + toastColor: "error", + icon: "warning", + }), + ); + return; + } saveFile(acceptedFiles[0]); };