fix: entry content processing, if local db data broken

Signed-off-by: Innei <i@innei.in>
This commit is contained in:
Innei 2024-06-24 15:49:11 +08:00
parent c969627c68
commit 483d87e38c
No known key found for this signature in database
GPG Key ID: 0F62D33977F021F7
1 changed files with 6 additions and 5 deletions

View File

@ -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<JSX.Element>()
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({