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 && (
<Button
onClick={onSave}
color="green"
color="blue"
variant="filled"
fullWidth
>

View File

@ -23,9 +23,20 @@ const Sign = (props: BaseToolProps) => {
const activeModeRef = useRef<'draw' | 'placement' | null>(null);
// Single handler that activates placement mode
const handleSignaturePlacement = () => {
const handleSignaturePlacement = useCallback(() => {
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(
'sign',
@ -122,14 +133,8 @@ const Sign = (props: BaseToolProps) => {
parameters={base.params.parameters}
onParameterChange={base.params.updateParameter}
disabled={base.endpointLoading}
onActivateDrawMode={() => {
activeModeRef.current = 'draw';
activateDrawMode();
}}
onActivateSignaturePlacement={() => {
activeModeRef.current = 'placement';
handleSignaturePlacement();
}}
onActivateDrawMode={handleActivateDrawMode}
onActivateSignaturePlacement={handleActivateSignaturePlacement}
onDeactivateSignature={deactivateDrawMode}
onUpdateDrawSettings={updateDrawSettings}
onUndo={undo}