import { ColorInput, Stack } from '@mantine/core'; import { Switch, Select } from '/@/renderer/components'; import { SettingsSection, SettingOption, } from '/@/renderer/features/settings/components/settings-section'; import { THEME_DATA } from '/@/renderer/hooks'; import { useGeneralSettings, useSettingsStoreActions } from '/@/renderer/store/settings.store'; import { AppTheme } from '/@/renderer/themes/types'; import isElectron from 'is-electron'; import { useTranslation } from 'react-i18next'; const localSettings = isElectron() ? window.electron.localSettings : null; export const ThemeSettings = () => { const { t } = useTranslation(); const settings = useGeneralSettings(); const { setSettings } = useSettingsStoreActions(); const themeOptions: SettingOption[] = [ { control: ( { setSettings({ general: { ...settings, followSystemTheme: e.currentTarget.checked, }, }); if (localSettings) { localSettings.themeSet( e.currentTarget.checked ? 'system' : settings.theme === AppTheme.DEFAULT_DARK ? 'dark' : 'light', ); } }} /> ), description: t('setting.useSystemTheme', { context: 'description', postProcess: 'sentenceCase', }), isHidden: false, title: t('setting.useSystemTheme', { postProcess: 'sentenceCase' }), }, { control: ( { setSettings({ general: { ...settings, themeDark: e as AppTheme, }, }); }} /> ), description: t('setting.themeDark', { context: 'description', postProcess: 'sentenceCase', }), isHidden: !settings.followSystemTheme, title: t('setting.themeDark', { postProcess: 'sentenceCase' }), }, { control: (