import { observer } from "mobx-react"; import { DownloadIcon } from "outline-icons"; import * as React from "react"; import { useTranslation, Trans } from "react-i18next"; import FileOperation from "~/models/FileOperation"; import Button from "~/components/Button"; import Heading from "~/components/Heading"; import PaginatedList from "~/components/PaginatedList"; import Scene from "~/components/Scene"; import Text from "~/components/Text"; import useCurrentUser from "~/hooks/useCurrentUser"; import useStores from "~/hooks/useStores"; import useToasts from "~/hooks/useToasts"; import ExportDialog from "../../components/ExportDialog"; import FileOperationListItem from "./components/FileOperationListItem"; function Export() { const { t } = useTranslation(); const user = useCurrentUser(); const { fileOperations, dialogs } = useStores(); const { showToast } = useToasts(); const handleOpenDialog = React.useCallback( async (ev: React.SyntheticEvent) => { ev.preventDefault(); dialogs.openModal({ title: t("Export data"), isCentered: true, content: , }); }, [dialogs, t] ); const handleDelete = React.useCallback( async (fileOperation: FileOperation) => { try { await fileOperations.delete(fileOperation); showToast(t("Export deleted")); } catch (err) { showToast(err.message, { type: "error", }); } }, [fileOperations, showToast, t] ); return ( }> {t("Export")} , }} />
Recent exports } renderItem={(item: FileOperation) => ( )} />
); } export default observer(Export);