diff --git a/src/app/pdf/[id]/page.tsx b/src/app/pdf/[id]/page.tsx
index 6d6cedf..306adc6 100644
--- a/src/app/pdf/[id]/page.tsx
+++ b/src/app/pdf/[id]/page.tsx
@@ -56,8 +56,7 @@ export default function PDFViewerPage() {
{
- setText('');
- stop();
+
}}
className="inline-flex items-center px-3 py-1 bg-base text-foreground rounded-lg hover:bg-offbase transition-colors"
>
diff --git a/src/contexts/PDFContext.tsx b/src/contexts/PDFContext.tsx
index bcf68c6..3828fee 100644
--- a/src/contexts/PDFContext.tsx
+++ b/src/contexts/PDFContext.tsx
@@ -57,6 +57,7 @@ interface PDFContextType {
currDocPages: number | undefined;
currDocPage: number;
currDocText: string | undefined;
+ clearCurrDoc: () => void;
}
const PDFContext = createContext(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,
]
);
diff --git a/src/contexts/TTSContext.tsx b/src/contexts/TTSContext.tsx
index 073878e..abbb940 100644
--- a/src/contexts/TTSContext.tsx
+++ b/src/contexts/TTSContext.tsx
@@ -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(() => {