import { useRef, useState } from "preact/hooks"; import { t } from "../../services/i18n"; import FormGroup from "../react/FormGroup"; import FormRadioGroup from "../react/FormRadioGroup"; import Modal from "../react/Modal"; import NoteAutocomplete from "../react/NoteAutocomplete"; import ReactBasicWidget from "../react/ReactBasicWidget"; import Button from "../react/Button"; import { Suggestion, triggerRecentNotes } from "../../services/note_autocomplete"; import tree from "../../services/tree"; import froca from "../../services/froca"; import EditableTextTypeWidget from "../type_widgets/editable_text"; import useTriliumEvent from "../react/hooks"; function IncludeNoteDialogComponent() { const [textTypeWidget, setTextTypeWidget] = useState(); const [suggestion, setSuggestion] = useState(null); const [boxSize, setBoxSize] = useState("medium"); const [shown, setShown] = useState(false); useTriliumEvent("showIncludeNoteDialog", ({ textTypeWidget }) => { setTextTypeWidget(textTypeWidget); setShown(true); }); const autoCompleteRef = useRef(null); return ( triggerRecentNotes(autoCompleteRef.current)} onHidden={() => setShown(false)} onSubmit={() => { if (!suggestion?.notePath || !textTypeWidget) { return; } setShown(false); includeNote(suggestion.notePath, textTypeWidget); }} footer={