B: Fix reset handler

This commit is contained in:
Ivan 2025-10-31 12:02:11 +03:00
parent 58404b57ee
commit 4f8174c451
3 changed files with 8 additions and 4 deletions

View File

@ -1,6 +1,6 @@
'use client'; 'use client';
import { useRef, useState } from 'react'; import { useCallback, useRef, useState } from 'react';
import { toast } from 'react-toastify'; import { toast } from 'react-toastify';
import { type ReactCodeMirrorRef } from '@uiw/react-codemirror'; import { type ReactCodeMirrorRef } from '@uiw/react-codemirror';
@ -71,10 +71,12 @@ export function EditorRSExpression({
const { checkConstituenta: checkInternal, isPending } = useCheckConstituenta(); const { checkConstituenta: checkInternal, isPending } = useCheckConstituenta();
useResetOnChange([activeCst, toggleReset], () => { const resetHandler = useCallback(() => {
setIsModified(false); setIsModified(false);
setParseData(null); setParseData(null);
}); }, []);
useResetOnChange([activeCst, toggleReset], resetHandler);
function checkConstituenta( function checkConstituenta(
expression: string, expression: string,
@ -185,7 +187,7 @@ export function EditorRSExpression({
isModified={isModified} isModified={isModified}
activeCst={activeCst} activeCst={activeCst}
parseData={parseData} parseData={parseData}
onAnalyze={() => handleCheckExpression()} onAnalyze={handleCheckExpression}
/> />
<RSInput <RSInput

View File

@ -30,6 +30,7 @@ interface StatusBarProps {
export function StatusBar({ className, isModified, processing, activeCst, parseData, onAnalyze }: StatusBarProps) { export function StatusBar({ className, isModified, processing, activeCst, parseData, onAnalyze }: StatusBarProps) {
const status = (() => { const status = (() => {
console.log(isModified, !activeCst.parse);
if (isModified || !activeCst.parse) { if (isModified || !activeCst.parse) {
return ExpressionStatus.UNKNOWN; return ExpressionStatus.UNKNOWN;
} }

View File

@ -2,6 +2,7 @@ import { useEffect, useMemo } from 'react';
export function useResetOnChange<T>(deps: T[], resetFn: () => void) { export function useResetOnChange<T>(deps: T[], resetFn: () => void) {
const depsKey = useMemo(() => JSON.stringify(deps), [deps]); const depsKey = useMemo(() => JSON.stringify(deps), [deps]);
useEffect(() => { useEffect(() => {
resetFn(); resetFn();
}, [depsKey, resetFn]); }, [depsKey, resetFn]);