/** * settings/tabs/general.js - General Settings Tab */ import { setTheme, getSettings } from '../store.js'; import { t } from '../../i18n.js'; export function renderGeneral(container) { container.innerHTML = `

${t('identity') || 'Identity'}

${t('dark_mode')} ${t('dark_mode_desc')}

${t('editor_behavior') || 'Editor Behavior'}

${t('confirm_ungroup') || 'Confirm before Un-grouping'} ${t('confirm_ungroup_desc') || 'Show a confirmation dialog when removing an object from a group.'}

${t('language') || 'Language'}

${t('language')} ${t('select_lang_desc')}
`; } export function bindGeneralEvents(container) { const darkModeToggle = container.querySelector('#dark-mode-toggle'); if (darkModeToggle) { darkModeToggle.addEventListener('change', (e) => setTheme(e.target.checked ? 'dark' : 'light')); } const ungroupToggle = container.querySelector('#confirm-ungroup-toggle'); if (ungroupToggle) { ungroupToggle.addEventListener('change', (e) => { import('../store.js').then(m => m.updateSetting('confirmUngroup', e.target.checked)); }); } const langSelect = container.querySelector('#lang-select'); if (langSelect) { langSelect.addEventListener('change', (e) => { localStorage.setItem('drawNET_lang', e.target.value); location.reload(); }); } }