summaryrefslogtreecommitdiff
path: root/apps/web/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/components')
-rw-r--r--apps/web/src/components/editor/export-button.tsx18
-rw-r--r--apps/web/src/components/providers/editor-provider.tsx2
2 files changed, 19 insertions, 1 deletions
diff --git a/apps/web/src/components/editor/export-button.tsx b/apps/web/src/components/editor/export-button.tsx
index e738fb68..5e724384 100644
--- a/apps/web/src/components/editor/export-button.tsx
+++ b/apps/web/src/components/editor/export-button.tsx
@@ -34,6 +34,8 @@ import {
} from "@/components/section";
import { useEditor } from "@/editor/use-editor";
import { DEFAULT_EXPORT_OPTIONS } from "@/export/defaults";
+import { getDesktopBridge } from "@/desktop/bridge";
+import { toast } from "sonner";
function isExportFormat(value: string): value is ExportFormat {
return EXPORT_FORMAT_VALUES.some((formatValue) => formatValue === value);
@@ -128,6 +130,22 @@ function ExportPopover({
return;
}
+ const filePath = result.success ? result.filePath : undefined;
+ if (result.success && filePath) {
+ toast.success(`Export saved to ${filePath}`, {
+ action: {
+ label: "Reveal",
+ onClick: () => {
+ getDesktopBridge()?.revealFile(filePath);
+ },
+ },
+ });
+
+ editor.project.clearExportState();
+ onOpenChange(false);
+ return;
+ }
+
if (result.success && result.buffer) {
downloadBuffer({
buffer: result.buffer,
diff --git a/apps/web/src/components/providers/editor-provider.tsx b/apps/web/src/components/providers/editor-provider.tsx
index fdc84af0..96c8a306 100644
--- a/apps/web/src/components/providers/editor-provider.tsx
+++ b/apps/web/src/components/providers/editor-provider.tsx
@@ -59,7 +59,7 @@ export function EditorProvider({ projectId, children }: EditorProviderProps) {
const newProjectId = await editor.project.createNewProject({
name: "Untitled Project",
});
- router.replace(`/editor/${newProjectId}`);
+ router.replace(`/editor?project=${newProjectId}`);
} catch (_createErr) {
setError("Failed to create project");
setIsLoading(false);