import { memo, useMemo } from "react"; import { Button, Classes, Collapse, Tag } from "@blueprintjs/core"; import { ListItem } from "Components/DataList"; import { ZoteroRoamLog } from "../../../api/logging"; import { useBool } from "@hooks"; import { CustomClasses } from "../../../constants"; import { makeTimestamp } from "../../../utils"; import "./_index.sass"; type OwnProps = { log: ZoteroRoamLog }; const LogEntry = memo(function LogEntry({ log }){ const [isContextOpen, { toggle: toggleContext }] = useBool(false); const hasContext = useMemo(() => JSON.stringify(log.context || {}) != "{}", [log.context]); return
{makeTimestamp(log.timestamp)} {log.level} {log.origin}
{log.message} {log.detail && {log.detail}}
{hasContext &&
{hasContext &&
{JSON.stringify(log.context, null, "  ")}
}
; }); export default LogEntry;