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 <Link
href="/" href="/"
onClick={() => { onClick={() => {
setText('');
stop();
}} }}
className="inline-flex items-center px-3 py-1 bg-base text-foreground rounded-lg hover:bg-offbase transition-colors" 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; currDocPages: number | undefined;
currDocPage: number; currDocPage: number;
currDocText: string | undefined; currDocText: string | undefined;
clearCurrDoc: () => void;
} }
const PDFContext = createContext<PDFContextType | undefined>(undefined); const PDFContext = createContext<PDFContextType | undefined>(undefined);
@ -268,6 +269,17 @@ export function PDFProvider({ children }: { children: ReactNode }) {
} }
}, [getDocument, loadCurrDocText]); }, [getDocument, loadCurrDocText]);
const clearCurrDoc = useCallback(() => {
setCurrDocName(undefined);
setCurrDocURL(undefined);
setCurrDocText(undefined);
setCurrDocPages(undefined);
// Clear TTS text
setTTSText('');
}, []);
// Clear all highlights in the PDF viewer // Clear all highlights in the PDF viewer
const clearHighlights = useCallback(() => { const clearHighlights = useCallback(() => {
const textNodes = document.querySelectorAll('.react-pdf__Page__textContent span'); const textNodes = document.querySelectorAll('.react-pdf__Page__textContent span');
@ -463,6 +475,7 @@ export function PDFProvider({ children }: { children: ReactNode }) {
currDocPages, currDocPages,
currDocPage, currDocPage,
currDocText, currDocText,
clearCurrDoc,
}), }),
[ [
documents, documents,
@ -482,6 +495,7 @@ export function PDFProvider({ children }: { children: ReactNode }) {
currDocPages, currDocPages,
currDocPage, currDocPage,
currDocText, currDocText,
clearCurrDoc,
] ]
); );

View file

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