Fix suggestions

This commit is contained in:
Reece 2025-09-26 17:16:17 +01:00
parent 2e2d8477b9
commit 3aa8572c9e
6 changed files with 11 additions and 17 deletions

View File

@ -41,7 +41,6 @@ export const DrawingCanvas: React.FC<DrawingCanvasProps> = ({
const [isDrawing, setIsDrawing] = useState(false);
const [isModalDrawing, setIsModalDrawing] = useState(false);
const [isModalOpen, setIsModalOpen] = useState(false);
const [, setSignatureData] = useState<string | null>(null);
// Drawing functions for main canvas
const startDrawing = useCallback((e: React.MouseEvent<HTMLCanvasElement>) => {
@ -89,7 +88,6 @@ export const DrawingCanvas: React.FC<DrawingCanvasProps> = ({
// Save canvas as signature data
if (canvasRef.current) {
const dataURL = canvasRef.current.toDataURL('image/png');
setSignatureData(dataURL);
onSignatureDataChange(dataURL);
}
}, [isDrawing, disabled, onSignatureDataChange]);
@ -149,7 +147,6 @@ export const DrawingCanvas: React.FC<DrawingCanvasProps> = ({
// Sync the canvases and update signature data (only when drawing stops)
if (modalCanvasRef.current) {
const dataURL = modalCanvasRef.current.toDataURL('image/png');
setSignatureData(dataURL);
onSignatureDataChange(dataURL);
// Also update the small canvas display
@ -183,7 +180,6 @@ export const DrawingCanvas: React.FC<DrawingCanvasProps> = ({
}
}
setSignatureData(null);
onSignatureDataChange(null);
}
}, [disabled]);
@ -212,7 +208,6 @@ export const DrawingCanvas: React.FC<DrawingCanvasProps> = ({
}
}
setSignatureData(null);
onSignatureDataChange(null);
}, []);
@ -220,7 +215,6 @@ export const DrawingCanvas: React.FC<DrawingCanvasProps> = ({
if (!modalCanvasRef.current) return;
const dataURL = modalCanvasRef.current.toDataURL('image/png');
setSignatureData(dataURL);
onSignatureDataChange(dataURL);
// Copy to small canvas for display

View File

@ -109,7 +109,7 @@ const SignSettings = ({
onDeactivateSignature();
}
}
}, [parameters.signatureType, parameters.signerName]);
}, [parameters.signatureType, parameters.signerName, onActivateSignaturePlacement, onDeactivateSignature]);
// Handle signature data updates
useEffect(() => {

View File

@ -11,10 +11,7 @@ export interface HistoryAPI {
canRedo: () => boolean;
}
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
export interface HistoryAPIBridgeProps {}
export const HistoryAPIBridge = forwardRef<HistoryAPI, HistoryAPIBridgeProps>(function HistoryAPIBridge(_props, ref) {
export const HistoryAPIBridge = forwardRef<HistoryAPI, {}>((_props, ref) => {
const { provides: historyApi } = useHistoryCapability();
const { provides: annotationApi } = useAnnotationCapability();
const { getImageData, storeImageData } = useSignature();

View File

@ -17,10 +17,7 @@ export interface SignatureAPI {
getPageAnnotations: (pageIndex: number) => Promise<any[]>;
}
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
export interface SignatureAPIBridgeProps {}
export const SignatureAPIBridge = forwardRef<SignatureAPI, SignatureAPIBridgeProps>((_props, ref) => {
export const SignatureAPIBridge = forwardRef<SignatureAPI, {}>((_props, ref) => {
const { provides: annotationApi } = useAnnotationCapability();
const { signatureConfig, storeImageData, isPlacementMode } = useSignature();

View File

@ -106,7 +106,7 @@ const Sign = (props: BaseToolProps) => {
} catch (error) {
console.error('Error saving signed document:', error);
}
}, [exportActions, base.selectedFiles, selectors, consumeFiles, signatureApiRef, getImageData, flattenSignatures, setWorkbench, activateDrawMode]);
}, [exportActions, base.selectedFiles, selectors, consumeFiles, signatureApiRef, getImageData, setWorkbench, activateDrawMode]);
const getSteps = () => {
const steps = [];

View File

@ -4,13 +4,19 @@ import { createProcessedFile } from '../contexts/file/fileActions';
import { createNewStirlingFileStub, createStirlingFile, StirlingFile, FileId, StirlingFileStub } from '../types/fileContext';
import type { SignatureAPI } from '../components/viewer/SignatureAPIBridge';
interface MinimalFileContextSelectors {
getAllFileIds: () => FileId[];
getStirlingFileStub: (id: FileId) => StirlingFileStub | undefined;
getFile: (id: FileId) => StirlingFile | undefined;
}
interface SignatureFlatteningOptions {
signatureApiRef: React.RefObject<SignatureAPI | null>;
getImageData: (id: string) => string | undefined;
exportActions?: {
saveAsCopy: () => Promise<ArrayBuffer | null>;
};
selectors: any; // FileContextSelectors - using any to avoid complex type matching
selectors: MinimalFileContextSelectors;
consumeFiles: (inputFileIds: FileId[], outputStirlingFiles: StirlingFile[], outputStirlingFileStubs: StirlingFileStub[]) => Promise<FileId[]>;
originalFile?: StirlingFile;
}