From 483d87e38c19149afcd0db22d243b6d8037e71dc Mon Sep 17 00:00:00 2001 From: Innei Date: Mon, 24 Jun 2024 15:49:11 +0800 Subject: [PATCH] fix: entry content processing, if local db data broken Signed-off-by: Innei --- src/renderer/src/modules/entry-content/index.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/modules/entry-content/index.tsx b/src/renderer/src/modules/entry-content/index.tsx index 900bac195..0a97a2105 100644 --- a/src/renderer/src/modules/entry-content/index.tsx +++ b/src/renderer/src/modules/entry-content/index.tsx @@ -37,23 +37,24 @@ export const EntryContent = ({ entryId }: { entryId: ActiveEntryId }) => { } function EntryContentRender({ entryId }: { entryId: string }) { - const { error } = useBizQuery(Queries.entries.byId(entryId), { + const { error, data } = useBizQuery(Queries.entries.byId(entryId), { staleTime: 300_000, }) const entry = useEntry(entryId) - const [content, setContent] = useState() useEffect(() => { - if (entry?.entries.content) { - parseHtml(entry?.entries.content).then((parsed) => { + // Fallback data, if local data is broken should fallback to cached query data. + const processContent = entry?.entries.content ?? data?.entries.content + if (processContent) { + parseHtml(processContent).then((parsed) => { setContent(parsed.content) }) } else { setContent(undefined) } - }, [entry?.entries.content]) + }, [data?.entries.content, entry?.entries.content]) const translation = useBizQuery( Queries.ai.translation({