diff --git a/frontend/src/components/shared/rightRail/ViewerAnnotationControls.tsx b/frontend/src/components/shared/rightRail/ViewerAnnotationControls.tsx index 42dbbb5a8..0b9d9a754 100644 --- a/frontend/src/components/shared/rightRail/ViewerAnnotationControls.tsx +++ b/frontend/src/components/shared/rightRail/ViewerAnnotationControls.tsx @@ -10,6 +10,7 @@ import { useFileState, useFileContext } from '../../../contexts/FileContext'; import { generateThumbnailWithMetadata } from '../../../utils/thumbnailUtils'; import { createProcessedFile } from '../../../contexts/file/fileActions'; import { createStirlingFile, createNewStirlingFileStub } from '../../../types/fileContext'; +import { useNavigationState } from '../../../contexts/NavigationContext'; interface ViewerAnnotationControlsProps { currentView: string; @@ -32,6 +33,10 @@ export default function ViewerAnnotationControls({ currentView }: ViewerAnnotati const { actions: fileActions } = useFileContext(); const activeFiles = selectors.getFiles(); + // Check if we're in sign mode + const { selectedTool } = useNavigationState(); + const isSignMode = selectedTool === 'sign'; + // Turn off annotation mode when switching away from viewer useEffect(() => { if (currentView !== 'viewer' && viewerContext?.isAnnotationMode) { @@ -39,6 +44,11 @@ export default function ViewerAnnotationControls({ currentView }: ViewerAnnotati } }, [currentView, viewerContext]); + // Don't show any annotation controls in sign mode + if (isSignMode) { + return null; + } + return ( <> {/* Annotation Visibility Toggle */} diff --git a/frontend/src/components/tools/sign/SignSettings.tsx b/frontend/src/components/tools/sign/SignSettings.tsx index 9585bad1c..1bc72d840 100644 --- a/frontend/src/components/tools/sign/SignSettings.tsx +++ b/frontend/src/components/tools/sign/SignSettings.tsx @@ -116,6 +116,13 @@ const SignSettings = ({ } }, [parameters.signatureType, parameters.signerName, parameters.fontSize, parameters.fontFamily, onActivateSignaturePlacement, onDeactivateSignature]); + // Reset to move mode when placement mode is deactivated + useEffect(() => { + if (!isPlacementMode && interactionMode === 'place') { + setInteractionMode('move'); + } + }, [isPlacementMode, interactionMode]); + // Handle signature data updates useEffect(() => { let newSignatureData: string | undefined = undefined; @@ -288,7 +295,10 @@ const SignSettings = ({ {/* Apply Signatures Button */} {onSave && (