diff --git a/src/app/(app)/pdf/[id]/page.tsx b/src/app/(app)/pdf/[id]/page.tsx index 5441aea..631af46 100644 --- a/src/app/(app)/pdf/[id]/page.tsx +++ b/src/app/(app)/pdf/[id]/page.tsx @@ -76,12 +76,14 @@ export default function PDFViewerPage() { const clearCurrDocRef = useRef(clearCurrDoc); const [isNavigatingBack, setIsNavigatingBack] = useState(false); const parseUiState: NonNullable = parseStatus ?? 'pending'; + const hasResolvedParseStatus = parseStatus !== null; const isParseReady = parseUiState === 'ready'; const forceReparseDisabled = isForceReparseDisabled(parseStatus); const hasRealParseProgress = !!parseProgress && parseProgress.totalPages > 0 && parseProgress.pagesParsed >= 0; const shouldShowExpandedParseLoader = !isLoading + && hasResolvedParseStatus && (parseUiState === 'pending' || parseUiState === 'running' || parseUiState === 'failed' || hasRealParseProgress); useEffect(() => { diff --git a/src/app/(app)/pdf/[id]/usePdfDocument.ts b/src/app/(app)/pdf/[id]/usePdfDocument.ts index 76f9b22..fe6101d 100644 --- a/src/app/(app)/pdf/[id]/usePdfDocument.ts +++ b/src/app/(app)/pdf/[id]/usePdfDocument.ts @@ -450,7 +450,7 @@ export function usePdfDocument(): PdfDocumentState { setCurrDocName(undefined); setCurrDocData(undefined); setParsedDocument(null); - setParseStatus('pending'); + setParseStatus(null); setParseProgress(null); setDocumentSettings(DEFAULT_DOCUMENT_SETTINGS); @@ -461,7 +461,10 @@ export function usePdfDocument(): PdfDocumentState { return false; } if (meta.type === 'pdf') { - startParsedPolling(id, (meta.parseStatus ?? null) as PdfParseStatus | null); + const initialParseStatus = (meta.parseStatus ?? null) as PdfParseStatus | null; + setParseStatus(initialParseStatus); + setParseProgress(null); + startParsedPolling(id, initialParseStatus); void fetchDocumentSettings(id, controller.signal); }