import { workspacesAtom } from "@yaakapp-internal/models"; import { ExportDataDialog } from "../components/ExportDataDialog"; import { showAlert } from "../lib/alert"; import { showDialog } from "../lib/dialog"; import { jotaiStore } from "../lib/jotai"; import { showToast } from "../lib/toast"; import { activeWorkspaceAtom } from "./useActiveWorkspace"; import { useFastMutation } from "./useFastMutation"; export function useExportData() { return useFastMutation({ mutationKey: ["export_data"], onError: (err: string) => { showAlert({ id: "export-failed", title: "Export Failed", body: err }); }, mutationFn: async () => { const activeWorkspace = jotaiStore.get(activeWorkspaceAtom); const workspaces = jotaiStore.get(workspacesAtom); if (activeWorkspace == null || workspaces.length === 0) return; showDialog({ id: "export-data", title: "Export Data", size: "md", noPadding: true, render: ({ hide }) => ( { showToast({ color: "success", message: "Data export successful", }); }} /> ), }); }, }); }