mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-03-04 02:20:19 +01:00
fix text infinite loop
This commit is contained in:
@@ -242,7 +242,7 @@ const SignSettings = ({
|
|||||||
{onSave && (
|
{onSave && (
|
||||||
<Button
|
<Button
|
||||||
onClick={onSave}
|
onClick={onSave}
|
||||||
color="green"
|
color="blue"
|
||||||
variant="filled"
|
variant="filled"
|
||||||
fullWidth
|
fullWidth
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user