import { observer } from "mobx-react"; import * as React from "react"; import { useTranslation, Trans } from "react-i18next"; import Collection from "~/models/Collection"; import Button from "~/components/Button"; import Flex from "~/components/Flex"; import Text from "~/components/Text"; import useToasts from "~/hooks/useToasts"; type Props = { collection: Collection; onSubmit: () => void; }; function CollectionExport({ collection, onSubmit }: Props) { const [isLoading, setIsLoading] = React.useState(false); const { t } = useTranslation(); const { showToast } = useToasts(); const handleSubmit = React.useCallback( async (ev: React.SyntheticEvent) => { ev.preventDefault(); setIsLoading(true); await collection.export(); setIsLoading(false); showToast( t("Export started, you will receive an email when it’s complete.") ); onSubmit(); }, [collection, onSubmit, showToast, t] ); return (
, }} />
); } export default observer(CollectionExport);