diff --git a/src/editor/ScriptEditor.jsx b/src/editor/ScriptEditor.jsx index ce52d5d..d26f4a5 100644 --- a/src/editor/ScriptEditor.jsx +++ b/src/editor/ScriptEditor.jsx @@ -348,20 +348,9 @@ function ScriptEditor({ value, onSave, onRunSolo, isSoloRunning, scriptId, targe onLanguageChange(lang, nextCode); return; } - // Код не пустой — показываем кастомную модалку. - // ВАЖНО: lang захвачен через map'a, но localCode и onLanguageChange - // надо взять из ref'ов на момент confirm, иначе stale closure. - const targetLang = lang; - setConfirmState({ - title: `Сменить язык на ${targetLang === 'lua' ? 'Lua' : 'JavaScript'}?`, - message: `Код останется как есть — синтаксис прежнего языка перестанет подсвечиваться, но текст не исчезнет. Можно переключиться обратно в любой момент.`, - confirmLabel: `Сменить на ${targetLang === 'lua' ? 'Lua' : 'JS'}`, - cancelLabel: 'Отмена', - onConfirm: () => { - // Берём актуальное значение из ref (не stale closure) - onLanguageChange(targetLang, localCodeRef.current); - }, - }); + // Код не пустой — переключаем сразу, без модалки. + // Код остаётся как есть, только подсветка синтаксиса меняется. + onLanguageChange(lang, localCodeRef.current); }} style={{ padding: '4px 12px',