remove local state

This commit is contained in:
Víctor Losada Hernández
2026-08-27 20:25:43 +02:00
parent 2f7136f257
commit a321402556
@@ -1,8 +1,7 @@
import '../uiEditor.less'; import '../uiEditor.less';
import React, { useState } from 'react'; import React, { useState, useEffect} from 'react';
const SettingsEditor = ({ settings, updateSettings = ()=>{}, EditorThemeNameList })=>{ const SettingsEditor = ({ settings, updateSettings = ()=>{}, EditorThemeNameList })=>{
const [currentSettings, setCurrentSettings] = useState(settings);
const validations = { const validations = {
fontSize : [ fontSize : [
@@ -39,13 +38,12 @@ const SettingsEditor = ({ settings, updateSettings = ()=>{}, EditorThemeNameList
e.target.setCustomValidity(''); e.target.setCustomValidity('');
const updatedSettings = { const updatedSettings = {
...currentSettings, ...settings,
[setting] : e.target.type === 'number' [setting] : e.target.type === 'number'
? Number(value) ? Number(value)
: value, : value,
}; };
setCurrentSettings(updatedSettings);
updateSettings(updatedSettings); updateSettings(updatedSettings);
}; };
@@ -58,7 +56,7 @@ const SettingsEditor = ({ settings, updateSettings = ()=>{}, EditorThemeNameList
Select your Editor Theme Select your Editor Theme
</label> </label>
<div className='value'> <div className='value'>
<select value={currentSettings.editorTheme} onChange={(e)=>handleFieldChange('editorTheme', e)} > <select id="changeEditorTheme" value={settings.editorTheme} onChange={(e)=>handleFieldChange('editorTheme', e)} >
{EditorThemeNameList.map((theme, key)=>{ {EditorThemeNameList.map((theme, key)=>{
return <option key={key} value={theme}>{theme}</option>; return <option key={key} value={theme}>{theme}</option>;
})} })}
@@ -75,7 +73,7 @@ const SettingsEditor = ({ settings, updateSettings = ()=>{}, EditorThemeNameList
id='autoCloseBrackets' id='autoCloseBrackets'
type='checkbox' type='checkbox'
name='autoCloseBrackets' name='autoCloseBrackets'
checked={currentSettings.autoCloseBrackets} checked={settings.autoCloseBrackets}
onChange={(e)=>handleFieldChange('autoCloseBrackets', e)} onChange={(e)=>handleFieldChange('autoCloseBrackets', e)}
/> />
</div> </div>
@@ -90,7 +88,7 @@ const SettingsEditor = ({ settings, updateSettings = ()=>{}, EditorThemeNameList
id='showImagePreviews' id='showImagePreviews'
type='checkbox' type='checkbox'
name='showImagePreviews' name='showImagePreviews'
checked={currentSettings.showImagePreviews} checked={settings.showImagePreviews}
onChange={(e)=>handleFieldChange('showImagePreviews', e)} onChange={(e)=>handleFieldChange('showImagePreviews', e)}
/> />
</div> </div>
@@ -105,7 +103,7 @@ const SettingsEditor = ({ settings, updateSettings = ()=>{}, EditorThemeNameList
id='activeLineShading' id='activeLineShading'
type='checkbox' type='checkbox'
name='activeLineShading' name='activeLineShading'
checked={currentSettings.activeLineShading} checked={settings.activeLineShading}
onChange={(e)=>handleFieldChange('activeLineShading', e)} onChange={(e)=>handleFieldChange('activeLineShading', e)}
/> />
</div> </div>
@@ -119,7 +117,7 @@ const SettingsEditor = ({ settings, updateSettings = ()=>{}, EditorThemeNameList
id='lineNumbers' id='lineNumbers'
type='checkbox' type='checkbox'
name='lineNumbers' name='lineNumbers'
checked={currentSettings.lineNumbers} checked={settings.lineNumbers}
onChange={(e)=>handleFieldChange('lineNumbers', e)} onChange={(e)=>handleFieldChange('lineNumbers', e)}
/> />
</div> </div>
@@ -138,7 +136,7 @@ const SettingsEditor = ({ settings, updateSettings = ()=>{}, EditorThemeNameList
min={9} min={9}
max={30} max={30}
name='fontSize' name='fontSize'
value={currentSettings.fontSize} value={settings.fontSize}
onChange={(e)=>handleFieldChange('fontSize', e)} onChange={(e)=>handleFieldChange('fontSize', e)}
/> />
</div> </div>