fix text infinite loop

This commit is contained in:
Reece
2025-09-26 18:12:13 +01:00
parent 2b6b7a8e1d
commit 1be48c276b
2 changed files with 16 additions and 11 deletions

View File

@@ -242,7 +242,7 @@ const SignSettings = ({
{onSave && ( {onSave && (
<Button <Button
onClick={onSave} onClick={onSave}
color="green" color="blue"
variant="filled" variant="filled"
fullWidth fullWidth
> >

View File

@@ -23,9 +23,20 @@ const Sign = (props: BaseToolProps) => {
const activeModeRef = useRef<'draw' | 'placement' | null>(null); const activeModeRef = useRef<'draw' | 'placement' | null>(null);
// Single handler that activates placement mode // Single handler that activates placement mode
const handleSignaturePlacement = () => { const handleSignaturePlacement = useCallback(() => {
activateSignaturePlacementMode(); activateSignaturePlacementMode();
}; }, [activateSignaturePlacementMode]);
// Memoized callbacks for SignSettings to prevent infinite loops
const handleActivateDrawMode = useCallback(() => {
activeModeRef.current = 'draw';
activateDrawMode();
}, [activateDrawMode]);
const handleActivateSignaturePlacement = useCallback(() => {
activeModeRef.current = 'placement';
handleSignaturePlacement();
}, [handleSignaturePlacement]);
const base = useBaseTool( const base = useBaseTool(
'sign', 'sign',
@@ -122,14 +133,8 @@ const Sign = (props: BaseToolProps) => {
parameters={base.params.parameters} parameters={base.params.parameters}
onParameterChange={base.params.updateParameter} onParameterChange={base.params.updateParameter}
disabled={base.endpointLoading} disabled={base.endpointLoading}
onActivateDrawMode={() => { onActivateDrawMode={handleActivateDrawMode}
activeModeRef.current = 'draw'; onActivateSignaturePlacement={handleActivateSignaturePlacement}
activateDrawMode();
}}
onActivateSignaturePlacement={() => {
activeModeRef.current = 'placement';
handleSignaturePlacement();
}}
onDeactivateSignature={deactivateDrawMode} onDeactivateSignature={deactivateDrawMode}
onUpdateDrawSettings={updateDrawSettings} onUpdateDrawSettings={updateDrawSettings}
onUndo={undo} onUndo={undo}