mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-02-17 13:52:14 +01:00
Clean up
This commit is contained in:
parent
90880eddf9
commit
2e2d8477b9
@ -85,7 +85,7 @@ const SignSettings = ({
|
||||
});
|
||||
if (data) {
|
||||
// Clear image data when canvas is used
|
||||
setImageSignatureData(prev => prev ? null : prev);
|
||||
setImageSignatureData(null);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -22,12 +22,12 @@ export interface SignatureAPIBridgeProps {}
|
||||
|
||||
export const SignatureAPIBridge = forwardRef<SignatureAPI, SignatureAPIBridgeProps>((_props, ref) => {
|
||||
const { provides: annotationApi } = useAnnotationCapability();
|
||||
const { signatureConfig, storeImageData } = useSignature();
|
||||
const { signatureConfig, storeImageData, isPlacementMode } = useSignature();
|
||||
|
||||
|
||||
// Enable keyboard deletion of selected annotations
|
||||
// Enable keyboard deletion of selected annotations - only when in signature placement mode
|
||||
useEffect(() => {
|
||||
if (!annotationApi) return;
|
||||
if (!annotationApi || !isPlacementMode) return;
|
||||
|
||||
const handleKeyDown = (event: KeyboardEvent) => {
|
||||
if (event.key === 'Delete' || event.key === 'Backspace') {
|
||||
@ -68,7 +68,7 @@ export const SignatureAPIBridge = forwardRef<SignatureAPI, SignatureAPIBridgePro
|
||||
|
||||
document.addEventListener('keydown', handleKeyDown);
|
||||
return () => document.removeEventListener('keydown', handleKeyDown);
|
||||
}, [annotationApi, storeImageData]);
|
||||
}, [annotationApi, storeImageData, isPlacementMode]);
|
||||
|
||||
useImperativeHandle(ref, () => ({
|
||||
addImageSignature: (signatureData: string, x: number, y: number, width: number, height: number, pageIndex: number) => {
|
||||
|
||||
@ -25,7 +25,12 @@ export async function flattenSignatures(options: SignatureFlatteningOptions): Pr
|
||||
if (signatureApiRef?.current) {
|
||||
console.log('Extracting annotations from all pages...');
|
||||
|
||||
for (let pageIndex = 0; pageIndex < 10; pageIndex++) {
|
||||
// Dynamically check all pages until we encounter consecutive errors
|
||||
let pageIndex = 0;
|
||||
let consecutiveErrors = 0;
|
||||
const maxConsecutiveErrors = 3; // Stop after 3 consecutive page access failures
|
||||
|
||||
while (consecutiveErrors < maxConsecutiveErrors) {
|
||||
try {
|
||||
const pageAnnotations = await signatureApiRef.current.getPageAnnotations(pageIndex);
|
||||
if (pageAnnotations && pageAnnotations.length > 0) {
|
||||
@ -55,9 +60,15 @@ export async function flattenSignatures(options: SignatureFlatteningOptions): Pr
|
||||
console.log(`Found ${sessionAnnotations.length} session annotations on page ${pageIndex + 1} (out of ${pageAnnotations.length} total)`);
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
if (pageIndex > 2) break; // Stop after checking first few pages
|
||||
|
||||
// Reset consecutive error count on successful page access
|
||||
consecutiveErrors = 0;
|
||||
} catch (pageError) {
|
||||
consecutiveErrors++;
|
||||
console.warn(`Error extracting annotations from page ${pageIndex + 1} (error ${consecutiveErrors}/${maxConsecutiveErrors}):`, pageError);
|
||||
}
|
||||
|
||||
pageIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user