mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-02-01 20:10:35 +01:00
fix(annotations): fix error 300 on sign frontend (#5536)
# Description of Changes the bug https://github.com/user-attachments/assets/7f524c95-e57a-4188-a7a9-8d3020a3bb47 <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [X] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [X] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [X] I have performed a self-review of my own code - [X] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [X] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
This commit is contained in:
parent
0ca4600371
commit
64b33ea62b
@ -83,7 +83,10 @@ export const Tooltip: React.FC<TooltipProps> = ({
|
||||
}
|
||||
}, []);
|
||||
|
||||
const sidebarContext = sidebarTooltip ? useSidebarContext() : null;
|
||||
// Always call the hook unconditionally to satisfy React's rules of hooks.
|
||||
// The context is only used when sidebarTooltip is true.
|
||||
const sidebarContextValue = useSidebarContext();
|
||||
const sidebarContext = sidebarTooltip ? sidebarContextValue : null;
|
||||
|
||||
const isControlled = controlledOpen !== undefined;
|
||||
const open = (isControlled ? !!controlledOpen : internalOpen) && !disabled;
|
||||
|
||||
@ -55,11 +55,6 @@ export default function ViewerAnnotationControls({ currentView, disabled = false
|
||||
const isAnnotateActive = selectedTool === 'annotate';
|
||||
const annotationsHidden = viewerContext ? !viewerContext.isAnnotationsVisible : false;
|
||||
|
||||
// Don't show any annotation controls in sign mode
|
||||
if (isSignMode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Persist annotations to file if there are unsaved changes
|
||||
const saveAnnotationsIfNeeded = async () => {
|
||||
if (!viewerContext?.exportActions?.saveAsCopy || currentView !== 'viewer' || !historyApiRef?.current?.canUndo()) return;
|
||||
@ -135,6 +130,11 @@ export default function ViewerAnnotationControls({ currentView, disabled = false
|
||||
}
|
||||
};
|
||||
|
||||
// Don't show any annotation controls in sign mode
|
||||
// NOTE: This early return is placed AFTER all hooks to satisfy React's rules of hooks
|
||||
if (isSignMode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@ -54,8 +54,10 @@ function FileContextInner({
|
||||
}: FileContextProviderProps) {
|
||||
const [state, dispatch] = useReducer(fileContextReducer, initialFileContextState);
|
||||
|
||||
// IndexedDB context for persistence
|
||||
const indexedDB = enablePersistence ? useIndexedDB() : null;
|
||||
// Always call the hook unconditionally to satisfy React's rules of hooks.
|
||||
// IndexedDB context is only used when enablePersistence is true.
|
||||
const indexedDBValue = useIndexedDB();
|
||||
const indexedDB = enablePersistence ? indexedDBValue : null;
|
||||
|
||||
// File ref map - stores File objects outside React state
|
||||
const filesRef = useRef<Map<FileId, File>>(new Map());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user