import { useEffect, useState } from "preact/hooks"; import { TabContext } from "./ribbon-interface"; import { EditedNotesResponse } from "@triliumnext/commons"; import server from "../../services/server"; import { t } from "../../services/i18n"; import froca from "../../services/froca"; import NoteLink from "../react/NoteLink"; import { joinElements } from "../react/react_utils"; export default function EditedNotesTab({ note }: TabContext) { const [ editedNotes, setEditedNotes ] = useState(); useEffect(() => { if (!note) return; server.get(`edited-notes/${note.getLabelValue("dateNote")}`).then(async editedNotes => { editedNotes = editedNotes.filter((n) => n.noteId !== note.noteId); const noteIds = editedNotes.flatMap((n) => n.noteId); await froca.getNotes(noteIds, true); // preload all at once setEditedNotes(editedNotes); }); }, [ note?.noteId ]); return (
{editedNotes?.length ? (
{joinElements(editedNotes.map(editedNote => { return ( {editedNote.isDeleted ? ( {`${editedNote.title} ${t("edited_notes.deleted")}`} ) : ( <> {editedNote.notePath ? : {editedNote.title} } )} ) }), " ")}
) : (
{t("edited_notes.no_edited_notes_found")}
)}
) }