import React from "react"; import { FilledButton } from "../FilledButton"; import { useExcalidrawActionManager, useExcalidrawSetAppState } from "../App"; import { actionSaveFileToDisk } from "../../actions"; import { useI18n } from "../../i18n"; import { actionChangeExportEmbedScene } from "../../actions/actionExport"; export type ActionProps = { title: string; children: React.ReactNode; actionLabel: string; onClick: () => void; }; export const Action = ({ title, children, actionLabel, onClick, }: ActionProps) => { return (

{title}

{children}
); }; export const ExportToImage = () => { const { t } = useI18n(); const actionManager = useExcalidrawActionManager(); const setAppState = useExcalidrawSetAppState(); return ( { actionManager.executeAction(actionChangeExportEmbedScene, "ui", true); setAppState({ openDialog: { name: "imageExport" } }); }} > {t("overwriteConfirm.action.exportToImage.description")} ); }; export const SaveToDisk = () => { const { t } = useI18n(); const actionManager = useExcalidrawActionManager(); return ( { actionManager.executeAction(actionSaveFileToDisk, "ui"); }} > {t("overwriteConfirm.action.saveToDisk.description")} ); }; const Actions = Object.assign( ({ children }: { children: React.ReactNode }) => { return
{children}
; }, { ExportToImage, SaveToDisk, }, ); export { Actions };