From 251022a298ff301755dbb3c9dafce9500efd5e3c Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Sat, 18 Oct 2025 14:56:06 +0800 Subject: [PATCH] if an important message appears make sure we don't auto-close after it's resolved fixes #2567 --- .../src/components/FileNameTemplateEditor.tsx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/components/FileNameTemplateEditor.tsx b/src/renderer/src/components/FileNameTemplateEditor.tsx index c2f864ee..22c6807b 100644 --- a/src/renderer/src/components/FileNameTemplateEditor.tsx +++ b/src/renderer/src/components/FileNameTemplateEditor.tsx @@ -43,7 +43,17 @@ function FileNameTemplateEditor(opts: { const [validText, setValidText] = useState(); const [problems, setProblems] = useState<{ error?: string | undefined, sameAsInputFileNameWarning?: boolean | undefined }>({ error: undefined, sameAsInputFileNameWarning: false }); const [fileNames, setFileNames] = useState(); - const [shown, setShown] = useState(); + + const haveImportantMessage = problems.error != null || problems.sameAsInputFileNameWarning; + const [shown, setShown] = useState(haveImportantMessage); + useEffect(() => { + // if an important message appears, make sure we don't auto-close after it's resolved + // https://github.com/mifi/lossless-cut/issues/2567 + if (haveImportantMessage) setShown(true); + }, [haveImportantMessage]); + + const needToShow = shown || haveImportantMessage; + const inputRef = useRef(null); const { t } = useTranslation(); @@ -127,9 +137,6 @@ function FileNameTemplateEditor(opts: { const onTextChange = useCallback>((e) => setText(e.target.value), []); - const haveImportantMessage = problems.error != null || problems.sameAsInputFileNameWarning; - const needToShow = shown || haveImportantMessage; - const onVariableClick = useCallback((variable: string) => { const input = inputRef.current; const startPos = input!.selectionStart;