Allow clicking of internal links

This commit is contained in:
RobbyV2 2025-07-19 11:07:58 -07:00
parent 6b03d9c946
commit 12e30f4ecf

View file

@ -15,6 +15,11 @@ interface PDFViewerProps {
zoomLevel: number;
}
interface OnItemClickArgs {
pageNumber?: number;
dest?: unknown;
}
export function PDFViewer({ zoomLevel }: PDFViewerProps) {
const containerRef = useRef<HTMLDivElement>(null);
const scaleRef = useRef<number>(1);
@ -28,6 +33,7 @@ export function PDFViewer({ zoomLevel }: PDFViewerProps) {
currentSentence,
stopAndPlayFromIndex,
isProcessing,
skipToLocation,
} = useTTS();
// PDF context
@ -167,6 +173,17 @@ export function PDFViewer({ zoomLevel }: PDFViewerProps) {
onLoadSuccess={(pdf) => {
onDocumentLoadSuccess(pdf);
}}
onItemClick={(args: OnItemClickArgs) => {
if (args?.pageNumber) {
skipToLocation(args.pageNumber, true);
} else if (args?.dest) {
const destArray = Array.isArray(args.dest) ? args.dest : [];
const pageNum = typeof destArray[0] === 'number' ? destArray[0] + 1 : undefined;
if (pageNum) {
skipToLocation(pageNum, true);
}
}
}}
className="flex flex-col items-center m-0 z-0"
>
<div>