import { useState } from "preact/hooks"; import { EventData } from "../../components/app_context"; import { closeActiveDialog, openDialog } from "../../services/dialog"; import { t } from "../../services/i18n"; import tree from "../../services/tree"; import Button from "../react/Button"; import FormCheckbox from "../react/FormCheckbox"; import FormFileUpload from "../react/FormFileUpload"; import FormGroup from "../react/FormGroup"; import Modal from "../react/Modal"; import RawHtml from "../react/RawHtml"; import ReactBasicWidget from "../react/ReactBasicWidget"; import importService, { UploadFilesOptions } from "../../services/import"; interface ImportDialogComponentProps { parentNoteId?: string; noteTitle?: string; } function ImportDialogComponent({ parentNoteId, noteTitle }: ImportDialogComponentProps) { const [ files, setFiles ] = useState(null); const [ safeImport, setSafeImport ] = useState(true); const [ explodeArchives, setExplodeArchives ] = useState(true); const [ shrinkImages, setShrinkImages ] = useState(true); const [ textImportedAsText, setTextImportedAsText ] = useState(true); const [ codeImportedAsCode, setCodeImportedAsCode ] = useState(true); const [ replaceUnderscoresWithSpaces, setReplaceUnderscoresWithSpaces ] = useState(true); return (parentNoteId && { if (!files) { return; } const options: UploadFilesOptions = { safeImport: boolToString(safeImport), shrinkImages: boolToString(shrinkImages), textImportedAsText: boolToString(textImportedAsText), codeImportedAsCode: boolToString(codeImportedAsCode), explodeArchives: boolToString(explodeArchives), replaceUnderscoresWithSpaces: boolToString(replaceUnderscoresWithSpaces) }; closeActiveDialog(); await importService.uploadFiles("notes", parentNoteId, Array.from(files), options); }} footer={