import { useEffect, useState } from "preact/hooks"; import { t } from "../../services/i18n"; import { MetadataResponse, NoteSizeResponse, SubtreeSizeResponse } from "@triliumnext/commons"; import server from "../../services/server"; import Button from "../react/Button"; import { formatDateTime } from "../../utils/formatters"; import { formatSize } from "../../services/utils"; import LoadingSpinner from "../react/LoadingSpinner"; import { useTriliumEvent } from "../react/hooks"; import { isExperimentalFeatureEnabled } from "../../services/experimental_features"; import FNote from "../../entities/fnote"; const isNewLayout = isExperimentalFeatureEnabled("new-layout"); export default function NoteInfoTab({ note }: { note: FNote | null | undefined }) { const { metadata, ...sizeProps } = useNoteMetadata(note); return (
{note && ( <>
{t("note_info_widget.note_id")}: {note.noteId}
{!isNewLayout &&
{t("note_info_widget.created")}: {formatDateTime(metadata?.dateCreated)}
} {!isNewLayout &&
{t("note_info_widget.modified")}: {formatDateTime(metadata?.dateModified)}
}
{t("note_info_widget.type")}: {note.type}{' '} {note.mime && ({note.mime})}
{t("note_info_widget.note_size")}:
)}
); } export function NoteSizeWidget({ isLoading, noteSizeResponse, subtreeSizeResponse, requestSizeInfo }: Omit, "metadata">) { return <> {!isLoading && !noteSizeResponse && !subtreeSizeResponse && (