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 FormRadioGroup from "../react/FormRadioGroup"; import Modal from "../react/Modal"; import ReactBasicWidget from "../react/ReactBasicWidget"; import "./export.css"; import ws from "../../services/ws"; import toastService, { ToastOptions } from "../../services/toast"; import utils from "../../services/utils"; import open from "../../services/open"; import froca from "../../services/froca"; interface ExportDialogProps { branchId?: string | null; noteTitle?: string; defaultType?: "subtree" | "single"; } function ExportDialogComponent({ branchId, noteTitle, defaultType }: ExportDialogProps) { const [ exportType, setExportType ] = useState(defaultType ?? "subtree"); const [ subtreeFormat, setSubtreeFormat ] = useState("html"); const [ singleFormat, setSingleFormat ] = useState("html"); const [ opmlVersion, setOpmlVersion ] = useState("2.0"); return (branchId && { const format = (exportType === "subtree" ? subtreeFormat : singleFormat); const version = (format === "opml" ? opmlVersion : "1.0"); exportBranch(branchId, exportType, format, version); closeActiveDialog(); }} footer={