Fix increment page

This commit is contained in:
Richard Roberson 2025-01-25 23:47:19 -07:00
parent de1ad2c4da
commit 34d9d4715c
3 changed files with 19 additions and 6 deletions

View file

@ -56,8 +56,7 @@ export default function PDFViewerPage() {
<Link
href="/"
onClick={() => {
setText('');
stop();
}}
className="inline-flex items-center px-3 py-1 bg-base text-foreground rounded-lg hover:bg-offbase transition-colors"
>

View file

@ -57,6 +57,7 @@ interface PDFContextType {
currDocPages: number | undefined;
currDocPage: number;
currDocText: string | undefined;
clearCurrDoc: () => void;
}
const PDFContext = createContext<PDFContextType | undefined>(undefined);
@ -268,6 +269,17 @@ export function PDFProvider({ children }: { children: ReactNode }) {
}
}, [getDocument, loadCurrDocText]);
const clearCurrDoc = useCallback(() => {
setCurrDocName(undefined);
setCurrDocURL(undefined);
setCurrDocText(undefined);
setCurrDocPages(undefined);
// Clear TTS text
setTTSText('');
}, []);
// Clear all highlights in the PDF viewer
const clearHighlights = useCallback(() => {
const textNodes = document.querySelectorAll('.react-pdf__Page__textContent span');
@ -463,6 +475,7 @@ export function PDFProvider({ children }: { children: ReactNode }) {
currDocPages,
currDocPage,
currDocText,
clearCurrDoc,
}),
[
documents,
@ -482,6 +495,7 @@ export function PDFProvider({ children }: { children: ReactNode }) {
currDocPages,
currDocPage,
currDocText,
clearCurrDoc,
]
);

View file

@ -53,7 +53,7 @@ interface TTSContextType {
setCurrentIndex: (index: number) => void;
currDocPage: number;
currDocPages: number | undefined;
setCurrDocPages: (num: number) => void;
setCurrDocPages: (num: number | undefined) => void;
incrementPage: (num?: number) => void;
skipToPage: (page: number) => void;
}
@ -126,8 +126,8 @@ export function TTSProvider({ children }: { children: React.ReactNode }) {
const incrementPage = useCallback((num = 1) => {
setNextPageLoading(true);
setCurrDocPage((prev) => prev + num);
}, []);
setCurrDocPage(currDocPage + num);
}, [currDocPage]);
const advance = useCallback(async (backwards = false) => {
setCurrentIndex((prev) => {
@ -154,7 +154,7 @@ export function TTSProvider({ children }: { children: React.ReactNode }) {
}
return prev;
});
}, [sentences, currDocPage, currDocPages]);
}, [sentences, currDocPage, currDocPages, incrementPage]);
const skipForward = useCallback(() => {