diff --git a/app/actions/definitions/developer.tsx b/app/actions/definitions/developer.tsx
index b030f573f5..5466e13f97 100644
--- a/app/actions/definitions/developer.tsx
+++ b/app/actions/definitions/developer.tsx
@@ -36,6 +36,24 @@ export const createTestUsers = createAction({
},
});
+export const createToast = createAction({
+ name: "Create toast",
+ section: DeveloperSection,
+ visible: () => env.ENVIRONMENT === "development",
+ perform: async () => {
+ stores.toasts.showToast("Hello world", {
+ type: "info",
+ timeout: 30000,
+ action: {
+ text: "Click me",
+ onClick: () => {
+ stores.toasts.showToast("Clicked!");
+ },
+ },
+ });
+ },
+});
+
export const toggleDebugLogging = createAction({
name: ({ t }) => t("Toggle debug logging"),
icon: ,
@@ -56,7 +74,7 @@ export const developer = createAction({
icon: ,
iconInContextMenu: false,
section: DeveloperSection,
- children: [clearIndexedDB, toggleDebugLogging, createTestUsers],
+ children: [clearIndexedDB, toggleDebugLogging, createToast, createTestUsers],
});
export const rootDeveloperActions = [developer];
diff --git a/app/components/ExportDialog.tsx b/app/components/ExportDialog.tsx
index 231b36edff..6cd9f96a26 100644
--- a/app/components/ExportDialog.tsx
+++ b/app/components/ExportDialog.tsx
@@ -11,6 +11,8 @@ import env from "~/env";
import useCurrentUser from "~/hooks/useCurrentUser";
import useStores from "~/hooks/useStores";
import useToasts from "~/hooks/useToasts";
+import history from "~/utils/history";
+import { settingsPath } from "~/utils/routeHelpers";
type Props = {
collection?: Collection;
@@ -46,11 +48,25 @@ function ExportDialog({ collection, onSubmit }: Props) {
const handleSubmit = async () => {
if (collection) {
await collection.export(format, includeAttachments);
+ showToast(
+ t(`Your file will be available in {{ location }} soon`, {
+ location: `"${t("Settings")} > ${t("Export")}"`,
+ }),
+ {
+ type: "success",
+ action: {
+ text: t("Go to exports"),
+ onClick: () => {
+ history.push(settingsPath("export"));
+ },
+ },
+ }
+ );
} else {
await collections.export(format, includeAttachments);
+ showToast(t("Export started"), { type: "success" });
}
onSubmit();
- showToast(t("Export started"), { type: "success" });
};
const items = [
diff --git a/shared/i18n/locales/en_US/translation.json b/shared/i18n/locales/en_US/translation.json
index e947305b9c..b5b0f7f7c3 100644
--- a/shared/i18n/locales/en_US/translation.json
+++ b/shared/i18n/locales/en_US/translation.json
@@ -191,6 +191,8 @@
"{{userName}} published": "{{userName}} published",
"{{userName}} unpublished": "{{userName}} unpublished",
"{{userName}} moved": "{{userName}} moved",
+ "Your file will be available in {{ location }} soon": "Your file will be available in {{ location }} soon",
+ "Go to exports": "Go to exports",
"Export started": "Export started",
"A ZIP file containing the images, and documents in the Markdown format.": "A ZIP file containing the images, and documents in the Markdown format.",
"A ZIP file containing the images, and documents as HTML files.": "A ZIP file containing the images, and documents as HTML files.",